Scientific computing service system

Through the automated processing mechanism of the scientific computing service system, the inconvenience problem of scientific researchers when using scientific computing tools is solved, and the effect of simplifying calculation steps, reducing difficulty and improving efficiency is achieved.

CN119646077APending Publication Date: 2025-03-18BEIJING DP TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411755130.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-02
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

When using scientific computing tools, scientific researchers need to filter the computing host, install/configure the software running environment, write tool command lines, and process the transfer and sharing of the calculation output data, resulting in inconvenience, reduce learning and research efficiency, and increase calculation difficulty.

Method used

Provide a scientific computing service system, including a service gateway, project management module, task management module, management database, project storage module, computing node resource pool, task monitoring module and life cycle management module, to realize an automated processing mechanism and simplify the implementation steps of scientific computing by scientific researchers.

Benefits of technology

Through the automated processing mechanism, the scientific calculation implementation steps of scientific researchers are simplified, the calculation difficulty is reduced, and the calculation efficiency and learning research efficiency are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119646077A_ABST
    Figure CN119646077A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to a scientific computing service system. The system comprises a service gateway, a project management module, a task management module, a management database, a project storage module, a computing node resource pool, a task monitoring module and a life cycle management module, the service gateway is used for carrying out service request distribution on the project / task management module; the project management module is used for processing project creation / query / deletion; the task management module is used for processing mirror image / node query and task creation / query / submission / downloading / deletion; the task monitoring module is used for monitoring a task running state; and the life cycle management module is used for physically deleting the deleted database information. Scientific calculation implementation steps can be simplified, the calculation difficulty is reduced, the calculation efficiency is improved, and the learning and research efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and in particular to a scientific computing service system. Background Art

[0002] Researchers in the field of materials science often use a variety of scientific computing tools in their daily work, such as computing tools for density functional theory calculations, computing tools for molecular dynamics calculations, etc. When using these scientific computing tools, researchers usually have to select computing hosts, install / configure software operating environments, write tool command lines, and handle the transfer and sharing of computing output data by themselves. This will obviously bring a lot of inconvenience to researchers, reduce learning and research efficiency, and increase the difficulty of calculations. Summary of the invention

[0003] The purpose of the present invention is to provide a scientific computing service system for the defects of the prior art, which includes: a service gateway, a project management module, a task management module, a management database, a project storage module, a computing node resource pool, a task monitoring module and a life cycle management module; wherein the service gateway is used to manage the project / task management module for project / task management request distribution; the project management module is used to process the project creation, project query and project deletion of scientific computing projects; the task management module is used to process the image resource query of scientific computing tools, the computing node resource query of shared computing resources, and the task creation, task query, task submission, task output download and task deletion of scientific computing tasks; the task monitoring module is used to monitor the task running status according to the computing node resource pool and the management database; the life cycle management module is used to physically delete the database information marked as deleted data in the management database. The present invention provides an automated processing mechanism that can automatically perform computing host screening, scientific computing tool installation / configuration, command script execution and output data transfer and sharing based on simple configuration. Based on the scientific computing service provided by the system of the present invention, the scientific computing implementation steps of scientific researchers can be simplified, the difficulty of calculation can be reduced, the calculation efficiency can be improved, and the learning and research efficiency can be improved.

[0004] To achieve the above-mentioned purpose, an embodiment of the present invention provides a scientific computing service system, the system comprising: a service gateway, a project management module, a task management module, a management database, a project storage module, a computing node resource pool, a task monitoring module and a life cycle management module;

[0005] The service gateway is connected to the project management module and the task management module respectively; the project management module is connected to the management database and the project storage module; the task management module is connected to the management database, the project storage module and the computing node resource pool; the task monitoring module is connected to the management database and the computing node resource pool; the life cycle management module is connected to the management database;

[0006] The service gateway is used to receive a first service request sent by any first client; extract the corresponding first service type and first request instruction from the first service request; and identify the first service type; if the first service type is a project management class, forward the first request instruction to the project management module, and send the first service feedback sent back by the project management module back to the current first client; if the first service type is a task management class, forward the first request instruction to the task management module, and send the second service feedback sent back by the task management module back to the current first client; the first service request includes the first service type and the first request instruction; the first service type includes a project management class and a task management class; when the first service type is a project management class, the first request instruction includes a first instruction type and a first instruction parameter; the first instruction type includes at least project creation, project query and project deletion; when the first service type is a task management class, the first request instruction includes a second instruction type and a second instruction parameter; the second instruction type includes at least image query, node query, task creation, task query, task submission, task download and task deletion;

[0007] The project management module is used to extract the corresponding first instruction type and the first instruction parameter from the first request instruction; and identify the first instruction type; if the first instruction type is project creation, then the corresponding project creation processing is performed according to the first instruction parameter, the management database and the project storage module, and the processing result is used as the corresponding first service feedback; if the first instruction type is project query, then the corresponding project information query processing is performed according to the first instruction parameter and the management database, and the query result is used as the corresponding first service feedback; if the first instruction type is project deletion, then the corresponding project information deletion processing is performed according to the first instruction parameter, the management database and the project storage module, and the processing result is used as the corresponding first service feedback; and the obtained first service feedback is sent back to the service gateway;

[0008] The task management module is used to extract the corresponding second instruction type and the second instruction parameter from the second request instruction; and identify the second instruction type; if the second instruction type is image query, then the corresponding image information query processing is performed according to the second instruction parameter and the management database and the query result is used as the corresponding second service feedback; if the second instruction type is node query, then the corresponding computing node information query processing is performed according to the second instruction parameter and the management database and the query result is used as the corresponding second service feedback; if the first instruction type is task creation, then the corresponding task creation processing is performed according to the second instruction parameter and the management database and the processing result is used as the corresponding second service feedback; if the first instruction type is task query, then the corresponding computing node information query processing is performed according to the second instruction parameter and the management database and the processing result is used as the corresponding second service feedback. The management database performs corresponding task information query processing and uses the query result as the corresponding second service feedback; if the first instruction type is task submission, then the corresponding task submission processing is performed according to the second instruction parameter, the management database and the computing node resource pool, and the processing result is used as the corresponding second service feedback; if the first instruction type is task downloading, then the corresponding task downloading processing is performed according to the second instruction parameter, the management database, the computing node resource pool and the project storage module, and the processing result is used as the corresponding second service feedback; if the first instruction type is task deletion, then the corresponding task deletion processing is performed according to the second instruction parameter and the management database, and the processing result is used as the corresponding second service feedback; and the obtained second service feedback is sent back to the service gateway;

[0009] The task monitoring module is used to monitor the task running status according to the computing node resource pool and the management database; the life cycle management module is used to physically delete the database information marked as deleted data in the management database.

[0010] Preferably, the management database is used to store a user information library, a mirror information library, a node information library, a project information library and a task information library;

[0011] The user information database includes a plurality of first registered user records; the first registered user record includes a first registered user identifier and a first user name;

[0012] The image information library includes multiple first image records; each of the first image records corresponds to a scientific computing tool; the first image record includes a first image identifier, a first image name, a first image version, a first image storage address and a first hardware configuration requirement; the first image name and the first image version are the tool name and software version of the current scientific computing tool; the first image storage address is the software image resource download address of the current scientific computing tool; the first hardware configuration requirement is the minimum hardware configuration requirement required for the current scientific computing tool operating environment; the first hardware configuration requirement at least includes the minimum CPU core number requirement, the minimum memory requirement, the GPU option requirement and the minimum GPU video memory requirement; the minimum CPU core number requirement is the minimum configuration of the total number of CPU cores required for the current scientific computing tool operating environment; the minimum memory requirement is the minimum configuration of the memory capacity required for the current scientific computing tool operating environment; the GPU option requirement includes requiring a GPU and not requiring a GPU; when the GPU option requirement is that a GPU is required, the minimum GPU video memory requirement is the minimum configuration of the GPU video memory capacity required for the current scientific computing tool operating environment; when the GPU option requirement is that a GPU is not required, the minimum GPU video memory requirement is empty;

[0013] The node information library includes multiple first node records; the first node records correspond one-to-one to the first computing nodes in the computing node resource pool; the first node record includes a first node identifier, a first node IP address, a first node model name, a first node hardware configuration, a first node hourly unit price, and a first node occupancy status; the first node IP address is the network IP address of the current computing node; the first node model name is the model name of the host corresponding to the current computing node, and the corresponding host of the current computing node is a physical host or a virtual machine; the first node hardware configuration is the hardware configuration information of the current computing node, including at least the number of host CPU cores, the host memory capacity, the host GPU model and the host GPU video memory capacity, and when the host GPU model is empty, the corresponding host GPU video memory capacity is also empty; the first node occupancy status includes occupied and idle;

[0014] The project information base includes a plurality of first project records; the first project record includes a first project identifier, a first project creator identifier, a first project name, a first storage area identifier, a first member identifier set and a first project status; the first member identifier set includes one or more of the first member identifiers; the first project status includes normal and deleted;

[0015] The task information library includes a plurality of first task records; the first task record includes a first task identifier, a first task creator identifier, a first task name, a first belonging project name, a first task image name, a first task image version, a first input file set, a first data set, a first script, a first machine model name, a first CPU core number, a first memory, a first GPU model, a first GPU video memory, a first hourly price, a first SSH connection login name, a first SSH login password, a first task node identifier and a first task status; the first task status includes created, submitting, running, ended, downloaded and deleted;

[0016] The project storage module is a data storage management system; the project storage module is used to store and manage multiple first project storage areas; and when each first project storage area is added, an initial storage capacity and a corresponding unique storage area identifier are allocated to the current first project storage area; and when the ratio of the actual storage capacity to the maximum storage capacity of each first project storage area exceeds a preset first ratio threshold, the current first project storage area is automatically expanded; and when each first project storage area is deleted, the storage resources and storage capacity of the current first project storage area are released; the first project storage areas correspond to the first project records one by one; the storage data access rights of each first project storage area are open to the registered users corresponding to the first member identifier set of the current first project record only when the first project status of the corresponding first project record is normal;

[0017] The computing node resource pool is a computing node resource management environment, which is composed of multiple first computing nodes; the computing node resource pool can be jointly built by one or more computing node clusters, clouds or platforms.

[0018] Preferably, when the first instruction type is project creation, the first instruction parameter includes the name of the project to be created, the project creator identifier and project member group information; when the project member group information is not empty, it is composed of one or more project member identifiers; the project creator identifier and each of the project member identifiers are registered user identifiers of the current system;

[0019] When the first instruction type is a project query, the first instruction parameter includes a project queryer identifier and a query project name; when the query project name is empty, it indicates that a full project query is performed on all projects created by the current queryer or participated in as a group member; when the query project name is not empty, it indicates that a targeted query is performed on a specified project created by the current queryer or participated in as a group member;

