Technical scheme management system taking Notebook file as medium

By using Notebook files and node clusters in the technical solution management system to build a unified operating environment, the problem of difficulty and transparency of software environment reproduction by scientific researchers when publishing and reproducing technical solutions is solved, and the effect of simplifying preparation work, reducing reproduction difficulty and improving solution transparency and reproducibility is achieved.

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

Patent Information

Application Number
CN202411764427.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

In the prior art, scientific researchers face the problems of difficulty in reproducing software environments, low transparency of the solution and high reproducing difficulty when publishing and reproducing technical solutions.

Method used

It adopts a technical solution management system based on Notebook files as the medium. The system includes a client, management end, solution library and node cluster. It stores and edits technical solutions through Notebook files, and automatically builds a unified Notebook operating environment through node clusters to provide operation and debugging functions.

Benefits of technology

It simplifies the preparation of technical solutions, reduces the difficulty of reproducing solutions, and improves the transparency and reproducibility of solutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718284A_ABST
    Figure CN119718284A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to a technical scheme management system taking a Notebook file as a medium. The system comprises a client, a management end, a scheme library and a node cluster, the management end is respectively connected with the client, the scheme library and the node cluster; and the client is also connected with the node cluster. Based on the system, the purposes of reducing the difficulty of scheme reproduction and improving the reproducibility of the scheme can be achieved.
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 technical solution management system using a Notebook file as a medium. Background Art

[0002] The reproducibility of scientific research results is an important prerequisite for demonstrating the scientific research level of a scientific research project. For scientific research projects that conduct scientific research and technological development based on software environments, the output of scientific research results is essentially a technical solution composed of a series of software codes. At present, when scientific researchers or technical developers disclose their research results, they mostly publish papers and / or open source codes to make the content public, in the hope that other scientific researchers or technical developers can reconstruct the project and reproduce the results based on the public paper content and / or open source code. However, in practice, we found that even if the solution provider discloses the source code, it is still difficult for the solution query party to easily reproduce the implementation effect of the solution provided by the provider due to multiple factors such as the expression level of the paper, the quality of the open source code, and the difficulty of reproducing the software environment.

[0003] In addition, we know that the Notebook editor (such as Jupyter Notebook and Marimo Notebook) is an intuitive interactive editor; this editor can embed static text / rich text / images / audio / video through Markdown cells in the edited Notebook file, embed software code through code cells, and debug and run the embedded software code. Based on the technical characteristics of the Notebook editor, if the traditional solution publishing method with static papers and / or open source codes is converted to a solution publishing method with Notebook files as the medium, the preparatory work content for the inquirer to reproduce the solution can be greatly simplified, thereby reducing the difficulty of solution reproduction and improving the transparency and reproducibility of the solution. This is also the technical problem that the present invention needs to solve. Summary of the invention

[0004] The purpose of the present invention is to provide a technical solution management system with Notebook files as the medium in view of the defects of the prior art, the system comprising: a client, a management terminal, a solution library and a node cluster; wherein the solution library is used to store all users' own solutions and public solutions, and uses Notebook files as the solution file storage medium; the client provides the logged-in user with the function of editing a new solution, editing the own historical solution, and browsing and re-editing the copies of other public solutions through the web page version of the Notebook editor, and automatically builds a unified Notebook running environment for all editing / browsing users of the solution by using the working nodes of the node cluster through linkage with the management terminal, and provides the user with the running and debugging function of the Notebook file based on the built Notebook running environment. Based on the system of the present invention, neither the provider of the technical solution nor the inquirer needs to deal with the construction or reconstruction of the software environment, thereby achieving the purpose of simplifying the preparation work content and reducing the difficulty of reproducing the solution; for the provider of the technical solution, it is convenient to explain the solution content in detail through multimodal (static text / rich text / image / audio / video) expression, thereby achieving the purpose of further improving the transparency of the solution; for the inquirer of the technical solution, it is convenient to run and debug a copy of the public solution based on the same operating environment, thereby achieving the purpose of reducing the difficulty of solution verification and improving the reproducibility of the solution.

[0005] To achieve the above-mentioned purpose, an embodiment of the present invention provides a technical solution management system using Notebook files as a medium, the system comprising: a client, a management terminal, a solution library and a node cluster;

[0006] The management end is connected to the client, the solution library and the node cluster respectively; the client is also connected to the node cluster;

[0007] The client is a web page client; the client is used to use the user identifier of the current user as the corresponding first user identifier after the user logs in successfully; and send a first query application with the first user identifier to the management end; and receive a list of proprietary solutions sent back by the management end; and send a second query application to the management end, and receive a list of public solutions sent back by the management end; when the proprietary solution list is not empty, it is composed of one or more proprietary solution information; the proprietary solution information includes the proprietary solution identifier, the proprietary solution name and the most recent update time of the proprietary solution; when the public solution list is not empty, it is composed of one or more public solution information; the public solution information includes the public solution identifier, the public solution name and the most recent update time of the public solution;

[0008] The client is also used to provide the current user with a first main page with a new solution creation option, a self-owned solution display area and a public solution display area after receiving the self-owned and public solution lists; and display the self-owned solution list in the self-owned solution display area; and display the public solution list in the public solution display area;

[0009] The client is also used to link with the management terminal and the node cluster and perform technical solution editing processing using the Notebook file as a medium when the current user selects the new solution creation option or when the current user selects one of the own solution information from the own solution display area;

[0010] The client is also used to link with the management end and the node cluster when the current user selects a public solution information from the public solution display area and use the Notebook file as a medium to browse, edit and run the copy of the current technical solution;

[0011] The management terminal is used to extract the corresponding first user identifier from the first query application upon receiving the first query application; and record the first solution record in which each creator identifier field in the solution library matches the first user identifier and the solution status field is in the creation state as the corresponding self-owned solution record; and use the solution identifier field, solution name field and update time field of each self-owned solution record as the corresponding self-owned solution identifier, the self-owned solution name and the most recent update time of the self-owned solution to form a corresponding self-owned solution information; and use all the obtained self-owned solution information to form a corresponding self-owned solution list and send it back to the client;

[0012] The management end is further used for, upon receiving the second query application, recording each of the first solution records in the solution library whose solution status field is in the published state as a corresponding public solution record; and using the solution identification field, solution name field and update time field of each of the public solution records as the corresponding public solution identification, the public solution name and the most recent update time of the public solution to form a corresponding public solution information; and using all the obtained public solution information to form a corresponding public solution list to send back to the client;

[0013] The solution library is used to store a plurality of first solution records: the first solution record includes the solution identification field, the creator identification field, the solution name field, the solution file field, the update time field and the solution status field; the solution status field includes the creation status and the release status;

[0014] The node cluster consists of a management node and multiple working nodes; the management node is connected to each of the working nodes.

[0015] Preferably, the management node has a built-in image download address of a Notebook image; the Notebook image is an installation package image of a Notebook runtime environment; the Notebook runtime environment includes at least a Jupyter Notebook runtime environment and a Marimo Notebook runtime environment; the Notebook image includes at least an operating system component installer, a Notebook server installer, a program code interpreter installer of a Notebook editor, an editor kernel installer of a Notebook editor, a Notebook environment dependency library and extension library installer, a Notebook editor installer, an SSH component installer, an environment variable configuration program, and a main installer or a main installation batch file for executing all installation / configuration programs one by one in a specified order;

[0016] Among them, the program code interpreter installation program and the editor kernel installation program correspond to a specific source code programming language; when the code programming language is Python programming language, the program code interpreter installation program and the editor kernel installation program are corresponding Python interpreter installation program and IPython kernel installation program; when the code programming language is C / C++ programming language, the program code interpreter installation program and the editor kernel installation program are corresponding C / C++ interpreter installation program and C / C++ kernel installation program; when the code programming language is Java programming language, the program code interpreter installation program and the editor kernel installation program are corresponding Java interpreter installation program and IJava kernel installation program; when the code programming language is R programming language, the program code interpreter installation program and the editor kernel installation program are corresponding R interpreter installation program and IR kernel installation program; when the code programming language is Julia programming language, the program code interpreter installation program and the editor kernel installation program are corresponding Julia interpreter installation program and IJulia kernel installation program; the Notebook image includes one or more groups of the program code interpreter installation programs and the editor kernel installation programs for different types of the source code programming languages.

[0017] Preferably, the client is specifically used for linking with the management terminal and the node cluster and performing technical solution editing processing using the Notebook file as a medium when the current user selects the new solution creation option or when the current user selects one of the own solution information from the own solution display area:

[0018] Step 31, when the current user selects the new solution creation option, a first creation application with the first user identifier is sent to the management end, and the new solution identifier sent back by the management end is used as the corresponding editing solution identifier, and the corresponding editing solution name is set as the preset default file name, and the corresponding editing solution file and the most recent cache time are set to be empty; or when the current user selects one of the own solution information from the own solution display area, the own solution identifier and the own solution name of the current own solution information are used as the corresponding editing solution identifier and the editing solution name, and the corresponding most recent cache time is set to be empty, and a first download application with the editing solution identifier is sent to the management end, and the own solution file sent back by the management end is used as the corresponding editing solution file;

