Cloud-based AI teaching and training system and method
By utilizing a cloud-native AI teaching and training system based on Kubernetes and MinIO storage, a unified AI coding runtime environment and task scheduling were achieved. This solved the problem of teachers' assessment difficulties, lowered the learning threshold, and improved teaching efficiency and assessment accuracy.
Patent Information
- Application Number
- CN202210814861.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-12
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2042-07-12
AI Technical Summary
In existing AI courses, teachers cannot uniformly assess students' AI learning outcomes, and students face varying training results due to complex operating environment configurations and different datasets, increasing the learning threshold.
We adopt a cloud-native AI teaching and training system, deploy multiple business systems using a Kubernetes cluster, and combine MinIO object storage and s3fs-fuse protocol proxy system to achieve unified storage and mapping of datasets. We also provide resource-pooled GPUs through Job resources in Kubernetes and Redis queue management for task scheduling, ensuring that each student has an independent experimental environment.
It has achieved a unified AI coding environment, which lowers the learning threshold for students, enables teachers to more accurately assess learning outcomes, and improves teaching efficiency and students' learning experience.
Smart Images

Figure CN115202815B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a cloud-native AI teaching and training system and method. Background Technology
[0002] With the development of artificial intelligence, more and more AI courses are entering the classroom. However, most AI courses focus more on explaining theoretical knowledge, while the complex operation environment configuration in artificial intelligence coding often makes students hesitate. The different training effects brought about by different datasets also make it impossible for teachers to uniformly evaluate students' learning outcomes. Summary of the Invention
[0003] This invention provides a cloud-native AI teaching and training system and method to solve the problem in the prior art that teachers cannot uniformly evaluate students' AI learning outcomes.
[0004] According to an embodiment of the present invention, a cloud-native AI teaching and training system includes:
[0005] Multiple business systems are deployed using a Kubernetes cluster, and these business systems are intended for teachers or students.
[0006] MinIO underlying object storage system;
[0007] The cluster proxy service system is used to store the datasets uploaded by teachers through the business system to the MinIO underlying object storage system;
[0008] The s3fs-fuse protocol proxy system is used to map data stored in the MinIO underlying object storage system to the experimental environment of the student's business system;
[0009] The cluster proxy service system is also used to create Jupyter Notebook Pods in Kubernetes and map the data in the experimental environment to the Jupyter Notebook Pods via PV or PVC for students to read.
[0010] According to some embodiments of the present invention, the cluster proxy service system is used for:
[0011] The dataset uploaded by teachers through the business system is stored in multiple MinIO instances that correspond one-to-one with each student in the underlying MinIO object storage system;
[0012] The s3fs-fuse protocol proxy system is used for:
[0013] Map the dataset in the student MinIO instance corresponding to each student to the experimental environment of that student's business system.
[0014] According to some embodiments of the present invention, the cluster proxy service system is used for:
[0015] The datasets uploaded by teachers through the business system are stored in the MinIO underlying object storage system in the teacher MinIO instance corresponding to the teacher;
[0016] In Kubernetes, a custom resource CRD is used to extend multiple Job resources, and the dataset in the teacher's MinIO instance is distributed to multiple student MinIO instances through these multiple Job resources.
[0017] The execution results returned by the multiple Job resources are received through Redis.
[0018] According to some embodiments of the present invention, the cluster proxy service system is further configured to:
[0019] The Job resource is invoked to convert the dataset type in the student MinIO instance.
[0020] According to some embodiments of the present invention, the multiple business systems share a resource pooled GPU.
[0021] The cloud-native AI teaching and training method according to embodiments of the present invention includes:
[0022] The datasets uploaded by teachers are stored in the MinIO underlying object storage system;
[0023] Map the data stored in the MinIO underlying object storage system to the experimental environment of the student's business system;
[0024] Create a Jupyter Notebook Pod in Kubernetes, and map the data from the experimental environment to the Jupyter Notebook Pod via PV or PVC for students to access.
[0025] According to some embodiments of the present invention, storing the dataset uploaded by the teacher to the MinIO underlying object storage system includes:
[0026] The datasets uploaded by teachers are stored in multiple MinIO instances that correspond one-to-one with each student in the underlying MinIO object storage system.
[0027] The process of mapping the data stored in the MinIO underlying object storage system to the experimental environment of the student's business system includes:
[0028] Map the dataset in the student MinIO instance corresponding to each student to the experimental environment of that student's business system.
[0029] According to some embodiments of the present invention, storing the dataset uploaded by the teacher into multiple student MinIO instances in the MinIO underlying object storage system, each corresponding to a different student, includes:
[0030] The datasets uploaded by teachers are stored in the MinIO underlying object storage system in the teacher's corresponding MinIO instance;
[0031] In Kubernetes, a custom resource CRD is used to extend multiple Job resources, and the dataset in the teacher's MinIO instance is distributed to multiple student MinIO instances through these multiple Job resources.
[0032] The execution results returned by the multiple Job resources are received through Redis.
[0033] According to some embodiments of the present invention, the method further includes:
[0034] The Job resource is invoked to convert the dataset type in the student MinIO instance.
[0035] According to some embodiments of the present invention, the method further includes:
[0036] Pool GPU resources.
[0037] By adopting the embodiments of the present invention, artificial intelligence coding and operating environment can be unified, dataset management can be standardized, the teaching effectiveness of teachers can be improved, the learning threshold of students can be lowered, and teachers can more accurately and conveniently assess students' learning progress.
[0038] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and in order to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description
[0039] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of the embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. In the drawings:
[0040] Figure 1 This is an architecture diagram of a cloud-native AI teaching and training system in an embodiment of the present invention;
[0041] Figure 2 This is a data flow diagram of the business scenario of teachers uploading course datasets and students learning courses using the cloud-native AI teaching and training system in this embodiment of the invention.
[0042] Figure 3 This is a business process diagram of uploading assignments using the cloud-native AI teaching and training system in this embodiment of the invention. Detailed Implementation
[0043] Exemplary embodiments of the invention will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the invention and to fully convey the scope of the invention to those skilled in the art. Furthermore, in some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0044] Reference Figure 1 As shown in the figure, the cloud-native AI teaching and training system of this invention includes:
[0045] Multiple business systems are deployed using a Kubernetes cluster, and these systems are intended for teachers or students. Kubernetes is an open-source system for automatically deploying, scaling, and managing containerized applications. Kubernetes aims to make deploying containerized applications simple and powerful, providing a mechanism for application deployment, planning, updating, and maintenance.
[0046] MinIO is the underlying object storage system; MinIO is an open-source object storage suite written in Golang, based on the Apache License v2.0 open-source license, and it is compatible with the Amazon S3 cloud storage service interface.
[0047] The cluster proxy service system is used to store the datasets uploaded by teachers through the business system to the MinIO underlying object storage system;
[0048] The s3fs-fuse protocol proxy system is used to map data stored in the MinIO underlying object storage system to the experimental environment of the student's business system;
[0049] The cluster proxy service system is also used to create Jupyter Notebook Pods in Kubernetes and map the data in the experimental environment to the Jupyter Notebook Pods via PV or PVC for students to read.
[0050] Jupyter Notebook is a web-based application for interactive computing. It can be used throughout the entire computing process: development, documentation, running code, and displaying results. Jupyter Notebook is commonly used as an interactive development tool for artificial intelligence.
[0051] A Pod is the smallest deployable unit of computing that can be created and managed in Kubernetes. It is a group (or group of) containers that share storage, networking, and a declaration of how to run the containers.
[0052] A MinIO underlying object storage system is built using MinIO as the underlying storage, and S3FS is used to mount MinIO as shared storage in the user's experimental environment. S3FS is a file system based on FUSE, which allows object storage buckets to be mounted to a directory level in operating systems such as Linux. Thus, from the perspective of the experimental environment, files stored in MinIO appear as files in a Linux directory, while in the business system, files in MinIO can still be manipulated via S3 interfaces, URLs, and other object storage methods. Specifically, a user can upload a dataset to the business system, and the dataset will appear as a file in the experimental environment's directory. Files created by the user in the experimental environment can also be directly downloaded from the business system via a URL. This truly achieves the goal of making data usable under both protocols (S3, FUSE).
[0053] By adopting the embodiments of the present invention, artificial intelligence coding and operating environment can be unified, dataset management can be standardized, the teaching effectiveness of teachers can be improved, the learning threshold of students can be lowered, and teachers can more accurately and conveniently assess students' learning progress.
[0054] Based on the above embodiments, further variant embodiments are proposed. It should be noted that, in order to keep the description brief, only the differences from the above embodiments are described in each variant embodiment.
[0055] According to some embodiments of the present invention, the cluster proxy service system is used for:
[0056] The dataset uploaded by teachers through the business system is stored in multiple MinIO instances that correspond one-to-one with each student in the underlying MinIO object storage system;
[0057] The s3fs-fuse protocol proxy system is used for:
[0058] Map the dataset in the student MinIO instance corresponding to each student to the experimental environment of that student's business system.
[0059] This allows for the provision of resource-isolated experimental environments for each user, with each user's dedicated minio bucket mounted to a specific directory within the experimental environment via s3fs.
[0060] According to some embodiments of the present invention, the cluster proxy service system is used for:
[0061] The datasets uploaded by teachers through the business system are stored in the MinIO underlying object storage system in the teacher MinIO instance corresponding to the teacher;
[0062] In Kubernetes, a custom resource CRD is used to extend multiple Job resources, and the dataset in the teacher's MinIO instance is distributed to multiple student MinIO instances through these multiple Job resources.
[0063] The execution results returned by the multiple Job resources are received through Redis.
[0064] Therefore, by using Kubernetes Job resources, the execution of tasks such as dataset distribution, copying, and pasting is separated from business services, achieving separation of task scheduling and business systems. Job resources extended by custom resources (CRD) manage the lifecycle of tasks, and Redis is used as a message queue to push task execution status in real time. Business systems subscribe to task topics in Redis and can receive task execution status in real time. Based on specific scheduling business scenarios, corresponding actions can be taken to achieve parallel scheduling of tasks, priority sorting, and other scheduling capabilities, thereby improving the execution speed and success rate of tasks.
[0065] According to some embodiments of the present invention, the cluster proxy service system is further configured to:
[0066] The Job resource is invoked to convert the dataset type in the student MinIO instance.
[0067] Furthermore, based on business scenarios, five task types are abstracted: file format conversion, video protocol conversion, copying, decompression, and dataset extraction. All five task types can be completed by creating Job resources.
[0068] According to some embodiments of the present invention, the multiple business systems share a resource pooled GPU.
[0069] GPU resources are pooled, and CUDA hijacking is used to allow multiple users to share a single GPU card. A built-in listener in the user's experimental environment monitors user operation logs. If a user has not interacted with the experimental environment for 30 minutes and there are no training tasks in the environment, the business system is notified that the experimental environment resources are ready for reclamation. Upon receiving the notification, the business system assesses the overall cluster resource usage. If cluster resources are strained, the experimental environment is directly committed and its resources are released. The commit before reclamation preserves the data within the experimental environment. This resource reclamation strategy ensures data security while conserving resources.
[0070] This invention also proposes a cloud-native AI teaching and training method, which can be executed using the aforementioned cloud-native AI teaching and training system. The cloud-native AI teaching and training method of this invention includes:
[0071] The datasets uploaded by teachers are stored in the MinIO underlying object storage system;
[0072] Map the data stored in the MinIO underlying object storage system to the experimental environment of the student's business system;
[0073] Create a Jupyter Notebook Pod in Kubernetes, and map the data from the experimental environment to the Jupyter Notebook Pod via PV or PVC for students to access.
[0074] By adopting the embodiments of the present invention, artificial intelligence coding and operating environment can be unified, dataset management can be standardized, the teaching effectiveness of teachers can be improved, the learning threshold of students can be lowered, and teachers can more accurately and conveniently assess students' learning progress.
[0075] Based on the above embodiments, further variant embodiments are proposed. It should be noted that, in order to keep the description brief, only the differences from the above embodiments are described in each variant embodiment.
[0076] According to some embodiments of the present invention, storing the dataset uploaded by the teacher to the MinIO underlying object storage system includes:
[0077] The datasets uploaded by teachers are stored in multiple MinIO instances that correspond one-to-one with each student in the underlying MinIO object storage system.
[0078] The process of mapping the data stored in the MinIO underlying object storage system to the experimental environment of the student's business system includes:
[0079] Map the dataset in the student MinIO instance corresponding to each student to the experimental environment of that student's business system.
[0080] According to some embodiments of the present invention, storing the dataset uploaded by the teacher into multiple student MinIO instances in the MinIO underlying object storage system, each corresponding to a different student, includes:
[0081] The datasets uploaded by teachers are stored in the MinIO underlying object storage system in the teacher's corresponding MinIO instance;
[0082] In Kubernetes, a custom resource CRD is used to extend multiple Job resources, and the dataset in the teacher's MinIO instance is distributed to multiple student MinIO instances through these multiple Job resources.
[0083] The execution results returned by the multiple Job resources are received through Redis.
[0084] According to some embodiments of the present invention, the method further includes:
[0085] The Job resource is invoked to convert the dataset type in the student MinIO instance.
[0086] According to some embodiments of the present invention, the method further includes:
[0087] Pool GPU resources.
[0088] The following reference Figures 1-3 This invention provides a detailed description of a cloud-native AI teaching and training system based on a specific embodiment. It is important to understand that the following description is merely illustrative and not intended to limit the scope of the invention. Any similar structures or variations thereof employing the present invention should be included within the protection scope of this invention.
[0089] The core technologies employed in the cloud-native AI teaching and training system of this invention include:
[0090] I. Cloud-native scheduling system.
[0091] Many vendors' scheduling systems are complex and cumbersome, and their handling of exceptions during scheduling is somewhat clumsy, especially in distributed systems where it is difficult to achieve stateless characteristics.
[0092] This invention's cloud-native AI teaching and training system abstracts five sub-task types based on business scenarios: file format conversion, video protocol conversion, copying, decompression, and dataset extraction. It separates task execution from business services using Kubernetes Job resources, achieving separation of task scheduling and business systems. Specifically, Job resources are extended through custom resources (CRDs) to manage the lifecycle of subtasks, and Redis is used as a message queue to push task execution status in real time. Business systems subscribe to task topics in Redis, receiving real-time task execution status and performing corresponding actions based on specific scheduling business scenarios.
[0093] In addition, to improve the execution speed and success rate of tasks, parallel scheduling and priority sorting of tasks were implemented.
[0094] II. Integrated and multi-purpose use of data.
[0095] To ensure secure and persistent file storage, many vendors choose object storage as their file storage server. However, in AI coding and training, there's a preference for using datasets, code, and other file resources as if they were local files. Furthermore, ipynb files (Jupyter notebook files) frequently used in AI development need to be converted to HTML for display in browsers. This demonstrates that a single file requires different protocols and formats in different environments, potentially leading to the need to copy data multiple times, reducing system stability, and wasting storage resources and bandwidth.
[0096] This invention's cloud-native AI teaching and training system uses MinIO as the underlying storage and S3FS to mount MinIO as shared storage to the user's experimental environment. S3FS is a file system based on FUSE, which allows object storage buckets to be mounted to a directory level in operating systems such as Linux. By providing each user with a resource-isolated experimental environment and mounting each user's dedicated MinIO bucket to a directory within that environment using S3FS, files stored in MinIO appear as files in a Linux directory from the perspective of the experimental environment. However, the business system can still manipulate files in MinIO via S3 interfaces, URLs, and other object storage methods. Specifically, a user can upload a dataset to the business system, and the dataset will then appear as a file in the directory of the experimental environment. Files created by the user in the experimental environment can also be directly downloaded from the business system via a URL. This truly enables data to be used under two protocols (S3, FUSE). Simultaneously, a scheduling system dynamically converts data into different formats for use in different environments, reducing the waste of storage resources and bandwidth and improving system stability.
[0097] 3. GPU resource pooling.
[0098] Many vendors allocate one GPU card to one container when using GPUs on Kubernetes, which is wasteful for model development and prediction scenarios. Especially in training platforms, a large number of users (containers) use GPU resources for model development and training. Because GPUs are dedicated, many users will be waiting for resources. If GPU cards are allocated based on the number of users, the GPUs will be idle when the model is not being trained, resulting in wasted resources.
[0099] This invention's cloud-native AI teaching and training system utilizes Alibaba's open-source GPU components. By pooling GPU resources based on user usage patterns and employing CUDA hijacking, multiple users can share a single GPU card. A built-in listener monitors user operation logs within the user's experimental environment. If a user has not interacted with the experimental environment for 30 minutes and there are no training tasks within it, the system notifies the business system that the experimental environment resources are available for reclamation. Upon receiving the notification, the business system assesses the overall cluster resource usage. If cluster resources are strained, it directly commits the experimental environment and releases the resources. The commit before reclamation preserves the data within the experimental environment. This resource reclamation strategy ensures both data security and resource conservation.
[0100] Figure 1 This is an architecture diagram of a cloud-native AI teaching and training system according to an embodiment of the present invention. (Refer to...) Figure 1 As shown, the data integration and multi-use capability uses MinIO as the underlying object storage, and a protocol proxy layer developed based on s3fs-fuse dynamically maps the buckets in the object storage to the Linux file system, and uses PV and PVC to map folders to the JupyterNotebook Pod.
[0101] All business systems are deployed using Kubernetes clusters, and MinIO is deployed in a multi-tenant manner to ensure that the storage of each course does not interfere with each other. Pod storage is created using the storage class approach, simplifying the use of PVs and PVCs.
[0102] MinIO multi-tenancy is a feature inherent to MinIO. In terms of technical implementation, each tenant corresponds to a minimal MinIO instance, which is exclusively used by that tenant. Business and resource isolation can be achieved between tenants. Compared with the traditional usage method (all user data is stored under one MinIO instance), this can ensure that if one tenant consumes too much resources, it will not affect the use and security of other tenants' data. By mapping users to tenants one by one, user data isolation and security are achieved.
[0103] Figure 2 This invention provides a data flow diagram illustrating the business scenario of teachers uploading course datasets and students learning courses using a cloud-native AI teaching and training system. The diagram shows the data flow represented by dashed lines and the business flow represented by solid lines. The process includes:
[0104] S11. The teacher clicks "Upload Dataset" on the page, and the cluster agent service stores the dataset in the object storage MinIO.
[0105] S12. After the data is stored using the S3 protocol, s3fs-fuse dynamically monitors changes in MinIO storage and automatically maps the data to files in the experimental environment directory.
[0106] S13. Students select and join courses on the page;
[0107] S14. The proxy service creates the student's Jupyter Notebook Pod in the Kubernetes cluster and maps the folder on s3fs-fuse into the Pod via PV and PVC, and sets the folder to read-only mode.
[0108] S15. Students can directly see and use the dataset when they open their Jupyter Notebook.
[0109] Figure 3 The business process diagram for completing the upload of assignments using the cloud-native AI teaching and training system in this embodiment of the invention includes:
[0110] S21. The teacher clicks "Assign Homework" on the page.
[0111] S22. The system first determines whether the teacher user has a minio instance. If not, it calls the proxy service interface to create a minio instance.
[0112] S23. The system determines whether it is a local upload (referring to the user's local computer) or a file within the notebook. If it is a local upload, it will be uploaded to the user's minio instance in chunks. If it is a file within the notebook, it will be a file within the user's experimental environment. Because the data is used in multiple ways, the system can find the address of the file through object storage without having to start the user's experimental environment and obtain the directory tree within the experimental environment, thus reducing the consumption of system resources.
[0113] S24. The system determines whether the uploaded file has the .ipynb extension;
[0114] S25. If the file extension is .ipynb, call the task scheduling interface of the cluster agent service to start a custom job in the Kubernetes cluster, convert the .ipynb file extension to an HTML file (for front-end display). The file conversion result will be notified to the agent service through Redis. If the file conversion fails, retry three times.
[0115] S26. The task scheduling interface of the cluster proxy service is called again. The cluster proxy service will operate the Kubernetes cluster to start multiple custom jobs, which will distribute the assignments uploaded by the teachers to the students' miniio instances. Multiple scheduled tasks will be executed in parallel, and the execution result of each task will be notified to the proxy service through Redis. (The reason for batch distribution here is that the assignments need to be modified by the students, and they cannot be directly mapped to read-only mode through s3fs without copying.)
[0116] S27. After the student's assignment data is stored using the S3 protocol, s3fs-fuse dynamically monitors MinIO storage changes and automatically maps the data to files in the student's experimental environment directory.
[0117] S28. The proxy service determines the task execution result and selects retry logic based on a custom strategy. By default, it will retry three times if it fails, and the task supports idempotency.
[0118] S29. The page displays the results of the assigned tasks;
[0119] S30. Students can view assignments in the corresponding folder (course) by opening the notebook.
[0120] The following explanations are provided for the technical terms used in this manual:
[0121] Kubernetes: Kubernetes is an open-source system for automatically deploying, scaling, and managing containerized applications. Kubernetes aims to make deploying containerized applications simple and powerful. Kubernetes provides a mechanism for application deployment, planning, updating, and maintenance.
[0122] Pod: A Pod is the smallest deployable unit of computing that can be created and managed in Kubernetes. It is a group (one or more) of containers that share storage, networking, and a declaration of how to run the containers.
[0123] Job: A Kubernetes-defined resource responsible for batch processing short-lived, one-off tasks. It is executed only once and ensures that one or more Pods are successfully terminated.
[0124] CRD stands for CustomResourceDefinitions. CRD provides an extension method that allows users to customize new resources to extend the functionality of Kubernetes.
[0125] PV: Persistent Volume. A type of cluster resource, it is a block of storage in a Kubernetes cluster that can be provisioned in advance by the administrator or dynamically provisioned using a storage class.
[0126] Jupyter Notebook: Jupyter Notebook is a web-based application for interactive computing. It can be used throughout the entire computing process: development, documentation, running code, and displaying results. Jupyter Notebook is commonly used as an interactive development tool for artificial intelligence.
[0127] Experimental environment: A business concept referring to the collection of systems, software, and environments used by users to learn, code, and train AI. Technically, this is achieved by creating Pods using Kubernetes and pre-installing Jupyter Notebook programs within those Pods. This ensures that the user's experimental environment is resource-isolated and not shared. Business-wise, a unique experimental environment is created for each user; the experimental environment and the user are a one-to-one relationship.
[0128] Cluster Proxy Service: Interacts with Kubernetes clusters and manages the lifecycle of the experimental environment, task scheduling, and MinIO multi-tenancy by calling Kubernetes APIs.
[0129] s3fs-fuse: s3fs-fuse is a file system based on FUSE that allows Linux and Mac OS X to mount S3 buckets on the local file system. S3fs can maintain the original format of objects.
[0130] MinIO: MinIO is an open-source object storage suite written in Golang, based on the Apache License v2.0 open-source license, and it is compatible with the Amazon S3 cloud storage service interface.
[0131] Bucket: A bucket defined within object storage. Objects are typically stored in buckets. It is a management entity for advanced functions such as billing, access control, and lifecycle management. It is also globally unique and cannot be modified.
[0132] S3 Protocol: S3 is theoretically a global Storage Area Network (SAN), which acts like a giant hard drive where you can store and retrieve digital assets. However, technically, Amazon's architecture is slightly different. The assets you store and retrieve through S3 are called objects. Objects are stored in buckets. You can use a hard drive analogy: objects are like files, and storage segments are like folders (or directories). Like hard drives, objects and storage segments can also be located using Uniform Resource Identifiers (URIs).
[0133] ipynb file: A format for interactive notebook programs, available in Jupyter Notebook, and commonly used by AI engineers for coding.
[0134] Redis: An open-source, network-enabled, in-memory, distributed key-value store database written in ANSI C, and the most popular key-value store database.
[0135] It should be noted that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
[0136] While some embodiments described herein include certain features included in other embodiments but not others, combinations of features from different embodiments are intended to be within the scope of the invention and form different embodiments. Specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. For example, in the claims, any of the claimed embodiments may be used in any combination.
[0137] The terms “comprising,” “including,” or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase “comprising one…” does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0138] Any reference signs enclosed in parentheses should not be construed as limiting the claims. The word "a" or "an" preceding an element does not exclude the existence of a plurality of such elements. The use of the words first, second, and third, etc., is to distinguish similar objects and does not indicate any order. These words may be interpreted as names.
[0139] "AND / OR" describes the relationship between related objects, indicating that there can be three relationships. For example, A AND / OR B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "OR" relationship.
Claims
1. A cloud-native AI teaching and practical training system, characterized in that, The application comprises: a plurality of business systems deployed by Kubernetes cluster, the business systems being for teachers or students; a MinIO underlying object storage system; a cluster agent service system for storing data sets uploaded by teachers through the business systems into the MinIO underlying object storage system; an s3fs-fuse protocol agent system for mapping the data stored in the MinIO underlying object storage system into an experimental environment of a business system of a student; the cluster agent service system is further configured to create a JupyterNotebook Pod in Kubernetes and map the data in the experimental environment into the JupyterNotebook Pod through PV or PVC for reading by students; the cluster agent service system is configured to: store the data sets uploaded by teachers through the business systems into a plurality of student MinIO instances corresponding to the plurality of students in the MinIO underlying object storage system; the s3fs-fuse protocol agent system is configured to: map the data sets in the student MinIO instance corresponding to each student into the experimental environment of the business system of the student; the cluster agent service system is configured to: store the data sets uploaded by teachers through the business systems into a teacher MinIO instance corresponding to the teachers in the MinIO underlying object storage system; operate a plurality of Job resources extended by a custom resource CRD in Kubernetes, and distribute the data sets in the teacher MinIO instance to a plurality of student MinIO instances through the plurality of Job resources; receive execution results returned by the plurality of Job resources through redis.
2. The system of claim 1, wherein, the cluster agent service system is further configured to: invoke the Job resources to convert the types of the data sets in the student MinIO instances.
3. The system of claim 1, wherein, The plurality of business systems share a resource-pooled GPU.
4. A cloud-native AI teaching and training method, characterized in that The application comprises: storing data sets uploaded by teachers into a MinIO underlying object storage system; mapping the data stored in the MinIO underlying object storage system into an experimental environment of a business system of a student; creating a JupyterNotebook Pod in Kubernetes and mapping the data in the experimental environment into the JupyterNotebook Pod through PV or PVC for reading by students; the storing of the data sets uploaded by teachers into the MinIO underlying object storage system comprises: storing the data sets uploaded by teachers into a plurality of student MinIO instances corresponding to the plurality of students in the MinIO underlying object storage system; the mapping of the data stored in the MinIO underlying object storage system into the experimental environment of the business system of the student comprises: mapping the data sets in the student MinIO instance corresponding to each student into the experimental environment of the business system of the student; the storing of the data sets uploaded by teachers into the MinIO underlying object storage system comprises: store the dataset uploaded by the teacher into a teacher MinIO instance corresponding to the teacher in a MinIO underlying object storage system; operate a plurality of Job resources extended by a custom resource CRD in Kubernetes, and distribute the dataset in the teacher MinIO instance to a plurality of student MinIO instances through the plurality of Job resources; receive an execution result returned by the plurality of Job resources through redis.
5. The method of claim 4, wherein, The method further comprises: invoke the Job resource to convert the type of the dataset in the student MinIO instance.
6. The method of claim 4, wherein, The method further comprises: pool GPU resources.
Citation Information
Patent Citations
Intelligent big data practical training method and system based on telescopic cluster
CN110516934A