[0020] When the first instruction type is project deletion, the first instruction parameter includes a project deleter identifier and a deleted project name; when the deleted project name is empty, it indicates that all projects created by the current deleter are deleted; when the deleted project name is not empty, it indicates that the specified project created by the current deleter is deleted in a targeted manner;

[0021] When the second instruction type is image query or node query, the second instruction parameter is empty;

[0022] When the second instruction type is task creation, the second instruction parameter includes a task creator identifier and a task configuration file; the task creator identifier is a registered user identifier of the current system; the task configuration file includes at least a creation task name, a task project name, a computing tool image name, a computing tool image version, a computing input file set, a computing input data set, a computing task execution script, a task node model name, a task node CPU core number, a task node memory, a task node GPU model, a task node GPU video memory, a task node hourly unit price, a task node SSH connection login name, and a task node SSH login password; when the computing input file set is not empty, it is composed of one or more computing input files; the computing input data set, the task node GPU model, and the task node GPU video memory are optional parameters and can be empty;

[0023] When the second instruction type is task query, the second instruction parameters include the task queryer identifier, the query task project name and the query task name; when the query task project name and the query task name are both empty, it indicates that a full-project task query is performed on all tasks created by the current queryer; when only the query task name is empty, it indicates that a full-task query is performed on all tasks created by the current queryer in the specified project; when both the query task project name and the query task name are not empty, it indicates that a targeted query is performed on the specified task created by the current queryer in the specified project;

[0024] When the second instruction type is task submission, the second instruction parameters include the task submitter identifier, the project name to which the submitted task belongs, and the submitted task name;

[0025] When the second instruction type is task download, the second instruction parameters include the task downloader identifier, the name of the download task project, and the download task name;

[0026] When the second instruction type is task deletion, the second instruction parameters include the task deleter identifier, the name of the project to which the deleted task belongs, and the deleted task name; when the name of the project to which the deleted task belongs and the deleted task name are both empty, it means that all tasks created by the current deleter will be deleted; when only the deleted task name is empty, it means that all tasks created by the current deleter in the specified project will be deleted; when both the name of the project to which the deleted task belongs and the deleted task name are not empty, it means that the specified task created by the current deleter in the specified project will be deleted in a targeted manner.

[0027] Preferably, the project management module is specifically used for performing corresponding project creation processing according to the first instruction parameter, the management database and the project storage module and using the processing result as the corresponding first service feedback:

[0028] Step 41, extracting the corresponding created project name, the project creator identifier and the project member group information from the first instruction parameter;

[0029] Step 42, taking the project creator identifier and each of the project member identifiers of the project member group information as the corresponding current user identifier; taking the first registered user record in the user information database that matches the first registered user identifier with the current user identifier as the corresponding matching user record; and identifying whether all the obtained matching user records are not empty; if so, go to step 43; if not, set the corresponding first processing result as creation failure, and go to step 45;

[0030] Step 43, record the first project record in the project information library, in which the first task creator identifier matches the project creator identifier, the first project name matches the created project name, and the first project status is normal, as the corresponding current matching project record; and identify whether the current matching project record is empty; if so, go to step 44; if not, set the corresponding first processing result to creation failure, and go to step 45;

[0031] Step 44, adding a new first project record as the corresponding current newly added record in the project information library; and assigning a unique identifier to the current newly added record as the corresponding current project identifier; and applying to the project storage module to add a new first project storage area to be bound to the current newly added record, and using the unique storage area identifier of the currently bound first project storage area as the corresponding current storage area identifier; and setting the first project identifier of the current newly added record to the corresponding current project identifier, the first project creator identifier to the corresponding project creator identifier, the first project name to the corresponding created project name, the first storage area identifier to the corresponding current storage area identifier, the first member identifier set to the corresponding project member group information, and the first project status to normal; and when the setting of the current newly added record is completed, setting the corresponding first processing result to creation success;

[0032] Step 45: Use the obtained first processing result as the corresponding first service feedback.

[0033] Preferably, the project management module is specifically configured to: when performing corresponding project information query processing according to the first instruction parameter and the management database and using the query result as the corresponding first service feedback:

[0034] Step 51, extracting the corresponding project queryer identifier and the query project name from the first instruction parameter;

[0035] Step 52, if the query project name is empty, then the first project creator identifier in the project information library is matched with the project query identifier, or there is a first member identifier in the first member identifier set that matches the project query identifier, and the first project status is normal, and the first project record is extracted to form the corresponding first query result;

[0036] Step 53, if the query project name is not empty, extract the first project record in the project information library in which the first project creator identifier matches the project query identifier or there is a first member identifier in the first member identifier set that matches the project query identifier, and the first project name matches the query project name, and the first project status is normal, as the corresponding current project record; and assign a corresponding access entry address to the first project storage area corresponding to the current project record, recorded as the corresponding current project storage area access address; and the current project record and the current project storage area access address constitute the corresponding first query result;

[0037] Step 54: Use the obtained first query result as the corresponding first service feedback.

[0038] Preferably, the project management module is specifically used for performing corresponding project information deletion processing according to the first instruction parameter, the management database and the project storage module and using the processing result as the corresponding first service feedback:

[0039] Step 61, extracting the corresponding item deleter identifier and the deleted item name from the first instruction parameter;

[0040] Step 62: if the name of the deleted project is empty, the first project records in the project information library whose first project creator identifier matches the project deleter identifier and whose first project status is normal are recorded as corresponding records of the project to be deleted; and when the total number of the records of the project to be deleted is greater than 0, the first project status of all the records of the project to be deleted is reset to deleted, and an application is made to the project storage module to delete the first project storage area bound to all the records of the project to be deleted; and the corresponding second processing result is set to be deleted successfully;

[0041] Step 63, if the deleted project name is not empty, the first project record in the project information library, in which the first project creator identifier matches the project deleter identifier, the first project name matches the deleted project name, and the first project status is normal, is recorded as the corresponding current project record to be deleted; and it is identified whether the current project record to be deleted is empty; if so, the corresponding second processing result is set to deletion failure; if not, the first project status of the current project record to be deleted is reset to deleted, and an application is made to the project storage module to delete the first project storage area bound to the current project record to be deleted, and the corresponding second processing result is set to deletion success;

[0042] Step 64: Use the obtained second processing result as the corresponding first service feedback.

[0043] Preferably, the task management module is specifically configured to, when performing the corresponding image information query processing according to the second instruction parameter and the management database and using the query result as the corresponding second service feedback, form the corresponding second service feedback from all the first image records of the image information library;

[0044] The task management module is specifically used to form the corresponding second service feedback from all the first node records of the node information library when the corresponding computing node information query processing is performed according to the second instruction parameters and the management database and the query result is used as the corresponding second service feedback.

[0045] Preferably, the task management module is specifically used for performing the corresponding task creation process according to the second instruction parameter and the management database and using the process result as the corresponding second service feedback:

[0046] Step 81, extracting the corresponding task creator identifier and the task configuration file from the second instruction parameter; and extracting the corresponding creation task name, task belonging project name, computing tool image name, computing tool image version, computing input file set, computing input data set, computing task execution script, task node model name, task node CPU core number, task node memory, task node GPU model, task node GPU video memory, task node hourly unit price, task node SSH connection login name and task node SSH login password from the task configuration file;

[0047] Step 82, taking the first registered user record in the user information database that matches the first registered user identifier and the task creator identifier as the corresponding current user record; and identifying whether the current user record is empty; if not, go to step 83; if so, set the corresponding third processing result to creation failure, and go to step 86;

[0048] Step 83, taking the first project record in the project information library in which the first project creator identifier matches the task creator identifier or there is a first member identifier in the first member identifier set that matches the task creator identifier and the first project status is normal as the corresponding current belonging project record; and identifying whether the current belonging project record is empty; if not, go to step 84; if yes, set the corresponding third processing result to creation failure, and go to step 86;

[0049] Step 84, record the first task record in the task information library, in which the first task creator identifier matches the task creator identifier, the first task name matches the created task name, the first belonging project name matches the task belonging project name, and the first task status is not deleted, as the corresponding current matching task record; and identify whether the current matching task record is empty; if so, go to step 85; if not, set the corresponding third processing result to creation failure, and go to step 86;

[0050] Step 85, add a new first task record in the task information library as the corresponding current newly added record; and assign a unique identifier to the current newly added record as the corresponding current task identifier; and set the first task identifier of the current newly added record to the corresponding current task identifier, set the first task creator identifier to the corresponding task creator identifier, set the first task name to the corresponding created task name, set the first belonging project name to the corresponding task belonging project name, set the first task image name to the corresponding computing tool image name, set the first task image version to the corresponding computing tool image version, set the first input file set to the slightly corresponding computing input file set, set the first data set to the corresponding computing input data set, and set the first script to the corresponding The computing task execution script, the first machine model name is set to the corresponding machine model name of the task node, the first CPU core number is set to the corresponding CPU core number of the task node, the first memory is set to the corresponding memory of the task node, the first GPU model is set to the corresponding GPU model of the task node, the first GPU video memory is set to the corresponding GPU video memory of the task node, the first hourly unit price is set to the corresponding hourly unit price of the task node, the first SSH connection login name is set to the corresponding SSH connection login name of the task node, the first SSH login password is set to the corresponding SSH login password of the task node, the first task node identifier is set to empty, and the first task status is set to created; and when the settings of the current newly added record are completed, the corresponding third processing result is set to creation success;

[0051] Step 86: Use the obtained third processing result as the corresponding second service feedback.

[0052] Preferably, the task management module is specifically configured to: when performing a corresponding task information query process according to the second instruction parameter and the management database and using the query result as the corresponding second service feedback:

[0053] Step 91, extracting the corresponding task inquirer identifier, the query task project name and the query task name from the second instruction parameter;

[0054] Step 92, if the query task belonging project name and the query task name are both empty, then all the first task creator identifiers in the task information library that match the task query identifier and whose first task status is not deleted are extracted to form a corresponding second query result;

[0055] Step 93, if the query task belonging project name is not empty but the query task name is empty, then all the first task creator identifiers in the task information library that match the task query identifier, and the first belonging project name matches the query task belonging project name, and the first task status is not deleted are extracted to form the corresponding second query result;

[0056] Step 93, if the query task belonging project name and the query task name are not empty, then the first task record in the task information library, in which the first task creator identifier matches the task query identifier, the first belonging project name matches the query task belonging project name, the first task name matches the query task name, and the first task status is not deleted, is extracted as the corresponding second query result;

[0057] Step 94: Use the obtained second query result as the corresponding second service feedback.

[0058] Preferably, the task management module is specifically used for performing corresponding task submission processing according to the second instruction parameter, the management database and the computing node resource pool and using the processing result as the corresponding second service feedback:

[0059] Step 101, extracting the corresponding task submitter identifier, the project name to which the submitted task belongs, and the submitted task name from the second instruction parameter;