[0019] Step 32, after obtaining the editing scheme identifier, the editing scheme name, the editing scheme file and the most recent cache time, a first scheme editing interface is provided for the current user; and the display text of the first title input area of ​​the first scheme editing interface is set to the corresponding editing scheme name; and the content of the editing scheme file is loaded based on the first file editor of the first scheme editing interface; and the Notebook file editing function is provided for the current user based on the first file editor;

[0020] The interface components of the first scheme editing interface include a first A-type running option, a first B-type running option, a first interruption option, a first connection option, a first disconnection option, a first publishing option, the first title input area, and the first file editor; the first file editor is a type of Notebook file editor; the Notebook file editor includes a Jupyter Notebook file editor and a Marimo Notebook file editor;

[0021] Step 33, when the current user is editing on the first scheme editing interface, the latest input text of the current user in the first title input area is used as the latest editing scheme name; and the Notebook file in the first file editor is periodically cached as the latest editing scheme file based on a first preset frequency; and each time the file is cached, the current time is used as the latest latest cache time; and a first update application carrying the editing scheme identifier, the editing scheme name, the editing scheme file and the latest cache time is sent to the management end;

[0022] Step 34, when the current user selects the first connection option, a first connection request is sent to the management end, and the first node parameter sent back by the management end is received; and the Notebook container running on the working node corresponding to the first node parameter in the node cluster is used as the corresponding first node container; and the Notebook container is connected to the first node container according to the first node parameter; and all code cells and all Markdown cells in the first file editor are run and debugged according to the first node container and the first Class A running option, the first Class B running option and the first interrupt option;

[0023] Wherein, the first node parameters include a first IP address, a first SSH port, a first SSH login name, and a first SSH login password;

[0024] Step 35: when the current user selects the first disconnection option, disconnect the connection with the first node container, and send a first disconnection request carrying the first node parameter to the management end;

[0025] Step 36: When the current user selects the first publishing option, the first publishing application carrying the editing scheme identifier, the editing scheme name, the editing scheme file and the most recent cache time is sent to the management terminal.

[0026] Preferably, the management end is further used to extract the corresponding first user identifier from the first creation application upon receiving the first creation application; and add a new first solution record in the solution library as the corresponding new solution record; and assign a unique solution identifier to the new solution record as the corresponding current solution identifier; and use the current time as the corresponding current update time; and set the solution identifier field of the new solution record to the corresponding current solution identifier, the creator identifier field to the corresponding first user identifier, the solution name field to the default file name, the solution file field to empty, the update time field to the corresponding current update time, and the solution status field to the creation status; and send the current solution identifier back to the client as the corresponding new solution identifier;

[0027] The management end is further configured to extract the corresponding editing scheme identifier from the first download application upon receiving the first download application; and extract the scheme file field of the first scheme record whose scheme identifier field in the scheme library matches the editing scheme identifier as the corresponding own scheme file and send it back to the client;

[0028] The management end is further configured to extract the corresponding editing scheme identifier, the editing scheme name, the editing scheme file and the most recent cache time from the first update application upon receiving the first update application; and update the scheme name field, the scheme file field and the update time field of the first scheme record whose scheme identifier field in the scheme library matches the editing scheme identifier to the corresponding editing scheme name, the editing scheme file and the most recent cache time;

[0029] The management end is further configured to forward the first connection application to the management node of the node cluster upon receiving the first connection application, and send the first node parameter sent back by the management node to the client;

[0030] The management end is further used for forwarding the first disconnection application to the management node of the node cluster upon receiving the first disconnection application, and receiving and waiting for a first disconnection feedback sent back by the management node within a preset first waiting time; if the first disconnection feedback is not received within the first waiting time or the first disconnection feedback received within the first waiting time is a failure, forwarding the first disconnection application to the management node again until the first disconnection feedback received is a success;

[0031] The management end is also used to extract the corresponding editing scheme identifier, the editing scheme name, the editing scheme file and the most recent cache time from the first publishing application when receiving the first publishing application; and record the first scheme record whose scheme identifier field in the scheme library matches the editing scheme identifier as the corresponding current publishing scheme record; and update the scheme name field, the scheme file field and the update time field of the current publishing scheme record to the corresponding editing scheme name, the editing scheme file and the most recent cache time; and set the scheme status field of the current publishing scheme record to the publishing status.

[0032] Preferably, the management node of the node cluster is used to select a working node whose node condition is in an idle state as the current node when receiving the first connection application; and download the Notebook image to the current node to create an image container to obtain the corresponding Notebook container, and run the Notebook container; and perform corresponding IP address allocation, SSH port setting, SSSH login name setting and SSH login password setting for the Notebook container running on the current node to obtain the corresponding first IP address, the first SSH port, the first SSH login name and the first SSH login password to form the corresponding first node parameters and send them back to the management terminal; and set the node condition of the current node to an occupied state;

[0033] The management node of the node cluster is further used to extract the corresponding first node parameter from the first disconnection application upon receiving the first disconnection application; and use the working node where the Notebook container corresponding to the first node parameter is located as the corresponding current node; and identify the node working condition of the current node; if the current node working condition is an idle state, set a corresponding first disconnection feedback as success; if the current node working condition is an occupied state, delete the Notebook container running on the current node, and if the container deletion fails, set a corresponding first disconnection feedback as failure; if the container deletion is successful, further release the node resources occupied by the Notebook container on the current node, if the resource release fails, set a corresponding first disconnection feedback as failure, and if the resource release is successful, set a corresponding first disconnection feedback as success; and send the obtained first disconnection feedback back to the management end; and set the node working condition of the current node to an idle state.

[0034] Preferably, the client is specifically used to extract the corresponding first IP address, the first SSH port, the first SSH login name and the first SSH login password from the first node parameters when connecting to the first node container according to the first node parameters; and use the address-port information composed of the first IP address and the first SSH port as the SSH connection address-port information corresponding to the first node container, and use the first SSH login name and the first SSH login password to form the SSH login information corresponding to the first node container, and establish an SSH connection channel with the first node container based on the SSH connection address-port information and the SSH login information of the first node container, which is recorded as the corresponding first SSH channel;

[0035] The client is specifically configured to close the first SSH channel when disconnecting from the first node container.

[0036] Preferably, the client is specifically used for, when running and debugging all code cells and all Markdown cells in the first file editor according to the first node container and the first class A running option, the first class B running option, and the first interrupt option:

[0037] Step 71: when the current user selects the first Class A running option, the latest editing scheme file is transferred to the running environment of the first node container through the first SSH channel to be saved and recorded as a corresponding temporary Notebook file; and in the running environment of the first node container, the running debugging instruction of the Notebook editor is called through the first SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with the running and debugging results of all cells, which is recorded as a corresponding Notebook debugging file; and the Notebook debugging file is retrieved to the local client through the first SSH channel; and when the transmission of the Notebook debugging file is completed, the temporary Notebook file and the Notebook debugging file are deleted through the first SSH channel in the running environment of the first node container; and a corresponding output cell is generated for each code cell or Markdown cell in the first file editor, and the content of the corresponding cell running and debugging results in the current Notebook debugging file is loaded based on each output cell;

[0038] Step 72, when the current user selects the first Class B running option, the latest editing scheme file is transferred to the running environment of the first node container through the first SSH channel to be saved and recorded as the corresponding temporary Notebook file; and in the running environment of the first node container, the kernel restart instruction of the Notebook editor is called through the first SSH channel to perform kernel restart processing, and after the kernel restart is successful, the running debugging instruction of the Notebook editor is called through the first SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with all cell running and debugging results recorded as the corresponding Notebook debugging file; and the Notebook debugging file is retrieved to the client locally through the first SSH channel; and when the Notebook debugging file is transferred, the temporary Notebook file and the Notebook debugging file are deleted through the first SSH channel in the running environment of the first node container; and a corresponding output cell is generated for each code cell or Markdown cell in the first file editor, and the corresponding cell running and debugging results in the current Notebook debugging file are loaded with content based on each output cell;

[0039] Step 73: When all code cells and all Markdown cells in the temporary Notebook file are being run and debugged on the first node container, if the current user selects the first interrupt option, in the running environment of the first node container, the debugging interrupt instruction of the Notebook editor is called through the first SSH channel to interrupt the currently executed running and debugging process to obtain a Notebook file with the running and debugging results of some cells, which is recorded as the corresponding Notebook interrupt file; and the Notebook interrupt file is retrieved to the client locally through the first SSH channel; and when the transmission of the Notebook interrupt file is completed, the temporary Notebook file and the Notebook interrupt file are deleted through the first SSH channel in the running environment of the first node container; and a corresponding output cell is generated in the first file editor for each code cell or Markdown cell corresponding to the current Notebook interrupt file, and the content of the corresponding cell running and debugging results in the current Notebook interrupt file is loaded based on each output cell.

[0040] Preferably, the client is specifically used for, when the current user selects one of the public solution information from the public solution display area, to link with the management end and the node cluster and to browse, edit and run the copy of the current technical solution using the Notebook file as a medium:

