Computing cluster login node access method and system and computing device
By allocating independent containers to each user, the problem of resource sharing of traditional computing cluster login nodes is solved, and security and efficiency are improved, which is suitable for multi-user scenarios for complex computing tasks.
Patent Information
- Application Number
- CN202411243160.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2025-01-07
AI Technical Summary
Resource sharing of traditional computing cluster login nodes leads to resource competition, performance bottlenecks and security risks, and user permissions are limited, making it difficult to flexibly configure the environment and manage complex computing tasks, affecting computing efficiency.
采用容器化技术为每个用户分配独立的容器,提供root权限,用户可以自由配置环境和安装软件,通过动态管理容器资源,实现资源隔离和安全性提升,优化资源利用率和扩展性。
It improves the security, flexibility and efficiency of the computing cluster, simplifies operation and maintenance management, ensures the stability and efficient operation of the system, and is suitable for multi-user concurrent scenarios.
Smart Images

Figure CN119276537A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular, to a computing cluster login node access method, system and computing device. Background Art
[0002] With the rapid development of information technology, computing clusters are widely used in various fields, such as big data processing, cloud computing, scientific research, engineering simulation, financial analysis, and artificial intelligence. Computing clusters are composed of multiple nodes, which improve computing efficiency through parallel computing or distributed processing. Users usually access and operate the resources of computing clusters by logging in to nodes. In the traditional computing cluster architecture, login nodes share resources, and multiple users use the same login node at the same time, which easily leads to resource contention, performance bottlenecks, and security risks.
[0003] In the traditional mode, users' permissions are greatly restricted, and they cannot flexibly install software and configure the environment. This increases the difficulty of operation and reduces the efficiency of use for users who need to customize software and debug complex programs. In addition, as computing tasks become more complicated, cluster load and resource scheduling become increasingly difficult to manage. When multiple users operate at the same time, unbalanced or unreasonable resource allocation may cause cluster performance to decline and affect overall computing efficiency.
[0004] Therefore, the existing computing cluster login node access method still needs to be improved. Summary of the invention
[0005] The present application aims to solve one of the technical problems in the related art at least to a certain extent. To this end, one purpose of the present application is to provide a safe, flexible and efficient computing cluster login node access method.
[0006] Specifically, this application proposes the following technical solutions:
[0007] In the first aspect, the present application proposes a computing cluster login node access method. According to an embodiment of the present application, the method includes: obtaining the login information of the user's login node, and allocating a container based on the login information, wherein the user has root privileges in the container; mounting the user directory of the user to the container; and managing the container based on the running status of the container.
[0008] In some examples of this application, the aforementioned method achieves resource isolation and security improvement by allocating an independent container instance to each user. The user has root privileges in the container and can freely configure the environment and install software. At the same time, the method dynamically manages container resources and adjusts them according to the operating status of the container, improving the flexibility, resource utilization and scalability of the cluster, and simplifies the operation and maintenance management of the system through real-time detection, ensuring the stability and efficient operation of the system.
[0009] In the second aspect, the present application proposes a computing cluster login node access system. According to an embodiment of the present application, the system includes: a login module, which is used to obtain the login information of the user's login node and allocate a container based on the login information, and the user has root permissions in the container; an application module, which is used to mount the user directory of the user to the container; and a management module, which is used to manage the container based on the running status of the container.
[0010] In some examples of this application, the aforementioned system achieves resource isolation and security improvement by allocating independent containers to each user. Users have root permissions and can freely configure the environment and install software. The system mounts user data into containers to ensure the persistence and accessibility of data, and optimizes resource utilization and scalability by dynamically managing the creation, deletion and adjustment of containers. Overall, the system simplifies operation and maintenance management and improves the stability and efficiency of computing clusters in multi-user concurrent scenarios.
[0011] In the third aspect of the present application, the present application proposes a computer program product. According to an embodiment of the present application, the computer program product includes: computer instructions; when part or all of the computer instructions are executed on a computer, the computing cluster login node access method described in the first aspect of the present application is executed.
[0012] In a fourth aspect of the present application, the present application proposes a computing device. According to an embodiment of the present application, the computing device includes: a processor and a memory; the memory is used to store a computer program; the processor is used to execute the computer program to implement the computing cluster login node access method as described in the first aspect of the present application.
[0013] In a fifth aspect of the present application, the present application proposes a computer-readable storage medium. According to an embodiment of the present application, the computer-readable storage medium stores a computer instruction or program, and when the computer instruction or program is executed on a computer, the computing cluster login node access method described in the first aspect of the present application is executed.
[0014] The aforementioned computer program product, computing device, and computer-readable storage medium automatically execute the computing cluster login node access method through computer instructions, thereby achieving efficient automation and improving screening efficiency and accuracy. Secondly, the characteristics based on instructions make the above method highly consistent, stable, and reliable in different experimental scenarios.
[0015] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0017] Figure 1 A schematic diagram of a computing cluster login node architecture provided for a specific implementation of this application;
[0018] Figure 2 A schematic diagram of the mapping relationship between the computing cluster login node and the container directory provided for the specific implementation method of this application;
[0019] Figure 3 A schematic diagram of a computing cluster login node system provided for a specific implementation of this application;
[0020] Figure 4 A schematic diagram of an electronic device provided for a specific implementation of the present application. DETAILED DESCRIPTION
[0021] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0022] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in a sequence other than those illustrated or described herein. In the present application, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or server comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices. In the description of the present application, unless otherwise specified, "multiple" refers to two or more than two.
[0023] Traditional computing cluster systems all share a login node (such as the Linux system), resulting in low system resource utilization, poor access security, and single management. To solve these technical problems, the inventor introduced the concept of containerization into the management and use of computing cluster login nodes, allowing each user to have an independent workspace that is isolated from each other, effectively preventing external attacks and illegal access, enhancing access security, and improving system resource utilization, solving the resource contention problem caused by traditional shared login nodes. Compared with virtual machines, containers take up fewer resources, start faster, and can provide users with a highly customized environment, allowing users to obtain control similar to root permissions, flexibly install and manage software without affecting the operating environment of other users.
[0024] The present application proposes a computing cluster login node access method, computing cluster login node access system, computer program product, computing device and computer readable storage medium. The following describes them respectively:
[0025] Compute cluster login node access method
[0026] On the one hand, the present application proposes a computing cluster login node access method, the method comprising:
[0027] 1) Obtaining the login information of the user's login node, and allocating a container based on the login information, wherein the user has root privileges in the container;
[0028] In this article, the term "login node" refers to the entry node in the computing cluster, through which users access and operate the cluster. It usually does not participate in actual computing tasks, but is used for user authentication, job submission, file management, environment configuration, and interaction with other computing nodes in the cluster. The login node provides users with a graphical or command line interface to access the cluster, and users can manage their own computing tasks and data through this node.
[0029] In some examples of the present application, the aforementioned computing cluster is selected from a high performance computing (HPC) cluster.
[0030] like Figure 1 As shown, the system first obtains the user's login information, and then allocates an independent virtual container to the user based on this information, in which the user has root privileges. In some examples of the present application, the aforementioned login information includes: the IP address of the user's login node (such as 172.18.11.12) and the corresponding port number (such as 123). Users can freely install software, configure the environment, and perform other management operations in independent virtual containers without affecting the tasks of other users. Independent containers provide an isolated operating space for each user, ensuring that each user works in an independent and secure environment while protecting the overall stability and security of the cluster.
[0031] In some examples of the present application, allocating a container based on the aforementioned login information includes: creating a new container for each user according to the port number corresponding to the user.
[0032] In some other examples of the present application, allocating an independent virtual container to a user is based on creating a container for the user based on a user information record table. The user information record table includes: a user identifier, a corresponding port number, a data directory, an application directory, and at least one of a shared directory.
[0033] It is understandable that the port number is allocated to the user in advance by the administrator before the user enters the login information.
[0034] In some examples of the present application, the aforementioned login node may also include: a user behavior detection and analysis system, which can be used to collect historical behavior data of users on the HPC side; and analyze the aforementioned historical behavior data, and feedback user behavior adjustment strategies to the user based on the analysis results.
[0035] In some examples of this application, the aforementioned historical behavior data includes: user information, bioinformatics analysis workflow, and analysis workflow operation information.
[0036] The user information includes but is not limited to the user's age, profession, analysis field, operation time, operation frequency, etc.;
[0037] The bioinformatics analysis workflow includes, but is not limited to, one or more of the specific analysis steps in whole genome sequencing (WGS) analysis, whole exome sequencing (WES) analysis, RNA-seq data analysis, ChIP-seq analysis, DNA methylation analysis, and mass spectrometry data analysis. The aforementioned specific analysis steps include at least one of data quality control, alignment to a reference genome or transcriptome, expression calculation, differential expression analysis, gene function enrichment analysis, alternative splicing analysis, assembly and gene prediction, functional annotation, and community comparison and functional difference analysis.
[0038] The analysis workflow operation information includes: the analysis time corresponding to the bioinformatics analysis workflow, such as specific task items, login time, task submission time, and task end time.
[0039] In order to effectively achieve data isolation, improve the security of the system, and prevent data leakage and unauthorized access. In some examples of this application, different users correspond to different storage spaces. For example, when user A is created, the system will automatically allocate an independent storage space for it, which ensures that the data of different users are isolated and independent of each other. The above independent storage space avoids data conflicts and competitive access problems, improves the access efficiency and response speed of the system, and provides users with a more efficient and secure user experience.
[0040] In the storage of historical behavior data of the same user, the historical behavior data of the user is clustered and stored according to the user behavior type. In some examples of the present application, the storage is performed in a key-value pair manner.
[0041] The aforementioned term "Key-Value Pair" is a data storage structure in which each data item consists of a unique key (Key) and a corresponding value (Value). The key is used as an identifier to quickly locate and retrieve the value associated with it. For example, in user information storage, the key is "User A-1" and the corresponding value is the user's "Data Quality Control". Storing in the form of key-value pairs can achieve rapid retrieval and statistics of historical behavior data, and the data is stored in the user's exclusive space. Each exclusive space has a storage area for each category. Therefore, from the beginning of data storage, it has been classified and stored according to the user's behavior type, and the storage space utilization rate is provided at the same time.
[0042] For example, all operation data of user A, such as submitted workflows, resource usage, etc., will be stored in the form of key-value pairs in his personal space. For different types of user behavior data, the system will cluster and store them according to the type of behavior. For example, all data related to bioinformatics analysis will be stored in one logical partition, and job scheduling data will be stored in another partition.
[0043] In some examples of the present application, the step of providing the user with a user behavior adjustment strategy based on the analysis result includes: comparing the analysis result with the cluster storage result to determine the user behavior adjustment strategy. The user behavior adjustment strategy includes: at least one of a resource allocation strategy, a job scheduling strategy, and a network security strategy.
[0044] After user A's behavior data is analyzed, the system will compare these analysis results with the clustering data previously stored in the system. By analyzing the differences between user A's historical behavior patterns and current behavior patterns, the system can determine the most appropriate user behavior adjustment strategy. For example, if the analysis finds that the RNA-seq data analysis process used by user A takes a long time, the system may recommend adjusting the resource allocation strategy and providing more CPU or memory resources to speed up the process. In addition, the system may recommend optimizing the job scheduling strategy, such as using other more efficient workflows to reduce execution time. For some operations involving data security, the system may also provide feedback on network security-related policy recommendations to ensure data security.
[0045] In some examples of the present application, the aforementioned method further includes: the user provides feedback on the user behavior adjustment strategy. By forming a cycle between system analysis and user feedback, continuous improvement is achieved, which helps to improve work efficiency and user experience.
[0046] In some examples of the present application, the analysis results include: at least one of: user behavior patterns and HPC resource usage habits. For example, by analyzing the historical behavior data of user A, the system can identify user A's behavior patterns and resource usage habits. For example, the system can detect that user A frequently uses certain specific workflows (such as KEGG pathway analysis) and usually submits jobs at night. At the same time, the system can also identify user A's habits of using resources in the HPC cluster, for example, user A often consumes a lot of CPU time, but memory usage is low. Based on these behavior patterns and usage habits, the system can provide user A with more personalized suggestions to optimize its resource allocation and job scheduling strategies, thereby improving work efficiency.
[0047] Different users may adopt different workflows or computing strategies when performing bioinformatics analysis, and their operational behaviors may also differ significantly. These differences in user behavior directly affect the allocation of HPC resources, job scheduling, and overall system performance. This application fully understands the user's workflow pattern and resource usage habits by detecting and analyzing the user's operational behavior in real time and accurately, and then effectively optimizes the system, maximizes the use of system resources, and improves the user experience.
[0048] 2) Mount the user directory of the aforementioned user to the aforementioned container;
[0049] In this article, the term "mount" refers to connecting external storage resources (such as file systems, directories, or data volumes) to a specified directory in a container, allowing the container to access these external resources. The mount operation associates storage content such as a user's user directory, application directory, or shared directory with the file system in the container, allowing users to use external data and applications in the container as if they were accessing local files. Mounting ensures data persistence. Even if the container is deleted or restarted, the mounted directory and data remain unchanged and can be accessed again.
[0050] In some examples of the present application, mounting the user directory of the aforementioned user to the aforementioned container includes: mounting the aforementioned user directory to at least one of the data directory, application directory, and shared directory corresponding to the aforementioned container. In a specific example of the present application, mounting the user directory of the aforementioned user to the aforementioned container includes: mounting the aforementioned user directory to the data directory, application directory, and shared directory corresponding to the aforementioned container.
[0051] Exemplarily, the data generated by the user in the container is stored in the data directory corresponding to the user; the software installed by the user in the container is placed in the application directory corresponding to the user; in the shared directory, the user corresponding to the container can obtain the shared data or files of the users corresponding to other containers.
[0052] 3) Based on the running status of the aforementioned container, manage the aforementioned container.
[0053] In some examples of the present application, managing the aforementioned container based on the running status of the aforementioned container includes: monitoring the running information of the aforementioned container; and adjusting the aforementioned login node based on the running information of the aforementioned container.
[0054] In this article, the term "operating status" refers to the comprehensive working status of the container in the computing cluster, including resource usage (such as CPU, memory, storage and network), task execution (such as process status and exceptions), performance indicators (such as response time and load), system health (such as startup and crash records), and operation logs (such as error messages and warnings). In some examples of this application, the aforementioned operation information includes at least one of the operating status, resource usage information, and access logs of the aforementioned container. By detecting the operating status of the container, each container is adjusted to make reasonable and efficient use of computing resources.
[0055] In some examples of the present application, the aforementioned adjustment includes: when the performance of the created container exceeds the performance of the login node, stop creating containers and stop users from logging into the system. For example, the maximum performance of the login node is to create 50 containers. When 50 users are already using them, stop creating new containers and stop users from logging into the system.
[0056] In some other examples of the present application, the aforementioned adjustment further includes: based on the running status of the container, deleting the container that has not been running for a preset period of time. For example, some users do not log out after using the container, and are in a logged-in but not running state. If the container is not running for a preset period of time (such as 10 hours), the data of the user's last use is saved and the container is deleted.
[0057] In some examples of the present application, the aforementioned management includes: when a user logs out of a node, deleting a container corresponding to the aforementioned user. For example, after a user logs out of a node, the user's data is saved and the container is deleted to prevent the container from occupying resources when no user is using it.
[0058] The above method ensures the isolation between containers of different users by containerizing the computing cluster login node, and manages and adjusts the running resources to delete idle or inactive containers to adapt to different load requirements. Automatically adjust resource allocation to maximize the use of system resources and improve the security of node use. In addition, users have root permissions in their own containers and can configure their own computing environment more flexibly, which significantly improves the user experience. This method is applicable to a wide range of computing cluster scenarios, especially high-performance computing clusters, and provides a flexible, secure and efficient solution for multi-user and multi-task environments.
[0059] For ease of understanding, this application describes the above computing cluster login node access method with a specific example:
[0060] Zhang San needs to log in to the system. First, Zhang San will submit an application request to the administrator. The administrator creates an account for Zhang San and assigns the corresponding port: the username is zhangsan, the port is 819, and the access IP address is 172.18.11.12. Zhang San accesses his own container according to the login information provided by the administrator (user name: zhangsan, port: 819, IP address: 172.18.11.12). The system receives Zhang San's request. If it is found that there is no container with port 819, the container management module will create a container with port 819 (such as a simplified Linux operating system).
[0061] It should be noted that the system will analyze the resource situation of the current login node before Zhang San logs in. If the resource usage has reached the upper limit, the above container 819 will no longer be created, and the user will be informed that the current resources are full and will be used later.
[0062] Zhang San can log in to the 819 container through his account, password and port, and then perform corresponding operations. When Zhang San uses the 819 container, the system will obtain the resource usage of the 819 container at any time. If it is found that the CPU and memory exceed the threshold (such as 85%), an alarm signal will be sent to the administrator.
[0063] When Zhang San uses the 819 container, he accesses the 819 container with the account zhangsan. However, when entering the 819 container, he becomes the root user (with all permissions). At the same time, three default folders will appear in the container by default (these three default folders cannot be deleted), namely the user data directory, the application directory, and the shared directory ( Figure 2 ).
[0064] All data generated by Zhang San in the container can be placed in the user data directory.
[0065] All the software installed by Zhang San in the container are placed in the application directory.
[0066] In the shared directory in the container, Zhang San can obtain data or files shared by others.
[0067] When Zhang San exits the container, the container management module will delete container 819, so that the login node can release the resources of container 819 and use them to create containers for other users next time.
[0068] When the user exits the container, the user data directory, application directory, and shared directory are saved on the login node and will not be deleted. The next time the user logs in, the system will create a new container and remount these directories.
[0069] A computing cluster login node access system
[0070] On the other hand, the present application proposes a computing cluster login node access system, referring to Figure 3 The device includes: a login module 100, an application module 200 and a management module 300.
[0071] Module 100 is used to obtain the login information of the user's login node and allocate a container based on the aforementioned login information, and the aforementioned user has root authority in the aforementioned container.
[0072] In some examples of the present application, the aforementioned login information includes: the IP address of the user login node and the corresponding port number.
[0073] In some examples of the present application, allocating a container based on the aforementioned login information includes: creating a new container for the aforementioned user according to a port number corresponding to the aforementioned user.
[0074] In some examples of the present application, the method further includes: creating a container for the user based on a user information record table, wherein the user information record table includes: a user identifier, a corresponding port number, a data directory, an application directory, and a shared directory.
[0075] In some examples of the present application, before this module, the user obtains the port number through an administrator.
[0076] Module 200 is used to mount the user directory of the aforementioned user to the aforementioned container.
[0077] In some examples of the present application, mounting the user directory of the aforementioned user to the aforementioned container includes: mounting the aforementioned user directory to at least one of a data directory, an application directory, and a shared directory corresponding to the aforementioned container.
[0078] Module 300 is used to manage the aforementioned container based on the running status of the aforementioned container.
[0079] In some examples of the present application, managing the aforementioned container based on the running status of the aforementioned container includes: monitoring the running information of the aforementioned container; and adjusting the aforementioned login node based on the running information of the aforementioned container.
[0080] In some examples of the present application, the aforementioned operation information includes at least one of the operation status, resource usage information, and access log of the aforementioned container.
[0081] In some examples of the present application, the aforementioned adjustment includes: when the performance of the created container exceeds the performance of the login node, stopping the creation of the container and stopping the user from logging into the system.
[0082] In some other examples of the present application, the aforementioned adjustment includes: based on the running status of the container, deleting the container that has not been running for a preset period of time.
[0083] In some other examples of the present application, the aforementioned adjustment includes: the user logs out of the node, and the container corresponding to the aforementioned user is deleted.
[0084] In some examples of the present application, the aforementioned modules 100, 200 and 300 are connected, wherein the aforementioned connection includes physical connection and network connection.
[0085] The aforementioned system uses containerization to isolate and independently manage proxy analysis and computing resources, effectively improving system resource utilization. In addition, the proxy node access mechanism and network isolation technology are used to effectively prevent external attacks and illegal access, improving access security.
[0086] It should be understood that the system embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here. Specifically, Figure 3 The system shown can execute the embodiment of the computing cluster login node access method, and the operations and / or functions performed by each module in the system correspond to the method embodiment, which will not be described here for brevity.
[0087] The system of the embodiment of the present application is described above from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.
[0088] Computer program product, computing device, and computer readable storage medium
[0089] In another aspect of the present application, the present application proposes a computer program product, a computing device, and a computer-readable storage medium. Based on the aforementioned computer program product, computing device, or computer-readable storage medium, the aforementioned computing cluster login node access method is executed.
[0090] Descriptions of computer program products, computing devices, or computer-readable storage media may refer to each other. This article takes electronic devices as an example for detailed description. The so-called electronic devices are intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Computing devices can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0091] like Figure 4As shown, the electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a ROM (Read-Only Memory) 502 or a computer program loaded from a storage unit 508 to a RAM (Random Access Memory) 503. In the RAM 503, various programs and data required for the operation of the device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An I / O (Input / Output) interface 505 is also connected to the bus 504.
[0092] A number of components in the device 500 are connected to the I / O interface 505, including: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a disk, an optical disk, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0093] The computing unit 501 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a CPU (Central Processing Unit), a GPU (Graphic Processing Units), various dedicated AI (Artificial Intelligence) computing chips, various computing units running machine learning model algorithms, DSP (Digital Signal Processor), and any appropriate processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as a computing cluster login node access method. For example, in some embodiments, the computing cluster login node access method may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to execute the aforementioned computing cluster login node access method in any other appropriate manner (for example, by means of firmware).
[0094] In the present application, the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, which can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the aforementioned program may be printed, because the aforementioned program may be obtained electronically, for example, by optically scanning the paper or other medium, and then editing, interpreting or processing in other suitable ways as necessary, and then storing it in a computer memory. The various computer-readable storage media described in the present invention may represent one or more devices and / or other machine-readable storage media for storing information. The term "machine-readable storage medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing and / or carrying instructions and / or data.
[0095] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, a plurality of steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0096] A person of ordinary skill in the art may understand that all or part of the steps in the method of the above-mentioned embodiment may be completed by instructing related hardware through a program, and the aforementioned program may be stored in a computer-readable storage medium, which, when executed, includes one of the steps of the method embodiment or a combination thereof.
[0097] In addition, each functional unit in each embodiment of the present invention may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the above-mentioned integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
[0098] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0099] It should be noted that the features and technical effects described in this article for different aspects can be used as reference for each other and will not be repeated here.
[0100] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0101] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in the field can change, modify, replace and modify the above embodiments within the scope of the present application without departing from the principles and purpose of the present application.
Claims
1. A computing cluster login node access method, characterized in that: include: Obtaining login information of a user's login node, and allocating a container based on the login information, wherein the user has root authority in the container; Mount the user directory of the user to the container; The container is managed based on the running state of the container.
2. The method according to claim 1, characterized in that The login information includes: the IP address of the user login node and the corresponding port number.
3. The method according to claim 2, characterized in that Allocating a container based on the login information includes: A new container is created for the user according to the port number corresponding to the user.
4. The method according to claim 3, characterized in that Further including: Creating a container for the user based on the user information record table; Optionally, the user information record table includes: a user identifier, a corresponding port number, a data directory, an application directory, and at least one of a shared directory; Optionally, the method further comprises: allocating a port number to the user before the user inputs login information.
5. The method according to claim 1, characterized in that: Mounting the user directory of the user to the container includes: The user directory is mounted to at least one of a data directory, an application directory, and a shared directory corresponding to the container.
6. The method according to claim 1, characterized in that Based on the running state of the container, managing the container includes: Monitoring the operation information of the container; The login node is adjusted based on the running information of the container.
7. The method according to claim 6, characterized in that The operation information includes at least one of the operation status, resource usage information, and access log of the container.
8. The method according to claim 7, characterized in that The adjustment includes: when the performance of the created container exceeds the performance of the login node, stopping the creation of the container and stopping the user from logging into the system; Optionally, the adjusting further comprises: based on the running status of the container, deleting the container that has not been running for a preset time period; Optionally, the adjustment further includes: when a user logs out of the node, a container corresponding to the user is deleted.
9. A computing cluster login node access system, characterized in that: include: A login module, used to obtain login information of a user's login node and allocate a container based on the login information, wherein the user has root privileges in the container; An application module, used for mounting the user directory of the user to the container; A management module is used to manage the container based on the running state of the container.
10. A computing device, characterized in that include: Processor and memory; The memory is used to store computer programs; The processor is used to execute the computer program to implement the computing cluster login node access method according to any one of claims 1 to 8.