[0060] Step 102, extract the first task record in the task information library, in which the first task creator identifier matches the task submitter identifier, the first belonging project name matches the submitted task belonging project name, the first task name matches the submitted task name, and the first task status is created, as the corresponding current submission record; and identify whether the current submission record is empty; if not, go to step 103; if so, set the corresponding fourth processing result to submission failure, and go to step 106;

[0061] Step 103, setting the first task status of the current submission record in the task information library to being submitted; extracting the corresponding first task image name, the first task image version, the first input file set, the first data set, the first script, the first machine model name, the first CPU core number, the first memory, the first GPU model, the first GPU video memory, the first hourly unit price, the first SSH connection login name, and the first SSH login password from the current submission record; and the first CPU core number, the first memory, the first GPU model, and the first GPU video memory form the corresponding first hardware configuration requirement;

[0062] Step 104, extract all the first node records in the node information library whose machine model names match the first machine model name, whose first node hourly unit price is less than or equal to the first hourly unit price, whose first node hardware configuration meets the first hardware configuration requirement, and whose occupancy status is idle to form a corresponding first record set; and identify the preset node preference mode; if the node preference mode is the first mode, take the first node record with the highest configuration level of the first node hardware configuration in the first record set as the corresponding current node record; if the node preference mode is the second mode, take the first node record with the lowest first node hourly unit price in the first record set as the corresponding current node record; and set the first node occupancy status of the current node record to occupied;

[0063] Wherein, the node optimization mode includes a first mode and a second mode;

[0064] Step 105: record the first image record in the image information library that matches the first image name and the first image version with the corresponding first task image name and the first task image version as the corresponding current image record; download the scientific computing tool software image resource at the first image storage address of the current image record to obtain the corresponding scientific computing tool image; use the first computing node corresponding to the current node record as the corresponding current computing node; use the first node IP address of the current node record as the corresponding current node IP address; establish an SSH connection channel with the current node IP address as the corresponding first channel; and set the login user name and login user password of the first channel to the corresponding first SSH connection login name and the first SSH login password. code; and sending the scientific computing tool image to the current computing node through the first channel; and remotely controlling the current computing node through the first channel to create a corresponding container instance based on the scientific computing tool image and using the obtained container as the corresponding scientific computing container; and sending the first input file set, the first data set and the first script to the container environment of the scientific computing container through the first channel for storage; and executing the first script in the container environment of the scientific computing container; and after the first script starts to execute, closing the first channel, and setting the first task node identifier of the current submission record in the task information library to the first node identifier of the current node record, and the first task state to running; and setting the corresponding fourth processing result to submission success;

[0065] Step 106: Use the obtained fourth processing result as the corresponding second service feedback.

[0066] Preferably, the task management module is specifically used for performing the corresponding task download processing according to the second instruction parameter, the management database, the computing node resource pool and the project storage module and using the processing result as the corresponding second service feedback:

[0067] Step 111, extracting the corresponding task downloader identifier, the download task project name and the download task name from the second instruction parameter;

[0068] Step 112, taking the first task record in the task information library in which the first task creator identifier matches the task downloader identifier, the first task name matches the download task name, and the first attribution project name matches the download task attribution project name as the corresponding current task record; and identifying whether the first task status of the current task record is ended; if so, go to step 113; if not, set the corresponding fifth processing result to download failure, and go to step 114;

[0069] Step 113, using the first SSH connection login name, the first SSH login password, and the first task node identifier of the current task record as the corresponding current login name, current login password, and current node identifier; and using the first node record in the node information library that matches the first node identifier with the current node identifier as the corresponding current node record; and using the first computing node corresponding to the current node record as the corresponding current computing node; and using the first node IP address of the current node record as the corresponding current node IP address; and establishing an SSH connection channel with the current node IP address as the corresponding second channel, and remotely logging in to the current computing node through the second channel according to the current login name and the current login password; and after successful login, using the second channel to log in to the current directory in the container environment of the scientific computing container on the current computing node. Switch to the default calculation output directory, and pack and compress all files in the current directory to obtain the corresponding calculation output directory compression package, and download the calculation output directory compression package to the local cache directory of the task management module through the second channel; and after the download is successful, remotely control the current computing node through the second channel to delete the scientific computing container and the corresponding scientific computing tool image; and after the container is successfully deleted, close the second channel, and reset the first node occupancy state recorded by the current node to idle, and copy the calculation output directory compression package from the cache directory to the corresponding first project storage area in the project storage module; and when the copy is successful, delete the calculation output directory compression package in the cache directory, and set the first task state of the current task record in the task information library to downloaded; and set the corresponding fifth processing result to download successfully;

[0070] Step 114: Use the obtained fifth processing result as the corresponding second service feedback.

[0071] Preferably, the task management module is specifically used for performing corresponding task deletion processing according to the second instruction parameter and the management database and using the processing result as the corresponding second service feedback:

[0072] Step 121, extracting the corresponding task deleter identifier, the name of the deleted task project and the deleted task name from the second instruction parameter;

[0073] Step 122, the first task record in the task information library, in which the first task creator identifier matches the task deleter identifier, the first task name matches the deleted task name, the first belonging project name matches the deleted task belonging project name, and the first task status is created, ended or downloaded, is taken as the corresponding current deletion record; and whether the current deletion record is empty is identified; if not, go to step 123; if so, set the corresponding sixth processing result to deletion failure, and go to step 124;

[0074] Step 123, setting the first task status of the current deletion record to deleted; and setting the corresponding sixth processing result to deleted successfully;

[0075] Step 124: Use the obtained sixth processing result as the corresponding second service feedback.

[0076] Preferably, the task monitoring module is specifically used for: when performing task running status monitoring processing according to the computing node resource pool and the management database:

[0077] Step 131, regularly forming a corresponding running task record set from the first task records in the task information database whose first task status is running according to a preset first inspection frequency;

[0078] Step 132, perform a round of traversal of all the first task records in the running task record set; and in this round of traversal, use the first task record currently traversed as the corresponding current task record; and use the first SSH connection login name, the first SSH login password, and the first task node identifier of the current task record as the corresponding current login name, current login password, and current node identifier; and use the first node record in the node information library whose first node identifier matches the current node identifier as the corresponding current node record; and use the first computing node corresponding to the current node record as the corresponding current computing node; and use all the current node records The first node IP address is used as the corresponding current node IP address; and an SSH connection channel is established with the current node IP address as the corresponding third channel, and the current computing node is remotely logged in through the third channel according to the current login name and the current login password; and after the login is successful, the execution state of the first script executed in the container environment of the scientific computing container on the current computing node is identified through the third channel to obtain the corresponding first execution state; and after obtaining the first execution state, the third channel is closed; and when the first execution state is the end of execution, the first task state of the current task record in the task information library is set to be ended.

[0079] Preferably, the lifecycle management module is specifically used to physically delete the first project record in the project information library whose first project status is deleted at a preset second inspection frequency when physically deleting the database information marked as deleted data in the management database; and to physically delete the first task record in the task information library whose first task status is deleted at a preset third inspection frequency.

[0080] The embodiment of the present invention provides a scientific computing service system, which includes: a service gateway, a project management module, a task management module, a management database, a project storage module, a computing node resource pool, a task monitoring module and a life cycle management module; wherein the service gateway is used to manage the project / task management module for project / task management request distribution; the project management module is used to process the project creation, project query and project deletion of scientific computing projects; the task management module is used to process the image resource query of scientific computing tools, the computing node resource query of shared computing resources, and the task creation, task query, task submission, task output download and task deletion of scientific computing tasks; the task monitoring module is used to monitor the task running status according to the computing node resource pool and the management database; the life cycle management module is used to physically delete the database information marked as deleted data in the management database. The embodiment of the present invention provides an automated processing mechanism that can automatically perform computing host screening, scientific computing tool installation / configuration, command script execution and output data transfer and sharing based on simple configuration. Based on the scientific computing service provided by the system of the embodiment of the present invention, the scientific computing implementation steps of scientific researchers are greatly simplified, thereby reducing the difficulty of calculation, improving the calculation efficiency, and improving the efficiency of learning and research. BRIEF DESCRIPTION OF THE DRAWINGS

[0081] Figure 1 A module structure diagram of a scientific computing service system provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0082] In order to make the purpose, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0083] like Figure 1 As shown in the module structure diagram of a scientific computing service system provided by an embodiment of the present invention, a scientific computing service system 1 provided by an embodiment of the present invention mainly includes: a service gateway 11, a project management module 12, a task management module 13, a management database 14, a project storage module 15, a computing node resource pool 16, a task monitoring module 17 and a life cycle management module 18.

[0084] The connection relationship between the module components of the embodiment of the present invention is as follows: the service gateway 11 is connected to the project management module 12 and the task management module 13 respectively; the project management module 12 is connected to the management database 14 and the project storage module 15; the task management module 13 is connected to the management database 14, the project storage module 15 and the computing node resource pool 16; the task monitoring module 17 is connected to the management database 14 and the computing node resource pool 16; and the lifecycle management module 18 is connected to the management database 14.

[0085] (I) Service Gateway 11:

[0086] The service gateway 11 of the embodiment of the present invention is used to receive a first service request sent by any first client 2; and extract the corresponding first service type and first request instruction from the first service request; and identify the first service type; if the first service type is a project management type, the first request instruction is forwarded to the project management module 12, and the first service feedback sent back by the project management module 12 is sent back to the current first client 2; if the first service type is a task management type, the first request instruction is forwarded to the task management module 13, and the second service feedback sent back by the task management module 13 is sent back to the current first client 2.

[0087] Here, the first service request of the embodiment of the present invention includes a first service type and a first request instruction; wherein the first service type includes a project management type and a task management type.

[0088] When the first service type is project management, the first request instruction includes a first instruction type and a first instruction parameter; the first instruction type includes at least project creation, project query and project deletion. Specifically:

[0089] 1) When the first instruction type is project creation, the first instruction parameter includes the name of the project to be created, the project creator ID and the project member group information; wherein, when the project member group information is not empty, it is composed of one or more project member IDs; the project creator ID and each project member ID are all registered user IDs of the current system;

[0090] 2) When the first instruction type is project query, the first instruction parameter includes the project queryer identifier and the query project name; wherein, when the query project name is empty, it indicates that a full project query is performed on all projects created by the current queryer or participated in as a group member; when the query project name is not empty, it indicates that a targeted query is performed on the specified projects created by the current queryer or participated in as a group member;

[0091] 3) When the first instruction type is project deletion, the first instruction parameter includes the project deleter identifier and the deleted project name; when the deleted project name is empty, it means that all projects created by the current deleter will be deleted; when the deleted project name is not empty, it means that the specified project created by the current deleter will be deleted in a targeted manner.

[0092] When the first service type is task management, the first request instruction includes a second instruction type and a second instruction parameter; the second instruction type includes at least image query, node query, task creation, task query, task submission, task download and task deletion. Specifically:

[0093] 1) When the second instruction type is image query or node query, the second instruction parameter is empty;