[0041] Step 81, when the current user selects one of the public scheme information from the public scheme display area, the public scheme identifier and the public scheme name of the current public scheme information are used as the corresponding browsing scheme identifier and browsing scheme name; and a second download application carrying the browsing scheme identifier is sent to the management end, and the public scheme file sent back by the management end is stored locally on the client as the corresponding scheme copy file; and a first scheme browsing interface is provided for the current user; and the display text of the second title input area of ​​the first scheme browsing interface is set to the corresponding browsing scheme name; and the second file editor of the first scheme browsing interface is used to load the content of the scheme copy file; and the Notebook file editing function is provided for the current user based on the second file editor;

[0042] The interface components of the first solution browsing interface include a second A-type running option, a second B-type running option, a second interrupt option, a second connection option, a second disconnect option, the second title input area, and the second file editor; the second file editor and the first file editor are the same type of Notebook file editor;

[0043] Step 82: When the current user browses or edits in the second file editor, the Notebook file in the second file editor is periodically cached based on a second preset frequency as the latest copy file of the solution;

[0044] Step 83, when the current user selects the second connection option, a second connection application is sent to the management end, and the second node parameter sent back by the management end is received; and the Notebook container running on the working node corresponding to the second node parameter in the node cluster is used as the corresponding second node container; and the Notebook container is connected to the second node container according to the second node parameter; and all code cells and all Markdown cells in the second file editor are run and debugged according to the second node container and the second Class A running option, the second Class B running option and the second interrupt option;

[0045] The second node parameters include a second IP address, a second SSH port, a second SSH login name, and a second SSH login password;

[0046] Step 84: When the current user selects the second disconnection option, disconnect the second node container, and send a second disconnection request carrying the second node parameters to the management terminal.

[0047] Preferably, the management end is further used to extract the corresponding browsing solution identifier from the second download application when receiving the second download application; and extract the solution file field of the first solution record whose solution identifier field in the solution library matches the browsing solution identifier as the corresponding public solution file and send it back to the client;

[0048] The management end is further configured to forward the second connection application to the management node of the node cluster upon receiving the second connection application, and send the second node parameter sent back by the management node to the client;

[0049] The management end is also used to forward the second disconnection application to the management node of the node cluster when receiving the second disconnection application, and receive and wait for the second disconnection feedback sent back by the management node within a preset second waiting period; if the second disconnection feedback is not received within the second waiting period or the second disconnection feedback received within the second waiting period is a failure, the second disconnection application is forwarded to the management node again until the second disconnection feedback received is successful.

[0050] Preferably, the management node of the node cluster is further used to select a working node whose node condition is in an idle state as the current node when receiving the second connection application; and download the Notebook image to the current node to create an image container to obtain the corresponding Notebook container, and run the Notebook container; and perform corresponding IP address allocation, SSH port setting, SSSH login name setting and SSH login password setting for the Notebook container running on the current node to obtain the corresponding second IP address, the second SSH port, the second SSH login name and the second SSH login password to form the corresponding second node parameters and send them back to the management terminal; and set the node condition of the current node to an occupied state;

[0051] The management node of the node cluster is further used to extract the corresponding second node parameter from the second disconnection application upon receiving the second disconnection application; and use the working node where the Notebook container corresponding to the second node parameter is located as the corresponding current node; and identify the node working condition of the current node; if the current node working condition is an idle state, set a corresponding second disconnection feedback as success; if the current node working condition is an occupied state, delete the Notebook container running on the current node, and if the container deletion fails, set a corresponding second disconnection feedback as failure; if the container deletion is successful, further release the node resources occupied by the Notebook container on the current node, if the resource release fails, set a corresponding second disconnection feedback as failure, and if the resource release is successful, set a corresponding second disconnection feedback as success; and send the obtained second disconnection feedback back to the management end; and set the node working condition of the current node to an idle state.

[0052] Preferably, the client is specifically used to extract the corresponding second IP address, the second SSH port, the second SSH login name and the second SSH login password from the second node parameters when connecting with the second node container according to the second node parameters; and use the address and port information composed of the second IP address and the second SSH port as the SSH connection address and port information corresponding to the second node container, and use the second SSH login name and the second SSH login password to form the SSH login information corresponding to the second node container, and establish an SSH connection channel with the second node container based on the SSH connection address and port information and the SSH login information of the second node container as the corresponding second SSH channel;

[0053] The client is specifically configured to close the second SSH channel when disconnecting the connection with the second node container.

[0054] Preferably, the client is specifically used for, when running and debugging all code cells and all Markdown cells in the second file editor according to the second node container and the second Class A running option, the second Class B running option, and the second interrupt option:

[0055] Step 121: when the current user selects the second Class A running option, the latest copy file of the solution is transferred to the running environment of the second node container through the second SSH channel to be saved and recorded as a corresponding temporary Notebook file; and in the running environment of the second node container, the running and debugging instructions of the Notebook editor are called through the second SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with the running and debugging results of all cells, which is recorded as a corresponding Notebook debugging file; and the Notebook debugging file is retrieved to the local client through the second SSH channel; and when the transmission of the Notebook debugging file is completed, the temporary Notebook file and the Notebook debugging file are deleted through the second SSH channel in the running environment of the second node container; and a corresponding output cell is generated for each code cell or Markdown cell in the second file editor, and the content of the corresponding cell running and debugging results in the current Notebook debugging file is loaded based on each output cell;

[0056] Step 122, when the current user selects the second Class B running option, the latest copy file of the solution is transferred to the running environment of the second node container through the second SSH channel to be saved and recorded as the corresponding temporary Notebook file; and in the running environment of the second node container, the kernel restart instruction of the Notebook editor is called through the second SSH channel to perform kernel restart processing, and after the kernel restart is successful, the running debugging instruction of the Notebook editor is called through the second SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with all cell running and debugging results recorded as the corresponding Notebook debugging file; and the Notebook debugging file is retrieved to the local client through the second SSH channel; and when the transmission of the Notebook debugging file is completed, the temporary Notebook file and the Notebook debugging file are deleted through the second SSH channel in the running environment of the second node container; and a corresponding output cell is generated for each code cell or Markdown cell in the second file editor, and the corresponding cell running and debugging results in the current Notebook debugging file are loaded with content based on each output cell;

[0057] Step 123, when all code cells and all Markdown cells in the temporary Notebook file are being run and debugged on the second node container, if the current user selects the second interrupt option, then in the running environment of the second node container, the debugging interrupt instruction of the Notebook editor is called through the second SSH channel to interrupt the currently executed running and debugging process to obtain a Notebook file with the running and debugging results of some cells, which is recorded as the corresponding Notebook interrupt file; and the Notebook interrupt file is retrieved to the client locally through the second SSH channel; and when the transmission of the Notebook interrupt file is completed, the temporary Notebook file and the Notebook interrupt file are deleted through the second SSH channel in the running environment of the second node container; and a corresponding output cell is generated in the second file editor for each code cell or Markdown cell corresponding to the current Notebook interrupt file, and the content of the corresponding cell running and debugging results in the current Notebook interrupt file is loaded based on each output cell.

[0058] The embodiment of the present invention provides a technical solution management system with Notebook files as the medium, the system comprising: a client, a management end, a solution library and a node cluster; wherein the solution library is used to store all users' own solutions and public solutions, and uses Notebook files as the solution file storage medium; the client provides a new solution editing function, a self-owned historical solution editing function, and a browsing and secondary editing processing function for copies of other public solutions to the logged-in user through a web page version of the Notebook editor, and automatically builds a unified Notebook running environment for all editing / browsing users of the solution by using the working nodes of the node cluster through linkage with the management end, and provides the user with a running and debugging function of the Notebook file based on the built Notebook running environment. Based on the system of the embodiment of the present invention, neither the provider of the technical solution nor the inquirer needs to deal with the construction or reconstruction of the software environment, which simplifies the preparation work and reduces the difficulty of reproducing the solution; for the provider of the technical solution, it is convenient to describe the solution content in detail through multimodal (static text / rich text / image / audio / video) expression, which further improves the transparency of the solution; for the inquirer of the technical solution, it is convenient to run and debug a copy of the public solution based on the same operating environment, which not only reduces the difficulty of solution verification but also improves the reproducibility of the solution. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] Figure 1A module structure diagram of a technical solution management system using Notebook files as a medium provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0060] 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.

[0061] like Figure 1 As shown in the module structure diagram of a technical solution management system using Notebook files as a medium provided by an embodiment of the present invention, a technical solution management system using Notebook files as a medium provided by an embodiment of the present invention mainly includes: a client 1, a management terminal 2, a solution library 3 and a node cluster 4. The connection relationship of each module in the embodiment of the present invention is: the management terminal 2 is connected to the client 1, the solution library 3 and the node cluster 4 respectively; the client 1 is also connected to the node cluster 4.

[0062] (I) Client 1:

[0063] The client 1 of the embodiment of the present invention is a web page client. The users of the client 1 at least include a technical solution provider and a technical solution query party.

[0064] Client 1 is used to use the user ID of the current user as the corresponding first user ID after the user logs in successfully; and send a first query application with the first user ID to management terminal 2; and receive the list of proprietary solutions sent back by management terminal 2; and send a second query application to management terminal 2, and receive the list of public solutions sent back by management terminal 2.

[0065] Here, when the owned plan list is not empty, it is composed of one or more owned plan information; the owned plan information includes the owned plan identification, the owned plan name and the last update time of the owned plan; when the public plan list is not empty, it is composed of one or more public plan information; the public plan information includes the public plan identification, the public plan name and the last update time of the public plan.

[0066] Client 1 is also used to provide the current user with a first main page with a new plan creation option, a self-owned plan display area and a public plan display area after receiving the self-owned and public plan lists; and display the self-owned plan list in the self-owned plan display area; and display the public plan list in the public plan display area.

[0067] The client 1 is also used to link with the management terminal 2 and the node cluster 4 and edit the technical solution using the Notebook file as a medium when the current user selects the new solution creation option or when the current user selects a self-solution information from the self-solution display area.

[0068] The client 1 is also used to link with the management terminal 2 and the node cluster 4 when the current user selects a public solution information from the public solution display area and use the Notebook file as a medium to browse, edit and run the copy of the current technical solution.

[0069] In a specific implementation of the embodiment of the present invention, the client 1 is specifically used to link with the management terminal 2 and the node cluster 4 and perform technical solution editing processing using the Notebook file as a medium when the current user selects a new solution creation option or when the current user selects a self-owned solution information from the self-owned solution display area:

[0070] Step A1, when the current user selects the new solution creation option, a first creation application with a first user identifier is sent to the management terminal 2, and the new solution identifier sent back by the management terminal 2 is used as the corresponding editing solution identifier, and the corresponding editing solution name is set as the preset default file name, and the corresponding editing solution file and the most recent cache time are set to be empty; or when the current user selects an own solution information from the own solution display area, the own solution identifier and the own solution name of the current own solution information are used as the corresponding editing solution identifier and editing solution name, and the corresponding most recent cache time is set to be empty, and the first download application with the editing solution identifier is sent to the management terminal 2, and the own solution file sent back by the management terminal 2 is used as the corresponding editing solution file;

[0071] Here, the default file name is a preset file name, such as "Untitled";

[0072] Step A2, after obtaining the editing scheme identifier, the editing scheme name, the editing scheme file and the most recent cache time, providing the current user with a first scheme editing interface; setting the display text of the first title input area of ​​the first scheme editing interface to the corresponding editing scheme name; and loading the content of the editing scheme file based on the first file editor of the first scheme editing interface; and providing the current user with a Notebook file editing function based on the first file editor;

[0073] The interface components of the first scheme editing interface include a first A-type running option, a first B-type running option, a first interruption option, a first connection option, a first disconnection option, a first publishing option, a first title input area, and a first file editor; the first file editor is a type of Notebook file editor; the Notebook file editor includes a JupyterNotebook file editor and a Marimo Notebook file editor;

[0074] Step A3, when the current user is editing on the first scheme editing interface, the latest input text of the current user in the first title input area is used as the latest editing scheme name; and the Notebook file in the first file editor is periodically cached as the latest editing scheme file based on the first preset frequency; and each time the file is cached, the current time is used as the latest recent cache time; and the first update application carrying the editing scheme identifier, editing scheme name, editing scheme file and recent cache time is sent to the management terminal 2;

[0075] Step A4, when the current user selects the first connection option, a first connection request is sent to the management terminal 2, and the first node parameter sent back by the management terminal 2 is received; and the Notebook container running on the working node 42 corresponding to the first node parameter in the node cluster 4 is used as the corresponding first node container; and the Notebook container is connected to the first node container according to the first node parameter; and all code cells and all Markdown cells in the first file editor are run and debugged according to the first node container and the first A-type running option, the first B-type running option and the first interruption option;

[0076] The first node parameters include a first IP address, a first SSH port, a first SSH login name, and a first SSH login password;

[0077] Here, in another specific implementation of the embodiment of the present invention, the client 1 is specifically used to extract the corresponding first IP address, the first SSH port, the first SSH login name and the first SSH login password from the first node parameters when connecting to the first node container according to the first node parameters; and use the address-port information composed of the first IP address and the first SSH port as the SSH connection address-port information corresponding to the first node container, and use the first SSH login name and the first SSH login password to form the SSH login information corresponding to the first node container, and establish an SSH connection channel with the first node container based on the SSH connection address-port information and the SSH login information of the first node container, which is recorded as the corresponding first SSH channel;

[0078] Step A5: when the current user selects the first disconnection option, disconnect the connection with the first node container, and send a first disconnection request carrying the first node parameter to the management terminal 2;

[0079] Here, in another specific implementation of the embodiment of the present invention, the client 1 is specifically used to close the first SSH channel when disconnecting from the first node container;

[0080] Step A6, when the current user selects the first publishing option, the first publishing application carrying the editing scheme identifier, editing scheme name, editing scheme file and the most recent cache time is sent to the management terminal 2.

[0081] In another specific implementation of the embodiment of the present invention, the client 1 is specifically used to run and debug all code cells and all Markdown cells in the first file editor according to the first node container and the first class A running option, the first class B running option and the first interrupt option:

[0082] Step B1, when the current user selects the first type A running option, the latest editing scheme file is transferred to the running environment of the first node container through the first SSH channel to be saved and recorded as the corresponding temporary Notebook file; and in the running environment of the first node container, the running debugging instruction of the Notebook editor is called through the first SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with the running and debugging results of all cells and recorded as the corresponding Notebook debugging file; and the Notebook debugging file is retrieved to the local client through the first SSH channel; and when the Notebook debugging file is transferred, the temporary Notebook file and the Notebook debugging file are deleted through the first SSH channel in the running environment of the first node container; and a corresponding output cell is generated for each code cell or Markdown cell in the first file editor, and the content of the corresponding cell running and debugging results in the current Notebook debugging file is loaded based on each output cell;

[0083] Step B2, when the current user selects the first B-type running option, the latest editing scheme file is transferred to the running environment of the first node container through the first SSH channel to be saved and recorded as the corresponding temporary Notebook file; and in the running environment of the first node container, the kernel restart instruction of the Notebook editor is called through the first SSH channel to perform kernel restart processing, and after the kernel restart is successful, the running debugging instruction of the Notebook editor is called through the first SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with the running and debugging results of all cells, which is recorded as the corresponding Notebook debugging file; and the Notebook debugging file is retrieved to the local client through the first SSH channel; and when the Notebook debugging file is transferred, the temporary Notebook file and the Notebook debugging file are deleted through the first SSH channel in the running environment of the first node container; and a corresponding output cell is generated for each code cell or Markdown cell in the first file editor, and the content of the corresponding cell running and debugging results in the current Notebook debugging file is loaded based on each output cell;

[0084] Step B3, when all code cells and all Markdown cells in the temporary Notebook file are being run and debugged on the first node container, if the current user selects the first interrupt option, then in the running environment of the first node container, the debugging interrupt instruction of the Notebook editor is called through the first SSH channel to interrupt the currently executed running and debugging process to obtain a Notebook file with the running and debugging results of some cells, which is recorded as the corresponding Notebook interrupt file; and the Notebook interrupt file is retrieved to the local client through the first SSH channel; and when the Notebook interrupt file transmission is completed, the temporary Notebook file and the Notebook interrupt file are deleted through the first SSH channel in the running environment of the first node container; and a corresponding output cell is generated in the first file editor for each code cell or Markdown cell corresponding to the current Notebook interrupt file, and the content of the corresponding cell running and debugging results in the current Notebook interrupt file is loaded based on each output cell.

[0085] In another specific implementation of the embodiment of the present invention, the client 1 is specifically used to link with the management terminal 2 and the node cluster 4 when the current user selects a public solution information from the public solution display area and browse, edit and run the copy of the current technical solution using the Notebook file as a medium:

[0086] Step C1, when the current user selects a public solution information from the public solution display area, the public solution identifier and the public solution name of the current public solution information are used as the corresponding browsing solution identifier and browsing solution name; and a second download application carrying the browsing solution identifier is sent to the management terminal 2, and the public solution file sent back by the management terminal 2 is stored locally on the client as the corresponding solution copy file; and a first solution browsing interface is provided for the current user; and the display text of the second title input area of ​​the first solution browsing interface is set to the corresponding browsing solution name; and the second file editor based on the first solution browsing interface loads the content of the solution copy file; and based on the second file editor, a Notebook file editing function is provided for the current user;

[0087] The interface components of the first solution browsing interface include a second A-type running option, a second B-type running option, a second interrupt option, a second connection option, a second disconnect option, a second title input area, and a second file editor; the second file editor and the first file editor are the same type of Notebook file editor;

[0088] Step C2: when the current user browses or edits in the second file editor, the Notebook file in the second file editor is periodically cached based on a second preset frequency as the latest solution copy file;

[0089] Step C3, when the current user selects the second connection option, a second connection request is sent to the management terminal 2, and the second node parameter sent back by the management terminal 2 is received; and the Notebook container running on the working node 42 corresponding to the second node parameter in the node cluster 4 is used as the corresponding second node container; and the second node container is connected according to the second node parameter; and all code cells and all Markdown cells in the second file editor are run and debugged according to the second node container and the second A-type running option, the second B-type running option and the second interrupt option;