[0094] 2) When the second instruction type is task creation, the second instruction parameter includes a task creator identifier and a task configuration file; the task creator identifier is a registered user identifier of the current system; the task configuration file at least includes the name of the created task, the name of the project to which the task belongs, the name of the computing tool image, the computing tool image version, the computing input file set, the computing input data set, the computing task execution script, the task node model name, the number of CPU cores of the task node, the task node memory, the task node GPU model, the task node GPU video memory, the task node hourly unit price, the task node SSH connection login name, and the task node SSH login password; when the computing input file set is not empty, it is composed of one or more computing input files; the computing input data set, the task node GPU model, and the task node GPU video memory are optional parameters and can be empty;

[0095] 3) When the second instruction type is task query, the second instruction parameters include the task queryer ID, the query task project name and the query task name; when the query task project name and the query task name are both empty, it means that a full-project task query is performed on all tasks created by the current queryer; when only the query task name is empty, it means that a full-task query is performed on all tasks created by the current queryer in the specified project; when the query task project name and the query task name are both not empty, it means that a targeted query is performed on the specified task created by the current queryer in the specified project;

[0096] 4) When the second instruction type is task submission, the second instruction parameters include the task submitter ID, the project name to which the submitted task belongs, and the submitted task name;

[0097] 5) When the second instruction type is task download, the second instruction parameters include the task downloader identifier, the name of the project to which the download task belongs, and the name of the download task;

[0098] 6) When the second instruction type is task deletion, the second instruction parameters include the task deleter identifier, the name of the project to which the deleted task belongs, and the deleted task name; when the name of the project to which the deleted task belongs and the deleted task name are both empty, it means that all tasks created by the current deleter will be deleted in all projects; when only the deleted task name is empty, it means that all tasks created by the current deleter in the specified project will be deleted in all projects; when neither the name of the project to which the deleted task belongs nor the deleted task name are empty, it means that the specified task created by the current deleter in the specified project will be deleted in a targeted manner.

[0099] (II) Project Management Module 12:

[0100] The project management module 12 of the embodiment of the present invention is used to extract the corresponding first instruction type and first instruction parameter from the first request instruction; and identify the first instruction type; if the first instruction type is project creation, then the corresponding project creation processing is performed according to the first instruction parameter, the management database 14 and the project storage module 15, and the processing result is used as the corresponding first service feedback; if the first instruction type is project query, then the corresponding project information query processing is performed according to the first instruction parameter and the management database 14, and the query result is used as the corresponding first service feedback; if the first instruction type is project deletion, then the corresponding project information deletion processing is performed according to the first instruction parameter, the management database 14 and the project storage module 15, and the processing result is used as the corresponding first service feedback; and the obtained first service feedback is sent back to the service gateway 11.

[0101] In a specific implementation of the embodiment of the present invention, the project management module 12 is specifically used to perform corresponding project creation processing according to the first instruction parameter, the management database 14 and the project storage module 15 and use the processing result as the corresponding first service feedback:

[0102] Step A1, extracting the corresponding creation project name, project creator identifier and project member group information from the first instruction parameter;

[0103] Step A2, taking the project creator identifier and each project member identifier of the project member group information as the corresponding current user identifier; taking the first registered user record in the user information database 141 that matches the first registered user identifier with the current user identifier as the corresponding matching user record; and identifying whether all the obtained matching user records are not empty; if so, go to step A3; if not, set the corresponding first processing result as creation failure, and go to step A5;

[0104] Step A3, record the first project record in the project information library 144, in which the first task creator identifier matches the project creator identifier, the first project name matches the created project name, and the first project status is normal, as the corresponding current matching project record; and identify whether the current matching project record is empty; if so, go to step A4; if not, set the corresponding first processing result to creation failure, and go to step A5;

[0105] Step A4, adding a new first project record in the project information library 144 as the corresponding current newly added record; and assigning a unique identifier to the current newly added record as the corresponding current project identifier; and applying to the project storage module 15 to add a new first project storage area 151 to be bound to the current newly added record, and using the unique storage area identifier of the currently bound first project storage area 151 as the corresponding current storage area identifier; and setting the first project identifier of the current newly added record to the corresponding current project identifier, the first project creator identifier to the corresponding project creator identifier, the first project name to the corresponding created project name, the first storage area identifier to the corresponding current storage area identifier, the first member identifier set to the corresponding project member group information, and the first project status to normal; and when the setting of the current newly added record is completed, setting the corresponding first processing result to creation success;

[0106] Step A5: Using the obtained first processing result as the corresponding first service feedback.

[0107] In another specific implementation of the embodiment of the present invention, the project management module 12 is specifically configured to perform corresponding project information query processing according to the first instruction parameter and the management database 14 and use the query result as the corresponding first service feedback:

[0108] Step B1, extracting the corresponding project queryer identifier and query project name from the first instruction parameter;

[0109] Step B2, if the query project name is empty, then extract the first project record in which the first project creator identifier in the project information base 144 matches the project query identifier or there is a first member identifier in the first member identifier set that matches the project query identifier and the first project status is normal to form the corresponding first query result;

[0110] Step B3, if the queried project name is not empty, extract the first project record in the project information base 144, in which the first project creator identifier matches the project query identifier, or in the first member identifier set there is a first member identifier that matches the project query identifier, and the first project name matches the queried project name, and the first project status is normal, as the corresponding current project record; and assign a corresponding access entry address to the first project storage area 151 corresponding to the current project record, recorded as the corresponding current project storage area access address; and the current project record and the current project storage area access address constitute the corresponding first query result;

[0111] Step B4: Using the obtained first query result as the corresponding first service feedback.

[0112] In another specific implementation of the embodiment of the present invention, the project management module 12 is specifically used to perform corresponding project information deletion processing according to the first instruction parameter, the management database 14 and the project storage module 15 and use the processing result as the corresponding first service feedback:

[0113] Step C1, extracting the corresponding item deleter identifier and the deleted item name from the first instruction parameter;

[0114] Step C2, if the name of the deleted project is empty, then the first project records whose first project creator identifiers match the project deleter identifiers in the project information base 144 and whose first project status is normal are recorded as corresponding records of the project to be deleted; and when the total number of records of the project to be deleted is greater than 0, the first project statuses of all records of the project to be deleted are reset to deleted, and an application is made to the project storage module 15 to delete the first project storage area 151 bound to all records of the project to be deleted; and the corresponding second processing result is set to be deleted successfully;

[0115] Step C3, if the name of the deleted project is not empty, the first project record in the project information base 144, in which the first project creator identifier matches the project deleter identifier, the first project name matches the deleted project name, and the first project status is normal, is recorded as the corresponding current project record to be deleted; and it is identified whether the current project record to be deleted is empty; if so, the corresponding second processing result is set to deletion failure; if not, the first project status of the current project record to be deleted is reset to deleted, and an application is made to the project storage module 15 to delete the first project storage area 151 bound to the current project record to be deleted, and the corresponding second processing result is set to deletion success;

[0116] Step C4: Using the obtained second processing result as the corresponding first service feedback.

[0117] (III) Task management module 13:

[0118] The task management module 13 of the embodiment of the present invention is used to extract the corresponding second instruction type and second instruction parameter from the second request instruction; and identify the second instruction type; if the second instruction type is image query, then the corresponding image information query processing is performed according to the second instruction parameter and the management database 14, and the query result is used as the corresponding second service feedback; if the second instruction type is node query, then the corresponding computing node information query processing is performed according to the second instruction parameter and the management database 14, and the query result is used as the corresponding second service feedback; if the first instruction type is task creation, then the corresponding task creation processing is performed according to the second instruction parameter and the management database 14, and the processing result is used as the corresponding second service feedback; if the first instruction type is task query, then the corresponding computing node information query processing is performed according to the second instruction parameter and the management database 14, and the processing result is used as the corresponding second service feedback. The management database 14 performs corresponding task information query processing and uses the query result as the corresponding second service feedback; if the first instruction type is task submission, then the corresponding task submission processing is performed according to the second instruction parameter, the management database 14 and the computing node resource pool 16 and the processing result is used as the corresponding second service feedback; if the first instruction type is task downloading, then the corresponding task downloading processing is performed according to the second instruction parameter, the management database 14, the computing node resource pool 16 and the project storage module 15 and the processing result is used as the corresponding second service feedback; if the first instruction type is task deletion, then the corresponding task deletion processing is performed according to the second instruction parameter and the management database 14 and the processing result is used as the corresponding second service feedback; and the obtained second service feedback is sent back to the service gateway 11.

[0119] In another specific implementation of the embodiment of the present invention, the task management module 13 is specifically used to perform corresponding image information query processing according to the second instruction parameters and the management database 14 and use the query result as the corresponding second service feedback, and the corresponding second service feedback is composed of all first image records of the image information library 142.

[0120] In another specific implementation method of an embodiment of the present invention, the task management module 13 is specifically used to perform corresponding computing node information query processing according to the second instruction parameters and the management database 14 and use the query result as the corresponding second service feedback, and all first node records of the node information library 143 constitute the corresponding second service feedback.

[0121] In another specific implementation of the embodiment of the present invention, the task management module 13 is specifically configured to perform corresponding task creation processing according to the second instruction parameter and the management database 14 and use the processing result as the corresponding second service feedback:

[0122] Step D1, extracting the corresponding task creator identifier and task configuration file from the second instruction parameter; and extracting the corresponding creation task name, task belonging project name, computing tool image name, computing tool image version, computing input file set, computing input data set, computing task execution script, task node model name, task node CPU core number, task node memory, task node GPU model, task node GPU video memory, task node hourly unit price, task node SSH connection login name and task node SSH login password from the task configuration file;

[0123] Step D2, taking the first registered user record in the user information database 141 whose first registered user identifier matches the task creator identifier as the corresponding current user record; and identifying whether the current user record is empty; if not, going to step D3; if so, setting the corresponding third processing result as creation failure, and going to step D6;

[0124] Step D3, taking the first project record in which the first project creator identifier in the project information base 144 matches the task creator identifier or there is a first member identifier in the first member identifier set that matches the task creator identifier and the first project status is normal as the corresponding current belonging project record; and identifying whether the current belonging project record is empty; if not, go to step D4; if so, set the corresponding third processing result to creation failure, and go to step D6;

[0125] Step D4, the first task record in the task information library 145, in which the first task creator identifier matches the task creator identifier, the first task name matches the created task name, the first belonging project name matches the task belonging project name, and the first task status is not deleted, is recorded as the corresponding current matching task record; and whether the current matching task record is empty is identified; if so, go to step D5; if not, set the corresponding third processing result to creation failure, and go to step D6;