[0090] The second node parameters include a second IP address, a second SSH port, a second SSH login name, and a second SSH login password;

[0091] Here, in another specific implementation of the embodiment of the present invention, the client 1 is specifically used to extract the corresponding second IP address, second SSH port, second SSH login name and second SSH login password from the second node parameters when connecting to the second node container according to the second node parameters; and use the address and port information composed of the second IP address and the second SSH port as the SSH connection address and port information corresponding to the second node container, and use the second SSH login name and the second SSH login password to form the SSH login information corresponding to the second node container, and establish an SSH connection channel with the second node container based on the SSH connection address and port information and the SSH login information of the second node container as the corresponding second SSH channel;

[0092] Step C4: When the current user selects the second disconnection option, the connection with the second node container is disconnected, and a second disconnection request carrying the second node parameters is sent to the management terminal 2.

[0093] Here, in another specific implementation of the embodiment of the present invention, the client 1 is specifically configured to close the second SSH channel when disconnecting from the second node container.

[0094] In another specific implementation of the embodiment of the present invention, the client 1 is specifically used to run and debug all code cells and all Markdown cells in the second file editor according to the second node container and the second A-type running option, the second B-type running option and the second interrupt option:

[0095] Step D1, when the current user selects the second type A running option, the latest solution copy file is transferred to the running environment of the second node container through the second SSH channel to be saved and recorded as the corresponding temporary Notebook file; and in the running environment of the second node container, the running debugging instruction of the Notebook editor is called through the second SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with the running and debugging results of all cells and recorded as the corresponding Notebook debugging file; and the Notebook debugging file is retrieved to the local client through the second SSH channel; and when the Notebook debugging file is transferred, the temporary Notebook file and the Notebook debugging file are deleted through the second SSH channel in the running environment of the second node container; and a corresponding output cell is generated for each code cell or Markdown cell in the second file editor, and the corresponding cell running and debugging results in the current Notebook debugging file are loaded with content based on each output cell;

[0096] Step D2, when the current user selects the second B-type running option, the latest solution copy file is transferred to the running environment of the second node container through the second SSH channel to be saved and recorded as the corresponding temporary Notebook file; and in the running environment of the second node container, the kernel restart instruction of the Notebook editor is called through the second SSH channel to perform kernel restart processing, and after the kernel restart is successful, the running debugging instruction of the Notebook editor is called through the second SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with all cell running and debugging results recorded as the corresponding Notebook debugging file; and the Notebook debugging file is retrieved to the client locally through the second SSH channel; and when the Notebook debugging file is transferred, the temporary Notebook file and the Notebook debugging file are deleted through the second SSH channel in the running environment of the second node container; and a corresponding output cell is generated for each code cell or Markdown cell in the second file editor, and the corresponding cell running and debugging results in the current Notebook debugging file are loaded with content based on each output cell;

[0097] Step D3, when all code cells and all Markdown cells in the temporary Notebook file are being run and debugged on the second node container, if the current user selects the second interrupt option, then in the running environment of the second node container, the debugging interrupt instruction of the Notebook editor is called through the second SSH channel to interrupt the currently executed running and debugging process to obtain a Notebook file with the running and debugging results of some cells, which is recorded as the corresponding Notebook interrupt file; and the Notebook interrupt file is retrieved to the local client through the second SSH channel; and when the Notebook interrupt file transmission is completed, the temporary Notebook file and the Notebook interrupt file are deleted through the second SSH channel in the running environment of the second node container; and a corresponding output cell is generated in the second file editor for each code cell or Markdown cell corresponding to the current Notebook interrupt file, and the content of the corresponding cell running and debugging results in the current Notebook interrupt file is loaded based on each output cell.

[0098] (II) Management terminal 2:

[0099] The management terminal 2 of the embodiment of the present invention is a service module, device, terminal, equipment, server / server / service interface / microservice, system or platform for processing the service application of the client 1. The management terminal 2 of the embodiment of the present invention is a remote management terminal of the client 1, and can connect to multiple clients 1 at the same time.

[0100] The management terminal 2 is used to extract the corresponding first user identifier from the first query application when receiving the first query application; and record the first plan record in which each creator identification field in the plan library 3 matches the first user identifier and the plan status field is in the creation state as the corresponding own plan record; and the plan identification field, plan name field and update time field of each own plan record are used as the corresponding own plan identification, own plan name and the last update time of the own plan to form a corresponding own plan information; and all the obtained own plan information constitutes a corresponding own plan list and sends it back to the client 1.

[0101] The management terminal 2 is also used to, when receiving the second query application, record the first plan record in which each plan status field in the plan library 3 is in the published state as the corresponding public plan record; and use the plan identification field, plan name field and update time field of each public plan record as the corresponding public plan identification, public plan name and the most recent update time of the public plan to form a corresponding public plan information; and use all the obtained public plan information to form a corresponding public plan list and send it back to the client 1.

[0102] The management end 2 is also used to extract the corresponding first user identifier from the first creation application when receiving the first creation application; and add a new first plan record in the plan library 3 as the corresponding new plan record; and assign a unique plan identifier to the new plan record as the corresponding current plan identifier; and use the current time as the corresponding current update time; and set the plan identifier field of the new plan record to the corresponding current plan identifier, the creator identifier field to the corresponding first user identifier, the plan name field to the default file name, the plan file field to empty, the update time field to the corresponding current update time, and the plan status field to the creation status; and send the current plan identifier back to the client 1 as the corresponding new plan identifier.

[0103] The management terminal 2 is also used to extract the corresponding editing plan identifier from the first download application when receiving the first download application; and extract the plan file field of the first plan record whose plan identifier field in the plan library 3 matches the editing plan identifier as the corresponding own plan file and send it back to the client 1.

[0104] The management end 2 is also used to extract the corresponding editing plan identifier, editing plan name, editing plan file and most recent cache time from the first update application when receiving the first update application; and update the plan name field, plan file field and update time field of the first plan record whose plan identifier field in the plan library 3 matches the editing plan identifier to the corresponding editing plan name, editing plan file and most recent cache time.

[0105] The management terminal 2 is further configured to forward the first connection application to the management node 41 of the node cluster 4 upon receiving the first connection application, and to send the first node parameter sent back by the management node 41 to the client 1 .

[0106] The management end 2 is also used to forward the first disconnection application to the management node 41 of the node cluster 4 when receiving the first disconnection application, and to receive and wait for the first disconnection feedback sent back by the management node 41 within a preset first waiting period; if the first disconnection feedback is not received within the first waiting period or the first disconnection feedback received within the first waiting period is a failure, the first disconnection application is forwarded to the management node 41 again until the first disconnection feedback received is a success.

[0107] Here, the first waiting time is a preset time length parameter.

[0108] The management terminal 2 is also used to extract the corresponding editing plan identifier, editing plan name, editing plan file and most recent cache time from the first publishing application when receiving the first publishing application; and record the first plan record whose plan identifier field in the plan library 3 matches the editing plan identifier as the corresponding current publishing plan record; and update the plan name field, plan file field and update time field of the current publishing plan record to the corresponding editing plan name, editing plan file and most recent cache time; and set the plan status field of the current publishing plan record to the publishing status.

[0109] The management terminal 2 is also used to extract the corresponding browsing solution identifier from the second download application when receiving the second download application; and extract the solution file field of the first solution record whose solution identifier field in the solution library 3 matches the browsing solution identifier as the corresponding public solution file and send it back to the client 1.

[0110] The management terminal 2 is further configured to forward the second connection application to the management node 41 of the node cluster 4 upon receiving the second connection application, and to send back the second node parameter sent back by the management node 41 to the client 1 .

[0111] The management end 2 is also used to forward the second disconnection application to the management node 41 of the node cluster 4 when receiving the second disconnection application, and to receive and wait for the second disconnection feedback sent back by the management node 41 within a preset second waiting period; if the second disconnection feedback is not received within the second waiting period or the second disconnection feedback received within the second waiting period is failed, the second disconnection application is forwarded to the management node 41 again until the second disconnection feedback received is successful.

[0112] Here, the second waiting time is a preset time length parameter.

[0113] (III) Solution Library 3:

[0114] The solution library 3 of the embodiment of the present invention can be implemented based on any type of database, and can also be implemented based on a combination of multiple types of databases.

[0115] The solution library 3 is used to store multiple first solution records. Here, each first solution record corresponds to a technical solution; the first solution record includes a solution identification field, a creator identification field, a solution name field, a solution file field, an update time field and a solution status field; the solution status field includes a creation status and a release status.

[0116] (IV) Node Cluster 4:

[0117] The node cluster 4 of the embodiment of the present invention may be composed of multiple nodes deployed in one group, or may be composed of multiple sub-clusters deployed in multiple areas.

[0118] The node cluster 4 is composed of a management node 41 and a plurality of working nodes 42. The management node 41 is connected to each working node 42.