[0126] Step D5, add a first task record in the task information library 145 as the corresponding current newly added record; and assign a unique identifier to the current newly added record as the corresponding current task identifier; and set the first task identifier of the current newly added record to the corresponding current task identifier, the first task creator identifier to the corresponding task creator identifier, the first task name to the corresponding created task name, the first belonging project name to the corresponding task belonging project name, the first task image name to the corresponding computing tool image name, the first task image version to the corresponding computing tool image version, the first input file set to the slightly corresponding computing input file set, the first data set to the corresponding computing input data set, and the first script to the corresponding The corresponding computing task execution script, the first machine model name is set to the corresponding task node machine model name, the first CPU core number is set to the corresponding task node CPU core number, the first memory is set to the corresponding task node memory, the first GPU model is set to the corresponding task node GPU model, the first GPU video memory is set to the corresponding task node GPU video memory, the first hourly unit price is set to the corresponding task node hourly unit price, the first SSH connection login name is set to the corresponding task node SSH connection login name, the first SSH login password is set to the corresponding task node SSH login password, the first task node identifier is set to empty, and the first task status is set to created; and when the settings of the current newly added record are completed, the corresponding third processing result is set to creation success;

[0127] Step D6: Using the obtained third processing result as the corresponding second service feedback.

[0128] In another specific implementation of the embodiment of the present invention, the task management module 13 is specifically used to perform corresponding task information query processing according to the second instruction parameter and the management database 14 and use the query result as the corresponding second service feedback:

[0129] Step E1, extracting the corresponding task inquirer identifier, the query task project name and the query task name from the second instruction parameter;

[0130] Step E2, if the query task belonging project name and the query task name are both empty, then extract all first task records in the task information library 145 whose first task creator identifier matches the task query identifier and whose first task status is not deleted to form a corresponding second query result;

[0131] Step E3, if the query task belonging project name is not empty but the query task name is empty, then all first task creator identifiers in the task information library 145 are matched with the task query identifier, and the first belonging project name matches the query task belonging project name, and the first task status is not deleted. First task records are extracted to form the corresponding second query result;

[0132] Step E3, if the query task belonging project name and the query task name are not empty, then the first task record in the task information library 145, whose first task creator identifier matches the task query identifier, whose first belonging project name matches the query task belonging project name, whose first task name matches the query task name, and whose first task status is not deleted, is extracted as the corresponding second query result;

[0133] Step E4: The obtained second query result is used as the corresponding second service feedback.

[0134] In another specific implementation of the embodiment of the present invention, the task management module 13 is specifically used to perform corresponding task submission processing according to the second instruction parameter, the management database 14 and the computing node resource pool 16 and use the processing result as the corresponding second service feedback:

[0135] Step F1, extracting the corresponding task submitter identifier, the project name to which the submitted task belongs, and the submitted task name from the second instruction parameter;

[0136] Step F2, extract the first task record in the task information library 145, in which the first task creator identifier matches the task submitter identifier, the first belonging project name matches the submitted task belonging project name, the first task name matches the submitted task name, and the first task status is created, as the corresponding current submission record; and identify whether the current submission record is empty; if not, go to step F3; if so, set the corresponding fourth processing result to submission failure, and go to step F6;

[0137] Step F3, setting the first task status of the current submission record in the task information library 145 to being submitted; extracting the corresponding first task image name, first task image version, first input file set, first data set, first script, first machine model name, first CPU core number, first memory, first GPU model, first GPU video memory, first hourly unit price, first SSH connection login name, first SSH login password from the current submission record; and the first CPU core number, first memory, first GPU model, first GPU video memory form the corresponding first hardware configuration requirement;

[0138] Step F4, extract all first node records in the node information library 143 whose model names match the first model name, whose first node hourly unit price is less than or equal to the first hourly unit price, whose first node hardware configuration meets the first hardware configuration requirement, and whose first node occupancy status is idle to form a corresponding first record set; and identify the preset node preference mode; if the node preference mode is the first mode, take the first node record with the highest configuration level of the first node hardware configuration in the first record set as the corresponding current node record; if the node preference mode is the second mode, take the first node record with the lowest first node hourly unit price in the first record set as the corresponding current node record; and set the first node occupancy status of the current node record to occupied;

[0139] Among them, the node optimization mode includes the first mode and the second mode;

[0140] Step F5, record the first image record in the image information library 142 that matches the first image name and the first image version with the corresponding first task image name and the first task image version as the corresponding current image record; download the scientific computing tool software image resource at the first image storage address of the current image record to obtain the corresponding scientific computing tool image; use the first computing node 161 corresponding to the current node record as the corresponding current computing node; use the first node IP address of the current node record as the corresponding current node IP address; establish an SSH connection channel with the current node IP address and record it as the corresponding first channel; and set the login user name and login user password of the first channel to the corresponding first SSH connection login name and first SSH login password; sending the scientific computing tool image to the current computing node through the first channel; remotely controlling the current computing node through the first channel to create a corresponding container instance based on the scientific computing tool image and using the obtained container as the corresponding scientific computing container; and sending the first input file set, the first data set and the first script to the container environment of the scientific computing container through the first channel for storage; and executing the first script in the container environment of the scientific computing container; and after the first script starts to execute, closing the first channel, and setting the first task node identifier of the current submission record in the task information library 145 to the first node identifier of the current node record, and the first task status to running; and setting the corresponding fourth processing result to submission success;

[0141] Step F6: The fourth processing result is used as the corresponding second service feedback.

[0142] In another specific implementation of the embodiment of the present invention, the task management module 13 is specifically used to perform corresponding task download processing according to the second instruction parameter, the management database 14, the computing node resource pool 16 and the project storage module 15 and use the processing result as the corresponding second service feedback:

[0143] Step G1, extracting the corresponding task downloader identifier, the download task project name and the download task name from the second instruction parameter;

[0144] Step G2, taking the first task record in the task information library 145, in which the first task creator identifier matches the task downloader identifier, the first task name matches the download task name, and the first attributed project name matches the download task attributed project name, as the corresponding current task record; and identifying whether the first task status of the current task record is ended; if so, go to step G3; if not, set the corresponding fifth processing result to download failure, and go to step G4;

[0145] Step G3, use the first SSH connection login name, the first SSH login password, and the first task node identifier of the current task record as the corresponding current login name, current login password, and current node identifier; and use the first node record in the node information library 143 that matches the first node identifier with the current node identifier as the corresponding current node record; and use the first computing node 161 corresponding to the current node record as the corresponding current computing node; and use the first node IP address of the current node record as the corresponding current node IP address; and establish an SSH connection channel with the current node IP address as the corresponding second channel, and remotely log in to the current computing node through the second channel according to the current login name and the current login password; and after successful login, switch the current directory in the container environment of the scientific computing container on the current computing node to the default directory through the second channel. The calculation output directory is obtained, and all files in the current directory are packaged and compressed to obtain the corresponding calculation output directory compression package, and the calculation output directory compression package is downloaded to the local cache directory of the task management module 13 through the second channel; and after the download is successful, the current computing node is remotely controlled to delete the scientific computing container and the corresponding scientific computing tool image through the second channel; and after the container is successfully deleted, the second channel is closed, and the first node occupancy status recorded by the current node is reset to idle, and the calculation output directory compression package is copied from the cache directory to the corresponding first project storage area 151 in the project storage module 15; and when the copy is successful, the calculation output directory compression package in the cache directory is deleted, and the first task status of the current task record in the task information library 145 is set to downloaded; and the corresponding fifth processing result is set to download successfully;

[0146] Step G4: The fifth processing result obtained is used as the corresponding second service feedback.

[0147] In another specific implementation of the embodiment of the present invention, the task management module 13 is specifically used to perform corresponding task deletion processing according to the second instruction parameter and the management database 14 and use the processing result as the corresponding second service feedback:

[0148] Step H1, extracting the corresponding task deleter identifier, the name of the deleted task project and the deleted task name from the second instruction parameter;

[0149] Step H2, taking the first task record in the task information library 145, in which the first task creator identifier matches the task deleter identifier, the first task name matches the deleted task name, the first belonging project name matches the deleted task belonging project name, and the first task status is created, ended or downloaded, as the corresponding current deletion record; and identifying whether the current deletion record is empty; if not, go to step H3; if so, set the corresponding sixth processing result to deletion failure, and go to step H4;

[0150] Step H3, setting the first task status of the current deletion record to deleted; and setting the corresponding sixth processing result to deleted successfully;

[0151] Step H4: The obtained sixth processing result is used as the corresponding second service feedback.

[0152] (IV) Management database 14:

[0153] The management database 14 of the embodiment of the present invention is used to store a user information library 141 , a mirror information library 142 , a node information library 143 , a project information library 144 and a task information library 145 .

[0154] The user information database 141 includes a plurality of first registered user records; the first registered user record includes a first registered user identifier and a first user name.

[0155] The image information library 142 includes a plurality of first image records. Each first image record corresponds to a scientific computing tool, specifically, to a software image resource of the current scientific computing tool, which may be an image file of a software integration environment or a software package of a software integration environment. The first image record includes a first image identifier, a first image name, a first image version, a first image storage address and a first hardware configuration requirement; wherein, the first image name and the first image version are the tool name and software version of the current scientific computing tool; the first image storage address is the software image resource download address of the current scientific computing tool; the first hardware configuration requirement is the minimum hardware configuration requirement required for the current scientific computing tool operating environment; the first hardware configuration requirement includes at least the minimum CPU core number requirement, the minimum memory requirement, the GPU option requirement and the minimum GPU video memory requirement; the minimum CPU core number requirement is the minimum configuration of the total number of CPU cores required for the current scientific computing tool operating environment; the minimum memory requirement is the minimum configuration of the memory capacity required for the current scientific computing tool operating environment; the GPU option requirement includes requiring a GPU and not requiring a GPU; when the GPU option requirement is requiring a GPU, the minimum GPU video memory requirement is the minimum configuration of the GPU video memory capacity required for the current scientific computing tool operating environment; when the GPU option requirement is not requiring a GPU, the minimum GPU video memory requirement is empty.

[0156] It should be noted that the software integrated environment image file or software integrated environment software package of the scientific computing tool corresponding to each first image record of the embodiment of the present invention includes all the components required to run the current scientific computing tool. All the components mentioned here include at least: 1) system components or libraries at the operating system level or the operating system itself; 2) communication components or libraries for supporting multiple types of communication protocols at the communication level; 3) the installation package of the current scientific computing tool; 4) a scientific computing environment installation configuration program or batch file for installing and configuring all the above systems, components, and installation packages to complete the construction of the scientific computing environment and configuring and constructing all the environmental parameters and all default file directories required by the scientific computing tool in the construction environment.

[0157] The node information library 143 includes multiple first node records. The first node record corresponds one-to-one to the first computing node 161 in the computing node resource pool 16. The first node record includes a first node identifier, a first node IP address, a first node model name, a first node hardware configuration, a first node hourly unit price, and a first node occupancy status; wherein the first node IP address is the network IP address of the current computing node; the first node model name is the model name of the host corresponding to the current computing node, and the corresponding host of the current computing node is a physical host or a virtual machine; the first node hardware configuration is the hardware configuration information of the current computing node, including at least the number of host CPU cores, the host memory capacity, the host GPU model, and the host GPU video memory capacity. When the host GPU model is empty, the corresponding host GPU video memory capacity is also empty; the first node occupancy status includes occupied and idle.