[0119] It should be noted that the management software used by the node cluster 4 of the embodiment of the present invention when performing resource management on all working nodes 42 through the management node 41 internally includes at least Kubernetes and Zabbix, and the corresponding operating system, communication components, network components and the master / slave server of the management software are installed on the management node 41 and each working node 42 based on the installation requirements of Kubernetes or Zabbix. The embodiment of the present invention does not limit the technical content related to the internal management of the node cluster 4, and will not be further elaborated here.

[0120] It should be noted that the management node 41 of the embodiment of the present invention has at least one image download address of a Notebook image built in; each Notebook image is an installation package image of a Notebook runtime environment; the Notebook runtime environment mentioned here includes at least the Jupyter Notebook runtime environment and the Marimo Notebook runtime environment; each Notebook image includes at least an operating system component installer, a Notebook server installer, a program code interpreter installer of a Notebook editor, an editor kernel installer of a Notebook editor, a Notebook environment dependency library and extension library installer, a Notebook editor installer, an SSH component installer, an environment variable configuration program, and a main installer or a main installation batch file for executing all installation / configuration programs one by one in a specified order.

[0121] It should also be noted that the program code interpreter installation program and the editor kernel installation program in the Notebook image correspond to the specific source code programming language; when the code programming language is Python programming language, the program code interpreter installation program and the editor kernel installation program are the corresponding Python interpreter installation program and IPython kernel installation program; when the code programming language is C / C++ programming language, the program code interpreter installation program and the editor kernel installation program are the corresponding C / C++ interpreter installation program and C / C++ kernel installation program; when the code programming language is Java programming language, the program code interpreter installation program and the editor kernel installation program are the corresponding Java interpreter installation program and IJava kernel installation program; when the code programming language is R programming language, the program code interpreter installation program and the editor kernel installation program are the corresponding R interpreter installation program and IR kernel installation program; when the code programming language is Julia programming language, the program code interpreter installation program and the editor kernel installation program are the corresponding Julia interpreter installation program and IJulia kernel installation program; the Notebook image of an embodiment of the present invention includes one or more sets of program code interpreter installation programs and editor kernel installation programs for different types of source code programming languages.

[0122] The management node 41 of the node cluster 4 is used to select a working node 42 whose node condition is in an idle state as the current node when receiving the first connection application; and download the Notebook image to the current node to create an image container to obtain a corresponding Notebook container, and run the Notebook container; and perform corresponding IP address allocation, SSH port setting, SSSH login name setting and SSH login password setting for the Notebook container running on the current node to obtain the corresponding first IP address, first SSH port, first SSH login name and first SSH login password to form the corresponding first node parameters and send them back to the management end 2; and set the node condition of the current node to an occupied state.

[0123] The management node 41 of the node cluster 4 is also used to extract the corresponding first node parameter from the first disconnection application when receiving the first disconnection application; and use the working node 42 where the Notebook container corresponding to the first node parameter is located as the corresponding current node; and identify the node working condition of the current node; if the current node working condition is an idle state, set a corresponding first disconnection feedback as success; if the current node working condition is an occupied state, delete the Notebook container running on the current node, if the container deletion fails, set a corresponding first disconnection feedback as failure, if the container deletion is successful, further release the node resources occupied by the Notebook container on the current node, if the resource release fails, set a corresponding first disconnection feedback as failure, if the resource release is successful, set a corresponding first disconnection feedback as success; and send the obtained first disconnection feedback back to the management terminal 2; and set the node working condition of the current node to an idle state.

[0124] The management node 41 of the node cluster 4 is also used to select a working node 42 whose node condition is in an idle state as the current node when receiving the second connection application; and download the Notebook image to the current node to create an image container to obtain a corresponding Notebook container, and run the Notebook container; and perform corresponding IP address allocation, SSH port setting, SSSH login name setting and SSH login password setting for the Notebook container running on the current node to obtain a corresponding second IP address, a second SSH port, a second SSH login name and a second SSH login password to form a corresponding second node parameter and send it back to the management terminal 2; and set the node condition of the current node to an occupied state;

[0125] The management node 41 of the node cluster 4 is also used to extract the corresponding second node parameters from the second disconnection application when receiving the second disconnection application; and use the working node 42 where the Notebook container corresponding to the second node parameter is located as the corresponding current node; and identify the node working condition of the current node; if the current node working condition is an idle state, set a corresponding second disconnection feedback as success; if the current node working condition is an occupied state, delete the Notebook container running on the current node, if the container deletion fails, set a corresponding second disconnection feedback as failure, if the container deletion is successful, further release the node resources occupied by the Notebook container on the current node, if the resource release fails, set a corresponding second disconnection feedback as failure, if the resource release is successful, set a corresponding second disconnection feedback as success; and send the obtained second disconnection feedback back to the management terminal 2; and set the node working condition of the current node to an idle state.

[0126] 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 one physical entity, or they can be physically separated. And these modules can be implemented in software form; they can also be implemented in hardware form; some modules can be implemented in software form, and some modules can be implemented in hardware form. For example, the management end can be a separately established processing device, equipment 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 instructions in software form.

[0127] 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).

[0128] 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.

[0129] The embodiment of the present invention provides a technical solution management system with Notebook files as the medium, the system comprising: a client, a management end, a solution library and a node cluster; wherein the solution library is used to store all users' own solutions and public solutions, and uses Notebook files as the solution file storage medium; the client provides a new solution editing function, a self-owned historical solution editing function, and a browsing and secondary editing processing function for copies of other public solutions to the logged-in user through a web page version of the Notebook editor, and automatically builds a unified Notebook running environment for all editing / browsing users of the solution by using the working nodes of the node cluster through linkage with the management end, and provides the user with a running and debugging function of the Notebook file based on the built Notebook running environment. Based on the system of the embodiment of the present invention, neither the provider of the technical solution nor the inquirer needs to deal with the construction or reconstruction of the software environment, which simplifies the preparation work and reduces the difficulty of reproducing the solution; for the provider of the technical solution, it is convenient to describe the solution content in detail through multimodal (static text / rich text / image / audio / video) expression, which further improves the transparency of the solution; for the inquirer of the technical solution, it is convenient to run and debug a copy of the public solution based on the same operating environment, which not only reduces the difficulty of solution verification but also improves the reproducibility of the solution.

[0130] 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.

[0131] 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.

[0132] 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 technical solution management system using Notebook files as the medium, characterized in that: The system includes: a client, a management terminal, a solution library and a node cluster; The management end is connected to the client, the solution library and the node cluster respectively; the client is also connected to the node cluster; The client is a web page client; the client is used to use the user identifier of the current user as the corresponding first user identifier after the user logs in successfully; and send a first query application with the first user identifier to the management end; and receive a list of proprietary solutions sent back by the management end; and send a second query application to the management end, and receive a list of public solutions sent back by the management end; when the proprietary solution list is not empty, it is composed of one or more proprietary solution information; the proprietary solution information includes the proprietary solution identifier, the proprietary solution name and the most recent update time of the proprietary solution; when the public solution list is not empty, it is composed of one or more public solution information; the public solution information includes the public solution identifier, the public solution name and the most recent update time of the public solution; The client is also used to provide the current user with a first main page with a new solution creation option, a self-owned solution display area and a public solution display area after receiving the self-owned and public solution lists; and display the self-owned solution list in the self-owned solution display area; and display the public solution list in the public solution display area; The client is also used to link with the management terminal and the node cluster and perform technical solution editing processing using the Notebook file as a medium when the current user selects the new solution creation option or when the current user selects one of the own solution information from the own solution display area; The client is also used to link with the management end and the node cluster when the current user selects a public solution information from the public solution display area and use the Notebook file as a medium to browse, edit and run the copy of the current technical solution; The management terminal is used to extract the corresponding first user identifier from the first query application upon receiving the first query application; and record the first solution record in which each creator identifier field in the solution library matches the first user identifier and the solution status field is in the creation state as the corresponding self-owned solution record; and use the solution identifier field, solution name field and update time field of each self-owned solution record as the corresponding self-owned solution identifier, the self-owned solution name and the most recent update time of the self-owned solution to form a corresponding self-owned solution information; and use all the obtained self-owned solution information to form a corresponding self-owned solution list and send it back to the client; The management end is further used for, upon receiving the second query application, recording each of the first solution records in the solution library whose solution status field is in the published state as a corresponding public solution record; and using the solution identification field, solution name field and update time field of each of the public solution records as the corresponding public solution identification, the public solution name and the most recent update time of the public solution to form a corresponding public solution information; and using all the obtained public solution information to form a corresponding public solution list to send back to the client; The solution library is used to store a plurality of first solution records: the first solution record includes the solution identification field, the creator identification field, the solution name field, the solution file field, the update time field and the solution status field; the solution status field includes the creation status and the release status; The node cluster consists of a management node and multiple working nodes; the management node is connected to each of the working nodes.