[0158] The project information base 144 includes a plurality of first project records. The first project record includes a first project identifier, a first project creator identifier, a first project name, a first storage area identifier, a first member identifier set, and a first project status; wherein the first member identifier set includes one or more first member identifiers; and the first project status includes normal and deleted.

[0159] The task information library 145 includes a plurality of first task records. The first task record includes a first task identifier, a first task creator identifier, a first task name, a first belonging project name, a first task image name, a first task image version, a first input file set, a first data set, a first script, a first machine model name, a first CPU core number, a first memory, a first GPU model, a first GPU video memory, a first hourly price, a first SSH connection login name, a first SSH login password, a first task node identifier, and a first task status; wherein the first task status includes created, submitting, running, ended, downloaded, and deleted.

[0160] (V) Project storage module 15:

[0161] The project storage module 15 of the embodiment of the present invention is a data storage management system. The project storage module 15 is used to store and manage multiple first project storage areas 151; and when a new first project storage area 151 is added, an initial storage capacity and a corresponding unique storage area identifier are allocated to the current first project storage area 151; and when the ratio of the actual storage capacity to the maximum storage capacity of each first project storage area 151 exceeds a preset first ratio threshold, the current first project storage area 151 is automatically expanded; and when a first project storage area 151 is deleted, the storage resources and storage capacity of the current first project storage area 151 are released.

[0162] Here, the first ratio threshold is a preset ratio threshold parameter;

[0163] It should be noted that the first project storage area 151 of the embodiment of the present invention corresponds one-to-one to the first project record; the storage data access permission of each first project storage area 151 is only open to the registered user corresponding to the first member identification set of the current first project record when the first project status of the corresponding first project record is normal.

[0164] (VI) Computing node resource pool 16:

[0165] The computing node resource pool 16 of the embodiment of the present invention is a computing node resource management environment, which is composed of a plurality of first computing nodes 161. It should be noted that the computing node resource pool 16 can be jointly constructed by one or more computing node clusters, clouds or platforms.

[0166] It should be noted that the computing node cluster, cloud or platform of the computing node resource pool 16 of the embodiment of the present invention uses at least Kubernetes and Zabbix to manage resources for all the first computing nodes 161 corresponding to each other. Each computing node cluster, cloud or platform selects one or more of the numerous first computing nodes 161 as the management master node, and installs the corresponding operating system, communication components, network components and the master / slave server of the management software on each management master node and non-management master node based on the Kubernetes or Zabbix installation requirements. The embodiment of the present invention does not limit the technical content related to the internal management of the computing node cluster, cloud or platform, and will not be further elaborated here.

[0167] (VII) Task monitoring module 17:

[0168] The task monitoring module 17 of the embodiment of the present invention is used to perform task running status monitoring processing according to the computing node resource pool 16 and the management database 14 .

[0169] In another specific implementation of the embodiment of the present invention, the task monitoring module 17 is specifically used to perform task running status monitoring processing according to the computing node resource pool 16 and the management database 14:

[0170] Step J1, regularly composing a corresponding running task record set from the first task records with the first task status being running in the task information library 145 according to the preset first inspection frequency;

[0171] Here, the first inspection frequency is a preset time frequency parameter;

[0172] Step J2, perform a round of traversal of all first task records in the running task record set; and in this round of traversal, use the first task record currently traversed as the corresponding current task record; and use the first SSH connection login name, the first SSH login password, and the first task node identifier of the current task record as the corresponding current login name, the current login password, and the current node identifier; and use the first node record in the node information library 143 where the first node identifier matches the current node identifier as the corresponding current node record; and use the first computing node 161 corresponding to the current node record as the corresponding current computing node; and use the first node IP address of the current node record as the corresponding current node IP address; and establish an SSH connection channel with the current node IP address as the corresponding third channel, and remotely log in to the current computing node through the third channel according to the current login name and the current login password; and after successful login, identify the execution status of the first script executed in the container environment of the scientific computing container on the current computing node through the third channel to obtain the corresponding first execution status; and after obtaining the first execution status, close the third channel; and when the first execution status is the end of execution, set the first task status of the current task record in the task information library 145 to be ended.

[0173] (VIII) Lifecycle Management Module 18:

[0174] The lifecycle management module 18 of the embodiment of the present invention is used to physically delete the database information marked as deleted data in the management database 14 .

[0175] In another specific implementation of the embodiment of the present invention, the lifecycle management module 18 is specifically used to physically delete the first project record whose first project status is deleted in the project information library 144 at a preset second inspection frequency when physically deleting the database information marked as deleted data in the management database 14; and physically delete the first task record whose first task status is deleted in the task information library 145 at a preset third inspection frequency. Here, the second and third inspection frequencies are two preset time frequency parameters.

[0176] It should be noted that it should be understood that the division of the various modules of the above system is only a division of logical functions. In actual implementation, they can be fully or partially integrated into a physical entity, or they can be physically separated. And these modules can all be implemented in software form; they can also all be implemented in hardware form; some modules can also be implemented in software form, and some modules can be implemented in hardware form. For example, the service gateway can be a separately established processing device, device or server, or it can be integrated in a module of the above system for implementation. In addition, it can also be stored in the memory of the above system in the form of program code, and called and executed by a processing module of the above system. The module function determined above. The implementation of other modules is similar. In addition, these modules can be integrated together in whole or in part, or they can be implemented independently. The processing module described here can be an integrated circuit with signal processing capabilities. In the implementation process, the processing steps of each module of the aforementioned system can be completed by the integrated logic circuit of the hardware in the processing module or the instruction in the form of software.

[0177] For example, the modules of the above system may be one or more integrated circuits configured to implement the aforementioned system, such as one or more application specific integrated circuits (ASIC), or one or more digital signal processors (DSP), or one or more field programmable gate arrays (FPGA). For another example, when a module of the above system is implemented in the form of a processing module scheduling program code, the processing module may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call program code. For another example, these modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0178] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the above method embodiments are generated. The above computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The above-mentioned computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the above-mentioned computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, Bluetooth, microwave, etc.) methods. The above-mentioned computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated. The above-mentioned available medium can be a magnetic medium (such as a floppy disk, a hard disk, a tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.

[0179] The embodiment of the present invention provides a scientific computing service system, which includes: a service gateway, a project management module, a task management module, a management database, a project storage module, a computing node resource pool, a task monitoring module and a life cycle management module; wherein the service gateway is used to manage the project / task management module for project / task management request distribution; the project management module is used to process the project creation, project query and project deletion of scientific computing projects; the task management module is used to process the image resource query of scientific computing tools, the computing node resource query of shared computing resources, and the task creation, task query, task submission, task output download and task deletion of scientific computing tasks; the task monitoring module is used to monitor the task running status according to the computing node resource pool and the management database; the life cycle management module is used to physically delete the database information marked as deleted data in the management database. The embodiment of the present invention provides an automated processing mechanism that can automatically perform computing host screening, scientific computing tool installation / configuration, command script execution and output data transfer and sharing based on simple configuration. Based on the scientific computing service provided by the system of the embodiment of the present invention, the scientific computing implementation steps of scientific researchers are greatly simplified, thereby reducing the difficulty of calculation, improving the calculation efficiency, and improving the efficiency of learning and research.

[0180] The professionals should further realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to the function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0181] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0182] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation method of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A scientific computing service system, characterized in that: The system includes: a service gateway, a project management module, a task management module, a management database, a project storage module, a computing node resource pool, a task monitoring module and a life cycle management module; The service gateway is connected to the project management module and the task management module respectively; the project management module is connected to the management database and the project storage module; the task management module is connected to the management database, the project storage module and the computing node resource pool; the task monitoring module is connected to the management database and the computing node resource pool; the life cycle management module is connected to the management database; The service gateway is used to receive a first service request sent by any first client; extract the corresponding first service type and first request instruction from the first service request; and identify the first service type; if the first service type is a project management class, forward the first request instruction to the project management module, and send the first service feedback sent back by the project management module back to the current first client; if the first service type is a task management class, forward the first request instruction to the task management module, and send the second service feedback sent back by the task management module back to the current first client; the first service request includes the first service type and the first request instruction; the first service type includes a project management class and a task management class; when the first service type is a project management class, the first request instruction includes a first instruction type and a first instruction parameter; the first instruction type includes at least project creation, project query and project deletion; when the first service type is a task management class, the first request instruction includes a second instruction type and a second instruction parameter; the second instruction type includes at least image query, node query, task creation, task query, task submission, task download and task deletion; The project management module is used to extract the corresponding first instruction type and the first instruction parameter from the first request instruction; and identify the first instruction type; if the first instruction type is project creation, then the corresponding project creation processing is performed according to the first instruction parameter, the management database and the project storage module, and the processing result is used as the corresponding first service feedback; if the first instruction type is project query, then the corresponding project information query processing is performed according to the first instruction parameter and the management database, and the query result is used as the corresponding first service feedback; if the first instruction type is project deletion, then the corresponding project information deletion processing is performed according to the first instruction parameter, the management database and the project storage module, and the processing result is used as the corresponding first service feedback; and the obtained first service feedback is sent back to the service gateway; The task management module is used to extract the corresponding second instruction type and the second instruction parameter from the second request instruction; and identify the second instruction type; if the second instruction type is image query, then the corresponding image information query processing is performed according to the second instruction parameter and the management database and the query result is used as the corresponding second service feedback; if the second instruction type is node query, then the corresponding computing node information query processing is performed according to the second instruction parameter and the management database and the query result is used as the corresponding second service feedback; if the first instruction type is task creation, then the corresponding task creation processing is performed according to the second instruction parameter and the management database and the processing result is used as the corresponding second service feedback; if the first instruction type is task query, then the corresponding computing node information query processing is performed according to the second instruction parameter and the management database and the processing result is used as the corresponding second service feedback. The management database performs corresponding task information query processing and uses the query result as the corresponding second service feedback; if the first instruction type is task submission, then the corresponding task submission processing is performed according to the second instruction parameter, the management database and the computing node resource pool, and the processing result is used as the corresponding second service feedback; if the first instruction type is task downloading, then the corresponding task downloading processing is performed according to the second instruction parameter, the management database, the computing node resource pool and the project storage module, and the processing result is used as the corresponding second service feedback; if the first instruction type is task deletion, then the corresponding task deletion processing is performed according to the second instruction parameter and the management database, and the processing result is used as the corresponding second service feedback; and the obtained second service feedback is sent back to the service gateway; The task monitoring module is used to monitor the task running status according to the computing node resource pool and the management database; the life cycle management module is used to physically delete the database information marked as deleted data in the management database.

2. The scientific computing service system according to claim 1, characterized in that: The management database is used to store a user information library, a mirror information library, a node information library, a project information library and a task information library; The user information database includes a plurality of first registered user records; the first registered user record includes a first registered user identifier and a first user name; The image information library includes a plurality of first image records; each of the first image records corresponds to a scientific computing tool; the first image record includes a first image identifier, a first image name, a first image version, a first image storage address and a first hardware configuration requirement; The first image name and the first image version are the tool name and software version of the current scientific computing tool; the first image storage address is the software image resource download address of the current scientific computing tool; the first hardware configuration requirement is the minimum hardware configuration requirement required for the operating environment of the current scientific computing tool; The first hardware configuration requirement at least includes a minimum CPU core number requirement, a minimum memory requirement, a GPU option requirement, and a minimum GPU video memory requirement; the minimum CPU core number requirement is the minimum configuration of the total number of CPU cores required for the current scientific computing tool operating environment; the minimum memory requirement is the minimum configuration of the memory capacity required for the current scientific computing tool operating environment; the GPU option requirement includes requiring a GPU and not requiring a GPU; when the GPU option requirement is that a GPU is required, the minimum GPU video memory requirement is the minimum configuration of the GPU video memory capacity required for the current scientific computing tool operating environment; when the GPU option requirement is that a GPU is not required, the minimum GPU video memory requirement is empty; The node information library includes a plurality of first node records; the first node records correspond one-to-one to the first computing nodes in the computing node resource pool; the first node records include a first node identifier, a first node IP address, a first node model name, a first node hardware configuration, a first node hourly unit price, and a first node occupancy status; The first node IP address is the network IP address of the current computing node; The first node model name is the model name of the host corresponding to the current computing node, and the corresponding host of the current computing node is a physical host or a virtual machine; the first node hardware configuration is the hardware configuration information of the current computing node, including at least the number of host CPU cores, the host memory capacity, the host GPU model and the host GPU video memory capacity. When the host GPU model is empty, the corresponding host GPU video memory capacity is also empty; the first node occupancy status includes occupied and idle; The project information base includes a plurality of first project records; the first project record includes a first project identifier, a first project creator identifier, a first project name, a first storage area identifier, a first member identifier set and a first project status; the first member identifier set includes one or more of the first member identifiers; the first project status includes normal and deleted; The task information library includes a plurality of first task records; the first task record includes a first task identifier, a first task creator identifier, a first task name, a first belonging project name, a first task image name, a first task image version, a first input file set, a first data set, a first script, a first machine model name, a first CPU core number, a first memory, a first GPU model, a first GPU video memory, a first hourly price, a first SSH connection login name, a first SSH login password, a first task node identifier and a first task status; the first task status includes created, submitting, running, ended, downloaded and deleted; The project storage module is a data storage management system; The project storage module is used to store and manage multiple first project storage areas; and when each first project storage area is added, an initial storage capacity and a corresponding unique storage area identifier are allocated to the current first project storage area; and automatically expanding the capacity of the current first project storage area when the ratio of the actual storage capacity to the maximum storage capacity of each first project storage area exceeds a preset first ratio threshold; and each time a first project storage area is deleted, the storage resources and storage capacity of the current first project storage area are released; the first project storage areas correspond to the first project records one by one; the access rights to the storage data of each first project storage area are only open to the registered users corresponding to the first member identification set of the current first project record when the first project status of the corresponding first project record is normal; The computing node resource pool is a computing node resource management environment, which is composed of multiple first computing nodes; the computing node resource pool can be jointly built by one or more computing node clusters, clouds or platforms.

3. The scientific computing service system according to claim 2, characterized in that: When the first instruction type is project creation, the first instruction parameter includes the name of the project to be created, the project creator identifier and project member group information; when the project member group information is not empty, it is composed of one or more project member identifiers; the project creator identifier and each of the project member identifiers are registered user identifiers of the current system; When the first instruction type is a project query, the first instruction parameter includes a project queryer identifier and a query project name; when the query project name is empty, it indicates that a full project query is performed on all projects created by the current queryer or participated in as a group member; when the query project name is not empty, it indicates that a targeted query is performed on a specified project created by the current queryer or participated in as a group member; When the first instruction type is project deletion, the first instruction parameter includes a project deleter identifier and a deleted project name; when the deleted project name is empty, it indicates that all projects created by the current deleter are deleted; when the deleted project name is not empty, it indicates that the specified project created by the current deleter is deleted in a targeted manner; When the second instruction type is image query or node query, the second instruction parameter is empty; When the second instruction type is task creation, the second instruction parameter includes a task creator identifier and a task configuration file; the task creator identifier is a registered user identifier of the current system; the task configuration file includes at least a creation task name, a task project name, a computing tool image name, a computing tool image version, a computing input file set, a computing input data set, a computing task execution script, a task node model name, a task node CPU core number, a task node memory, a task node GPU model, a task node GPU video memory, a task node hourly unit price, a task node SSH connection login name, and a task node SSH login password; when the computing input file set is not empty, it is composed of one or more computing input files; the computing input data set, the task node GPU model, and the task node GPU video memory are optional parameters and can be empty; When the second instruction type is task query, the second instruction parameters include the task queryer identifier, the query task belonging project name and the query task name; When both the query task project name and the query task name are empty, it indicates that a full-project task query is performed on all tasks created by the current queryer; when only the query task name is empty, it indicates that a full-task query is performed on all tasks created by the current queryer in the specified project; When both the query task belonging project name and the query task name are not empty, it indicates that a directional query is performed on the specified task created by the current queryer in the specified project; When the second instruction type is task submission, the second instruction parameters include the task submitter identifier, the project name to which the submitted task belongs, and the submitted task name; When the second instruction type is task download, the second instruction parameters include the task downloader identifier, the name of the download task project, and the download task name; When the second instruction type is task deletion, the second instruction parameters include the task deleter identifier, the name of the project to which the deleted task belongs, and the deleted task name; when the name of the project to which the deleted task belongs and the deleted task name are both empty, it means that all tasks created by the current deleter will be deleted; when only the deleted task name is empty, it means that all tasks created by the current deleter in the specified project will be deleted; when both the name of the project to which the deleted task belongs and the deleted task name are not empty, it means that the specified task created by the current deleter in the specified project will be deleted in a targeted manner.

4. The scientific computing service system according to claim 3, characterized in that: The project management module is specifically used for performing corresponding project creation processing according to the first instruction parameter, the management database and the project storage module and using the processing result as the corresponding first service feedback: Step 41, extracting the corresponding created project name, the project creator identifier and the project member group information from the first instruction parameter; Step 42, using the project creator identifier and each of the project member identifiers in the project member group information as corresponding current user identifiers; and taking the first registered user record in the user information database that matches the first registered user identifier and the current user identifier as the corresponding matching user record; and identifying whether all the obtained matching user records are not empty; if so, going to step 43; if not, setting the corresponding first processing result as creation failure, and going to step 45; Step 43, record the first project record in the project information library, in which the first task creator identifier matches the project creator identifier, the first project name matches the created project name, and the first project status is normal, as the corresponding current matching project record; and identify whether the current matching project record is empty; if so, go to step 44; if not, set the corresponding first processing result to creation failure, and go to step 45; Step 44, adding a new first project record as the corresponding current newly added record in the project information library; and assigning a unique identifier to the current newly added record as the corresponding current project identifier; and applying to the project storage module to add a new first project storage area to be bound to the current newly added record, and using the unique storage area identifier of the currently bound first project storage area as the corresponding current storage area identifier; and setting the first project identifier of the current newly added record to the corresponding current project identifier, the first project creator identifier to the corresponding project creator identifier, the first project name to the corresponding created project name, the first storage area identifier to the corresponding current storage area identifier, the first member identifier set to the corresponding project member group information, and the first project status to normal; and when the setting of the current newly added record is completed, setting the corresponding first processing result to creation success; Step 45: Use the obtained first processing result as the corresponding first service feedback.

5. The scientific computing service system according to claim 3, characterized in that: The project management module is specifically used for performing corresponding project information query processing according to the first instruction parameter and the management database and using the query result as the corresponding first service feedback: Step 51, extracting the corresponding project queryer identifier and the query project name from the first instruction parameter; Step 52, if the query project name is empty, then the first project creator identifier in the project information library is matched with the project query identifier, or there is a first member identifier in the first member identifier set that matches the project query identifier, and the first project status is normal, and the first project record is extracted to form the corresponding first query result; Step 53, if the query project name is not empty, extract the first project record in the project information library in which the first project creator identifier matches the project query identifier or there is a first member identifier in the first member identifier set that matches the project query identifier, and the first project name matches the query project name, and the first project status is normal, as the corresponding current project record; and assign a corresponding access entry address to the first project storage area corresponding to the current project record, recorded as the corresponding current project storage area access address; and the current project record and the current project storage area access address constitute the corresponding first query result; Step 54: Use the obtained first query result as the corresponding first service feedback.

6. The scientific computing service system according to claim 3, characterized in that: The project management module is specifically used for performing corresponding project information deletion processing according to the first instruction parameter, the management database and the project storage module and using the processing result as the corresponding first service feedback: Step 61, extracting the corresponding item deleter identifier and the deleted item name from the first instruction parameter; Step 62: if the name of the deleted project is empty, the first project records in the project information library whose first project creator identifier matches the project deleter identifier and whose first project status is normal are recorded as corresponding records of the project to be deleted; and when the total number of the records of the project to be deleted is greater than 0, the first project status of all the records of the project to be deleted is reset to deleted, and an application is made to the project storage module to delete the first project storage area bound to all the records of the project to be deleted; and the corresponding second processing result is set to be deleted successfully; Step 63, if the deleted project name is not empty, the first project record in the project information library, in which the first project creator identifier matches the project deleter identifier, the first project name matches the deleted project name, and the first project status is normal, is recorded as the corresponding current project record to be deleted; and it is identified whether the current project record to be deleted is empty; if so, the corresponding second processing result is set to deletion failure; if not, the first project status of the current project record to be deleted is reset to deleted, and an application is made to the project storage module to delete the first project storage area bound to the current project record to be deleted, and the corresponding second processing result is set to deletion success; Step 64: Use the obtained second processing result as the corresponding first service feedback.

7. The scientific computing service system according to claim 3, characterized in that: The task management module is specifically configured to, when performing corresponding image information query processing according to the second instruction parameter and the management database and using the query result as the corresponding second service feedback, form the corresponding second service feedback from all the first image records of the image information library; The task management module is specifically used to form the corresponding second service feedback from all the first node records of the node information library when the corresponding computing node information query processing is performed according to the second instruction parameters and the management database and the query result is used as the corresponding second service feedback.