2. The technical solution management system using Notebook files as the medium according to claim 1, characterized in that: The management node has a built-in image download address of a Notebook image; the Notebook image is an installation package image of a Notebook runtime environment; the Notebook runtime environment includes at least a Jupyter Notebook runtime environment and a Marimo Notebook runtime environment; the Notebook image includes at least an operating system component installer, a Notebook server installer, a program code interpreter installer for a Notebook editor, an editor kernel installer for a Notebook editor, a Notebook environment dependency library and extension library installer, a Notebook editor installer, an SSH component installer, an environment variable configuration program, and a main installer or a main installation batch file for executing all installation / configuration programs one by one in a specified order; Among them, the program code interpreter installation program and the editor kernel installation program correspond to a specific source code programming language; when the code programming language is Python programming language, the program code interpreter installation program and the editor kernel installation program are corresponding Python interpreter installation program and IPython kernel installation program; when the code programming language is C / C++ programming language, the program code interpreter installation program and the editor kernel installation program are corresponding C / C++ interpreter installation program and C / C++ kernel installation program; when the code programming language is Java programming language, the program code interpreter installation program and the editor kernel installation program are corresponding Java interpreter installation program and IJava kernel installation program; when the code programming language is R programming language, the program code interpreter installation program and the editor kernel installation program are corresponding R interpreter installation program and IR kernel installation program; when the code programming language is Julia programming language, the program code interpreter installation program and the editor kernel installation program are corresponding Julia interpreter installation program and IJulia kernel installation program; the Notebook image includes one or more groups of the program code interpreter installation programs and the editor kernel installation programs for different types of the source code programming languages.

3. The technical solution management system using Notebook files as the medium according to claim 2, characterized in that: The client is specifically used for linking with the management terminal and the node cluster and performing technical solution editing processing using the Notebook file as a medium when the current user selects the new solution creation option or when the current user selects one of the own solution information from the own solution display area: Step 31, when the current user selects the new solution creation option, a first creation application with the first user identifier is sent to the management end, and the new solution identifier sent back by the management end is used as the corresponding editing solution identifier, and the corresponding editing solution name is set as the preset default file name, and the corresponding editing solution file and the most recent cache time are set to be empty; or when the current user selects one of the own solution information from the own solution display area, the own solution identifier and the own solution name of the current own solution information are used as the corresponding editing solution identifier and the editing solution name, and the corresponding most recent cache time is set to be empty, and a first download application with the editing solution identifier is sent to the management end, and the own solution file sent back by the management end is used as the corresponding editing solution file; Step 32, after obtaining the editing scheme identifier, the editing scheme name, the editing scheme file and the most recent cache time, a first scheme editing interface is provided for the current user; and the display text of the first title input area of ​​the first scheme editing interface is set to the corresponding editing scheme name; and the content of the editing scheme file is loaded based on the first file editor of the first scheme editing interface; and the Notebook file editing function is provided for the current user based on the first file editor; The interface components of the first scheme editing interface include a first A-type running option, a first B-type running option, a first interruption option, a first connection option, a first disconnection option, a first publishing option, the first title input area, and the first file editor; the first file editor is a type of Notebook file editor; the Notebook file editor includes a Jupyter Notebook file editor and a Marimo Notebook file editor; Step 33, when the current user is editing on the first scheme editing interface, the latest input text of the current user in the first title input area is used as the latest editing scheme name; and the Notebook file in the first file editor is periodically cached as the latest editing scheme file based on a first preset frequency; and each time the file is cached, the current time is used as the latest latest cache time; and a first update application carrying the editing scheme identifier, the editing scheme name, the editing scheme file and the latest cache time is sent to the management end; Step 34, when the current user selects the first connection option, a first connection request is sent to the management end, and the first node parameter sent back by the management end is received; and the Notebook container running on the working node corresponding to the first node parameter in the node cluster is used as the corresponding first node container; and the Notebook container is connected to the first node container according to the first node parameter; and all code cells and all Markdown cells in the first file editor are run and debugged according to the first node container and the first Class A running option, the first Class B running option and the first interrupt option; Wherein, the first node parameters include a first IP address, a first SSH port, a first SSH login name, and a first SSH login password; Step 35: when the current user selects the first disconnection option, disconnect the connection with the first node container, and send a first disconnection request carrying the first node parameter to the management end; Step 36: When the current user selects the first publishing option, the first publishing application carrying the editing scheme identifier, the editing scheme name, the editing scheme file and the most recent cache time is sent to the management terminal.

4. The technical solution management system using Notebook files as the medium according to claim 3 is characterized in that: The management end is further configured to extract the first user identifier corresponding to the first creation application upon receiving the first creation application; and add a record of the first solution in the solution library as a corresponding newly added solution record; and assign a unique solution identifier to the newly added solution record as a corresponding current solution identifier; The current time is used as the corresponding current update time; the scheme identification field of the newly added scheme record is set to the corresponding current scheme identification, the creator identification field is set to the corresponding first user identification, the scheme name field is set to the default file name, the scheme file field is set to empty, the update time field is set to the corresponding current update time, and the scheme status field is set to the creation status; and the current scheme identification is sent back to the client as the corresponding new scheme identification; The management end is further configured to extract the corresponding editing scheme identifier from the first download application upon receiving the first download application; and extract the scheme file field of the first scheme record whose scheme identifier field in the scheme library matches the editing scheme identifier as the corresponding own scheme file and send it back to the client; The management end is further used to extract the corresponding editing scheme identifier, the editing scheme name, the editing scheme file and the most recent cache time from the first update application upon receiving the first update application; and updating the solution name field, the solution file field and the update time field of the first solution record whose solution identification field in the solution library matches the editing solution identification to the corresponding editing solution name, the editing solution file and the most recent cache time; The management end is further configured to forward the first connection application to the management node of the node cluster upon receiving the first connection application, and send the first node parameter sent back by the management node to the client; The management end is further configured to forward the first disconnection request to the management node of the node cluster upon receiving the first disconnection request, and receive and wait for a first disconnection feedback sent back by the management node within a preset first waiting time; If the first disconnection feedback is not received within the first waiting period or the first disconnection feedback received within the first waiting period is failure, forwarding the first disconnection application to the management node again until the first disconnection feedback received is success; The management end is further used to extract the corresponding editing scheme identifier, the editing scheme name, the editing scheme file and the most recent cache time from the first publishing application when receiving the first publishing application; The first plan record whose plan identification field in the plan library matches the editing plan identification is recorded as the corresponding current publishing plan record; the plan name field, the plan file field and the update time field of the current publishing plan record are updated to the corresponding editing plan name, the editing plan file and the most recent cache time; and the plan status field of the current publishing plan record is set to the publishing status.

5. The technical solution management system using Notebook files as the medium according to claim 4 is characterized in that: The management node of the node cluster is used to select a working node whose node working condition is idle as the current node when receiving the first connection application; download the Notebook image to the current node to create an image container to obtain the corresponding Notebook container, and run the Notebook container; And perform corresponding IP address allocation, SSH port setting, SSH login name setting and SSH login password setting for the Notebook container running on the current node to obtain the corresponding first IP address, the first SSH port, the first SSH login name and the first SSH login password to form the corresponding first node parameters and send them back to the management end; and set the node working state of the current node to an occupied state; The management node of the node cluster is further used to extract the corresponding first node parameter from the first disconnection application upon receiving the first disconnection application; and use the working node where the Notebook container corresponding to the first node parameter is located as the corresponding current node; and identify the node working condition of the current node; if the current node working condition is an idle state, set a corresponding first disconnection feedback as success; if the current node working condition is an occupied state, delete the Notebook container running on the current node, and if the container deletion fails, set a corresponding first disconnection feedback as failure; if the container deletion is successful, further release the node resources occupied by the Notebook container on the current node, if the resource release fails, set a corresponding first disconnection feedback as failure, and if the resource release is successful, set a corresponding first disconnection feedback as success; and send the obtained first disconnection feedback back to the management end; and set the node working condition of the current node to an idle state.

6. The technical solution management system using Notebook files as the medium according to claim 3, characterized in that: The client is specifically configured to extract the corresponding first IP address, the first SSH port, the first SSH login name, and the first SSH login password from the first node parameter when connecting to the first node container according to the first node parameter; The address and port information composed of the first IP address and the first SSH port is used as the SSH connection address and port information corresponding to the first node container, and the SSH login information corresponding to the first node container is composed of the first SSH login name and the first SSH login password, and an SSH connection channel is established with the first node container based on the SSH connection address and port information and the SSH login information of the first node container, which is recorded as the corresponding first SSH channel; The client is specifically configured to close the first SSH channel when disconnecting from the first node container.

7. The technical solution management system using Notebook files as the medium according to claim 6, characterized in that: The client is specifically used for, when running and debugging all code cells and all Markdown cells in the first file editor according to the first node container and the first class A running option, the first class B running option, and the first interrupt option: Step 71: when the current user selects the first type A running option, the latest editing scheme file is transferred to the running environment of the first node container through the first SSH channel to be saved and recorded as a corresponding temporary Notebook file; and in the running environment of the first node container, calling the running debugging instruction of the Notebook editor through the first SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with the running debugging results of all cells as the corresponding Notebook debugging file; and retrieve the Notebook debugging file to the local client through the first SSH channel; and when the transmission of the Notebook debugging file is completed, delete the temporary Notebook file and the Notebook debugging file through the first SSH channel in the running environment of the first node container; And generate a corresponding output cell for each code cell or Markdown cell in the first file editor, and load the content of the debugging result of running the corresponding cell in the current Notebook debugging file based on each output cell; Step 72, when the current user selects the first Class B running option, the latest editing scheme file is transferred to the running environment of the first node container through the first SSH channel to be saved and recorded as a corresponding temporary Notebook file; and in the running environment of the first node container, the kernel restart instruction of the Notebook editor is called through the first SSH channel to perform kernel restart processing, and after the kernel restart is successful, the running debugging instruction of the Notebook editor is called through the first SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with the running and debugging results of all cells, which is recorded as the corresponding Notebook debugging file; and retrieve the Notebook debugging file to the local client through the first SSH channel; and when the transmission of the Notebook debugging file is completed, delete the temporary Notebook file and the Notebook debugging file through the first SSH channel in the running environment of the first node container; And generate a corresponding output cell for each code cell or Markdown cell in the first file editor, and load the content of the debugging result of running the corresponding cell in the current Notebook debugging file based on each output cell; Step 73: When all code cells and all Markdown cells in the temporary Notebook file are being run and debugged on the first node container, if the current user selects the first interrupt option, in the running environment of the first node container, the debugging interrupt instruction of the Notebook editor is called through the first SSH channel to interrupt the currently executing running and debugging process to obtain a Notebook file with the running and debugging results of some cells as the corresponding Notebook interrupt file; and retrieve the notebook interruption file to the local client through the first SSH channel; and when the notebook interruption file transmission is completed, delete the temporary notebook file and the notebook interruption file through the first SSH channel in the running environment of the first node container; And in the first file editor, a corresponding output cell is generated for each code cell or Markdown cell corresponding to the current Notebook interruption file, and based on each output cell, the corresponding cell in the current Notebook interruption file is run and debugged and loaded with content.

8. The technical solution management system using Notebook files as the medium according to claim 2, characterized in that: The client is specifically used for linking with the management terminal and the node cluster when the current user selects a public solution information from the public solution display area and browsing, editing and running the copy of the current technical solution using the Notebook file as a medium: Step 81, when the current user selects one of the public scheme information from the public scheme display area, the public scheme identifier and the public scheme name of the current public scheme information are used as the corresponding browsing scheme identifier and browsing scheme name; and a second download application carrying the browsing scheme identifier is sent to the management end, and the public scheme file sent back by the management end is stored locally on the client as the corresponding scheme copy file; and a first scheme browsing interface is provided for the current user; and the display text of the second title input area of ​​the first scheme browsing interface is set to the corresponding browsing scheme name; and the second file editor of the first scheme browsing interface is used to load the content of the scheme copy file; and the Notebook file editing function is provided for the current user based on the second file editor; The interface components of the first solution browsing interface include a second A-type running option, a second B-type running option, a second interrupt option, a second connection option, a second disconnect option, the second title input area, and the second file editor; the second file editor and the first file editor are the same type of Notebook file editor; Step 82: When the current user browses or edits in the second file editor, the Notebook file in the second file editor is periodically cached based on a second preset frequency as the latest copy file of the solution; Step 83, when the current user selects the second connection option, a second connection application is sent to the management end, and the second node parameter sent back by the management end is received; and the Notebook container running on the working node corresponding to the second node parameter in the node cluster is used as the corresponding second node container; and the Notebook container is connected to the second node container according to the second node parameter; and all code cells and all Markdown cells in the second file editor are run and debugged according to the second node container and the second Class A running option, the second Class B running option and the second interrupt option; Wherein, the second node parameters include a second IP address, a second SSH port, a second SSH login name, and a second SSH login password; Step 84: When the current user selects the second disconnection option, disconnect the second node container, and send a second disconnection request carrying the second node parameters to the management terminal.

9. The technical solution management system using Notebook files as the medium according to claim 8, characterized in that: The management end is further configured to extract the corresponding browsing solution identifier from the second download application upon receiving the second download application; and extract the solution file field of the first solution record whose solution identifier field in the solution library matches the browsing solution identifier as the corresponding public solution file and send it back to the client; The management end is further configured to forward the second connection application to the management node of the node cluster upon receiving the second connection application, and send the second node parameter sent back by the management node to the client; The management end is further configured to forward the second disconnection request to the management node of the node cluster upon receiving the second disconnection request, and receive and wait for the second disconnection feedback sent back by the management node within a preset second waiting time; If the second disconnection feedback is not received within the second waiting period or the second disconnection feedback received within the second waiting period is failure, the second disconnection application is forwarded to the management node again until the second disconnection feedback received is success.

10. The technical solution management system using Notebook files as the medium according to claim 9, characterized in that: The management node of the node cluster is further used to select a working node whose node working condition is idle as the current node when receiving the second connection application; download the Notebook image to the current node to create an image container to obtain the corresponding Notebook container, and run the Notebook container; And perform corresponding IP address allocation, SSH port setting, SSSH login name setting and SSH login password setting for the Notebook container running on the current node to obtain the corresponding second IP address, the second SSH port, the second SSH login name and the second SSH login password to form the corresponding second node parameters and send them back to the management end; and set the node working state of the current node to an occupied state; The management node of the node cluster is further used to extract the corresponding second node parameter from the second disconnection application upon receiving the second disconnection application; and use the working node where the Notebook container corresponding to the second node parameter is located as the corresponding current node; and identify the node working condition of the current node; if the current node working condition is an idle state, set a corresponding second disconnection feedback as success; if the current node working condition is an occupied state, delete the Notebook container running on the current node, and if the container deletion fails, set a corresponding second disconnection feedback as failure; if the container deletion is successful, further release the node resources occupied by the Notebook container on the current node, if the resource release fails, set a corresponding second disconnection feedback as failure, and if the resource release is successful, set a corresponding second disconnection feedback as success; and send the obtained second disconnection feedback back to the management end; and set the node working condition of the current node to an idle state.

11. The technical solution management system using Notebook files as the medium according to claim 8, characterized in that: The client is specifically used to extract the corresponding second IP address, the second SSH port, the second SSH login name and the second SSH login password from the second node parameter when connecting to the second node container according to the second node parameter; The address and port information composed of the second IP address and the second SSH port is used as the SSH connection address and port information corresponding to the second node container, and the SSH login information corresponding to the second node container is composed of the second SSH login name and the second SSH login password, and an SSH connection channel is established with the second node container based on the SSH connection address and port information and the SSH login information of the second node container, which is recorded as the corresponding second SSH channel; The client is specifically configured to close the second SSH channel when disconnecting the connection with the second node container.

12. The technical solution management system using Notebook files as the medium according to claim 11, characterized in that: The client is specifically used for, when running and debugging all code cells and all Markdown cells in the second file editor according to the second node container and the second class A running option, the second class B running option, and the second interrupt option: Step 121: when the current user selects the second type A running option, the latest copy file of the solution is transferred to the running environment of the second node container through the second SSH channel to be saved and recorded as a corresponding temporary Notebook file; and in the running environment of the second node container, calling the running debugging instruction of the Notebook editor through the second SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with the running debugging results of all cells as the corresponding Notebook debugging file; and retrieve the Notebook debugging file to the local client through the second SSH channel; and when the transfer of the Notebook debugging file is completed, delete the temporary Notebook file and the Notebook debugging file through the second SSH channel in the running environment of the second node container; And generating a corresponding output cell for each code cell or Markdown cell in the second file editor, and loading the content of the debugging result of running the corresponding cell in the current Notebook debugging file based on each output cell; Step 122, when the current user selects the second Class B running option, the latest copy file of the solution is transferred to the running environment of the second node container through the second SSH channel to be saved and recorded as the corresponding temporary Notebook file; and in the running environment of the second node container, the kernel restart instruction of the Notebook editor is called through the second SSH channel to perform kernel restart processing, and after the kernel restart is successful, the running debugging instruction of the Notebook editor is called through the second SSH channel to run and debug all code cells and all Markdown cells in the temporary Notebook file to obtain a Notebook file with the running and debugging results of all cells, which is recorded as the corresponding Notebook debugging file; and retrieve the Notebook debugging file to the local client through the second SSH channel; and when the transfer of the Notebook debugging file is completed, delete the temporary Notebook file and the Notebook debugging file through the second SSH channel in the running environment of the second node container; And generating a corresponding output cell for each code cell or Markdown cell in the second file editor, and loading the content of the debugging result of running the corresponding cell in the current Notebook debugging file based on each output cell; Step 123, when all code cells and all Markdown cells in the temporary Notebook file are being run and debugged on the second node container, if the current user selects the second interrupt option, in the running environment of the second node container, the debugging interrupt instruction of the Notebook editor is called through the second SSH channel to interrupt the currently executing running and debugging process to obtain a Notebook file with the running and debugging results of some cells, which is recorded as the corresponding Notebook interrupt file; and retrieve the notebook interruption file to the local client through the second SSH channel; and when the notebook interruption file transmission is completed, delete the temporary notebook file and the notebook interruption file through the second SSH channel in the running environment of the second node container; And in the second file editor, a corresponding output cell is generated for each code cell or Markdown cell corresponding to the current Notebook interruption file, and based on each output cell, the debugging result of the corresponding cell in the current Notebook interruption file is loaded with content.