8. The scientific computing service system according to claim 3, characterized in that: The task management module is specifically used for performing a corresponding task creation process according to the second instruction parameter and the management database and using the process result as the corresponding second service feedback: Step 81, extracting the corresponding task creator identifier and the task configuration file from the second instruction parameter; And extract from the task configuration file the corresponding creation task name, task belonging project name, computing tool image name, computing tool image version, computing input file set, computing input data set, computing task execution script, task node model name, task node CPU core number, task node memory, task node GPU model, task node GPU video memory, task node hourly unit price, task node SSH connection login name and task node SSH login password; Step 82, taking the first registered user record in the user information database that matches the first registered user identifier with the task creator identifier as the corresponding current user record; and identifying whether the current user record is empty; If not, go to step 83; if so, set the corresponding third processing result to creation failure, and go to step 86; Step 83, taking the first project record in the project information library in which the first project creator identifier matches the task creator identifier or there is a first member identifier in the first member identifier set that matches the task creator identifier and the first project status is normal as the corresponding current belonging project record; and identifying whether the current belonging project record is empty; If not, go to step 84; if so, set the corresponding third processing result to creation failure, and go to step 86; Step 84, record the first task record in the task information library, in which the first task creator identifier matches the task creator identifier, the first task name matches the created task name, the first belonging project name matches the task belonging project name, and the first task status is not deleted, as the corresponding current matching task record; and identify whether the current matching task record is empty; if so, go to step 85; if not, set the corresponding third processing result to creation failure, and go to step 86; Step 85, add a new first task record in the task information library as the corresponding current newly added record; and assign a unique identifier to the current newly added record as the corresponding current task identifier; and set the first task identifier of the current newly added record to the corresponding current task identifier, set the first task creator identifier to the corresponding task creator identifier, set the first task name to the corresponding created task name, set the first belonging project name to the corresponding task belonging project name, set the first task image name to the corresponding computing tool image name, set the first task image version to the corresponding computing tool image version, set the first input file set to the slightly corresponding computing input file set, set the first data set to the corresponding computing input data set, and set the first script to the corresponding The computing task execution script, the first machine model name is set to the corresponding machine model name of the task node, the first CPU core number is set to the corresponding CPU core number of the task node, the first memory is set to the corresponding memory of the task node, the first GPU model is set to the corresponding GPU model of the task node, the first GPU video memory is set to the corresponding GPU video memory of the task node, the first hourly unit price is set to the corresponding hourly unit price of the task node, the first SSH connection login name is set to the corresponding SSH connection login name of the task node, the first SSH login password is set to the corresponding SSH login password of the task node, the first task node identifier is set to empty, and the first task status is set to created; and when the settings of the current newly added record are completed, the corresponding third processing result is set to creation success; Step 86: Use the obtained third processing result as the corresponding second service feedback.

9. The scientific computing service system according to claim 3, characterized in that: The task management module is specifically used for performing corresponding task information query processing according to the second instruction parameter and the management database and using the query result as the corresponding second service feedback: Step 91, extracting the corresponding task inquirer identifier, the query task belonging project name and the query task name from the second instruction parameter; Step 92, if the query task belonging project name and the query task name are both empty, then all the first task creator identifiers in the task information library that match the task query identifier and whose first task status is not deleted are extracted to form a corresponding second query result; Step 93, if the query task belonging project name is not empty but the query task name is empty, then all the first task creator identifiers in the task information library that match the task query identifier, and the first belonging project name matches the query task belonging project name, and the first task status is not deleted are extracted to form the corresponding second query result; Step 93, if the query task belonging project name and the query task name are not empty, then the first task record in the task information library, in which the first task creator identifier matches the task query identifier, the first belonging project name matches the query task belonging project name, the first task name matches the query task name, and the first task status is not deleted, is extracted as the corresponding second query result; Step 94: Use the obtained second query result as the corresponding second service feedback.

10. The scientific computing service system according to claim 3, characterized in that: The task management module is specifically used for performing corresponding task submission processing according to the second instruction parameter, the management database and the computing node resource pool and using the processing result as the corresponding second service feedback: Step 101, extracting the corresponding task submitter identifier, the project name to which the submitted task belongs, and the submitted task name from the second instruction parameter; Step 102, extracting the first task record in the task information library, in which the first task creator identifier matches the task submitter identifier, the first belonging project name matches the submitted task belonging project name, the first task name matches the submitted task name, and the first task status is created, as the corresponding current submitted record; and identifying whether the current submitted record is empty; If not, go to step 103; If yes, set the corresponding fourth processing result to submission failure, and go to step 106; Step 103, setting the first task status of the current submission record in the task information library to being submitted; extracting the corresponding first task image name, the first task image version, the first input file set, the first data set, the first script, the first machine model name, the first CPU core number, the first memory, the first GPU model, the first GPU video memory, the first hourly unit price, the first SSH connection login name, and the first SSH login password from the current submission record; and the first CPU core number, the first memory, the first GPU model, and the first GPU video memory form the corresponding first hardware configuration requirement; Step 104, extracting all first node records in the node information database whose machine model name matches the first machine model name, whose hourly unit price of the first node is less than or equal to the first hourly unit price, whose hardware configuration of the first node meets the first hardware configuration requirement, and whose occupancy status of the first node is idle, to form a corresponding first record set; And identify the preset node optimization mode; If the node preference mode is the first mode, taking the first node record with the highest configuration level of the hardware configuration of the first node in the first record set as the corresponding current node record; If the node preference mode is the second mode, the first node record with the lowest hourly unit price of the first node in the first record set is used as the corresponding current node record; and setting the occupation state of the first node recorded by the current node to occupied; Wherein, the node optimization mode includes a first mode and a second mode; Step 105: record the first image record in the image information library that matches the first image name and the first image version with the corresponding first task image name and the first task image version as the corresponding current image record; download the scientific computing tool software image resource at the first image storage address of the current image record to obtain the corresponding scientific computing tool image; use the first computing node corresponding to the current node record as the corresponding current computing node; use the first node IP address of the current node record as the corresponding current node IP address; establish an SSH connection channel with the current node IP address as the corresponding first channel; and set the login user name and login user password of the first channel to the corresponding first SSH connection login name and the first SSH login password. code; and sending the scientific computing tool image to the current computing node through the first channel; and remotely controlling the current computing node through the first channel to create a corresponding container instance based on the scientific computing tool image and using the obtained container as the corresponding scientific computing container; and sending the first input file set, the first data set and the first script to the container environment of the scientific computing container through the first channel for storage; and executing the first script in the container environment of the scientific computing container; and after the first script starts to execute, closing the first channel, and setting the first task node identifier of the current submission record in the task information library to the first node identifier of the current node record, and the first task state to running; and setting the corresponding fourth processing result to submission success; Step 106: Use the obtained fourth processing result as the corresponding second service feedback.

11. The scientific computing service system according to claim 10, characterized in that: The task management module is specifically used for performing corresponding task download processing according to the second instruction parameter, the management database, the computing node resource pool and the project storage module and using the processing result as the corresponding second service feedback: Step 111, extracting the corresponding task downloader identifier, the download task project name and the download task name from the second instruction parameter; Step 112, taking the first task record in the task information library in which the first task creator identifier matches the task downloader identifier, the first task name matches the download task name, and the first attribution project name matches the download task attribution project name as the corresponding current task record; and identifying whether the first task status of the current task record is ended; if so, go to step 113; if not, set the corresponding fifth processing result to download failure, and go to step 114; Step 113, using the first SSH connection login name, the first SSH login password, and the first task node identifier recorded in the current task as the corresponding current login name, current login password, and current node identifier; and taking the first node record in the node information base whose first node identifier matches the current node identifier as the corresponding current node record; and taking the first computing node corresponding to the current node record as the corresponding current computing node; and using the first node IP address recorded by the current node as the corresponding current node IP address; and establish an SSH connection channel with the current node IP address as a corresponding second channel, and remotely log in to the current computing node through the second channel according to the current login name and the current login password; After the login is successful, the current directory in the container environment of the scientific computing container on the current computing node is switched to the default computing output directory through the second channel, and all files in the current directory are packaged and compressed to obtain a corresponding computing output directory compression package, and the computing output directory compression package is downloaded to the local cache directory of the task management module through the second channel; After the download is successful, remotely controlling the current computing node through the second channel to delete the scientific computing container and the corresponding scientific computing tool image; After the container is successfully deleted, the second channel is closed, the occupation state of the first node recorded by the current node is reset to idle, and the calculation output directory compression package is copied from the cache directory to the corresponding first project storage area in the project storage module; When the copying is successful, the calculation output directory compressed package in the cache directory is deleted, and the first task status of the current task record in the task information library is set to downloaded; and the corresponding fifth processing result is set to download successfully; Step 114: Use the obtained fifth processing result as the corresponding second service feedback.

12. The scientific computing service system according to claim 3, characterized in that: The task management module is specifically used for performing corresponding task deletion processing according to the second instruction parameter and the management database and using the processing result as the corresponding second service feedback: Step 121, extracting the corresponding task deleter identifier, the name of the deleted task project and the deleted task name from the second instruction parameter; Step 122, the first task record in the task information library, in which the first task creator identifier matches the task deleter identifier, the first task name matches the deleted task name, the first belonging project name matches the deleted task belonging project name, and the first task status is created, ended or downloaded, is taken as the corresponding current deletion record; and whether the current deletion record is empty is identified; if not, go to step 123; if so, set the corresponding sixth processing result to deletion failure, and go to step 124; Step 123, setting the first task status of the current deletion record to deleted; and setting the corresponding sixth processing result to deleted successfully; Step 124: Use the obtained sixth processing result as the corresponding second service feedback.

13. The scientific computing service system according to claim 10, characterized in that: The task monitoring module is specifically used for: when performing task running status monitoring processing according to the computing node resource pool and the management database: Step 131, regularly forming a corresponding running task record set from the first task records in the task information database whose first task status is running according to a preset first inspection frequency; Step 132, performing a round of traversal on all the first task records in the running task record set; and in this round of traversal, taking the first task record currently traversed as the corresponding current task record; and taking the first SSH connection login name, the first SSH login password, and the first task node identifier of the current task record as the corresponding current login name, current login password, and current node identifier; and taking the first node record in the node information base whose first node identifier matches the current node identifier as the corresponding current node record; and taking the first computing node corresponding to the current node record as the corresponding current computing node; and using the first node IP address recorded by the current node as the corresponding current node IP address; And establish an SSH connection channel with the current node IP address as the corresponding third channel, and remotely log in to the current computing node through the third channel according to the current login name and the current login password; and after successful login, identify the execution status of the first script executed in the container environment of the scientific computing container on the current computing node through the third channel to obtain the corresponding first execution status; and after obtaining the first execution status, close the third channel; and when the first execution status is the end of execution, set the first task status of the current task record in the task information library to be ended.

14. The scientific computing service system according to claim 2, characterized in that: The lifecycle management module is specifically used to physically delete the first project record in the project information library whose first project status is deleted at a preset second inspection frequency when physically deleting the database information marked as deleted data in the management database; and to physically delete the first task record in the task information library whose first task status is deleted at a preset third inspection frequency.