CN117149360B - 远程实训方法、设备和存储介质 - Google Patents
远程实训方法、设备和存储介质 Download PDFInfo
- Publication number
- CN117149360B CN117149360B CN202311413523.4A CN202311413523A CN117149360B CN 117149360 B CN117149360 B CN 117149360B CN 202311413523 A CN202311413523 A CN 202311413523A CN 117149360 B CN117149360 B CN 117149360B
- Authority
- CN
- China
- Prior art keywords
- platform
- training
- container
- resource
- virtual machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 288
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000001514 detection method Methods 0.000 claims abstract description 3
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 2
- 230000010354 integration Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 51
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- XQMVBICWFFHDNN-UHFFFAOYSA-N 5-amino-4-chloro-2-phenylpyridazin-3-one;(2-ethoxy-3,3-dimethyl-2h-1-benzofuran-5-yl) methanesulfonate Chemical compound O=C1C(Cl)=C(N)C=NN1C1=CC=CC=C1.C1=C(OS(C)(=O)=O)C=C2C(C)(C)C(OCC)OC2=C1 XQMVBICWFFHDNN-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/08—Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Abstract
本申请涉及数据处理技术领域,公开了一种远程实训方法、设备和存储介质,该方法包括:用户端平台响应于检测到用户录入的实训资源标识,确定目标实训模式,并启动对应的客户端,进而客户端生成资源实训请求发送至实训平台服务器,实训平台服务器根据该请求调用管理平台于计算机群平台中创建容器或虚拟机实例,在创建的容器或虚拟机实例中启动对应的服务端并运行实训资源,进而服务端将实训资源运行过程中的图形界面数据发送至客户端展示,并根据反馈的实训操作数据控制实训资源的运行,实现了用户远程实训,解决了现有技术中管理资源消耗高、集成和兼容性差、开启容器服务时间过长的问题,可以满足用户对实训内容的不同需求。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种远程实训方法、设备和存储介质。
背景技术
随着线上培训和远程教学的发展,远程实训技术应运而生。远程实训技术是指通过远程访问和虚拟化技术,实现学习者在远程地点进行线上实践和实验。它提供了一种灵活且方便的方式,使学习者能够从任何地方访问和操作实验环境,无需实际物理设备或在特定地点进行实践。
现有技术中,通常是使用OpenStack自动化管理资源,将资源划分为不同的用户,并为每个用户提供独立的虚拟网络、存储和安全策略,对多用户进行隔离。然而,OpenStack对容器服务的管理存在资源消耗高、集成和兼容性较差、开启容器服务时间过长等问题,导致用户体验不佳,并且,现有的实训模式过于单一,使得远程教学内容受到限制。
有鉴于此,特提出本申请。
发明内容
为了解决上述技术问题,本申请提供了一种远程实训方法、设备和存储介质,解决管理资源消耗高、集成和兼容性差、开启容器服务时间过长以及实训模式单一导致教学内容受到限制的问题,提高用户的远程实训教学体验。
本申请实施例提供了一种远程实训方法,应用于远程实训系统,所述远程实训系统包括各用户端平台以及实训平台,所述实训平台包括管理平台和实训平台服务器,所述管理平台包括云计算平台、容器平台和计算机群平台,所述方法包括:
所述用户端平台响应于检测到用户录入的实训资源标识,基于所述实训资源标识确定目标实训模式,并启动与所述目标实训模式对应的客户端;
所述客户端生成资源实训请求并发送至所述实训平台服务器;
所述实训平台服务器响应于所述资源实训请求,调用所述管理平台于所述计算机群平台中创建容器或虚拟机实例,于创建的容器或虚拟机实例中启动与所述目标实训模式对应的服务端,并于创建的容器或虚拟机实例中运行实训资源;
所述服务端将所述实训资源运行过程中的图形界面数据发送至所述客户端展示,并根据所述客户端反馈的实训操作数据控制所述实训资源的运行。
本申请实施例提供了一种电子设备,所述电子设备包括:
处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行任一实施例所述的远程实训方法的步骤。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行任一实施例所述的远程实训方法的步骤。
本申请实施例具有以下技术效果:
用户端平台响应于检测到用户录入的实训资源标识,确定目标实训模式,并启动与目标实训模式对应的客户端,进而客户端生成资源实训请求发送至实训平台服务器,实训平台服务器根据该请求调用管理平台于计算机群平台中创建容器或虚拟机实例,在创建的容器或虚拟机实例中启动与目标实训模式对应的服务端以及运行实训资源,进而服务端将实训资源运行过程中的图形界面数据发送至客户端展示,并根据客户端反馈的实训操作数据控制实训资源的运行,实现了对用户端平台的用户的远程实训,该方法通过集成有云计算平台和容器平台的管理平台创建容器或虚拟机实例,管理平台相比于云计算平台具有更强大的自动化和编排能力、更灵活的弹性和伸缩功能,极大缩减了资源创建的时间,解决了现有技术中管理资源消耗高、集成和兼容性差、开启容器服务时间过长的问题,并且,该方法可以根据用户需要实训的资源支持对应的实训模式,满足用户对实训内容的不同需求,解决了实训模式单一导致教学内容受到限制的问题,提高用户的远程实训教学体验,用户操作便捷,学习成本低,无需额外准备实验环境。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种远程实训方法的流程图;
图2是本申请实施例提供的一种服务端启动的过程示意图;
图3是本申请实施例提供的一种管理平台对容器和虚拟机资源的管理示意图;
图4是本申请实施例提供的一种实训示意图;
图5是本申请实施例提供的一种镜像文件的创建示意图;
图6是本申请实施例提供的一种采用BS架构远程跨域的过程示意图;
图7是本申请实施例提供的一种存储路径获取示意图;
图8是本申请实施例提供的一种分布式文件集群的框架示意图;
图9是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本申请所保护的范围。
本申请实施例提供的远程实训方法,主要适用于用户使用设备对一些远程资源进行实训的情况,例如,用户对操作系统、应用开发等进行实训。本申请实施例提供的远程实训方法可以由远程实训系统执行。该远程实训系统包括各用户端平台以及实训平台,实训平台包括管理平台和实训平台服务器,管理平台包括云计算平台、容器平台和计算机群平台。
其中,用户端平台可以是面向用户的平台,用户可以通过用户端平台发起对实训资源进行实训的请求。实训平台中的实训平台服务器可以与用户端平台通信,接收用户端平台发送的实训资源标识,实训平台中的实训平台服务器还可以与实训平台中的管理平台通信,以调用管理平台进行容器资源或虚拟机资源的创建。
管理平台将云计算平台、容器平台和计算机群平台结合在一起,可以通过云计算平台或容器平台在计算机群平台中创建资源,实现资源的共享和最大化利用。
其中,容器平台可以是Kubernetes,云计算平台可以是OpenStack,计算机群平台可以是HPC(High Performance Computing,高性能计算)机群平台。例如,可以在一套物理机上部署Kubernetes、OpenStack和HPC集群平台,实现物理机资源、虚拟机资源、容器资源的整合。
图1是本申请实施例提供的一种远程实训方法的流程图。参见图1,该远程实训方法具体包括:
S110、用户端平台响应于检测到用户录入的实训资源标识,基于实训资源标识确定目标实训模式,并启动与目标实训模式对应的客户端。
在本申请实施例中,用户端平台可以通过显示界面向用户展示各个实训资源对应的图标,进而可以通过检测用户于显示界面上触发的图标,向服务端传输用户提前录入的实训资源标识。其中,实训资源标识可以预先在数据库中创建,用户点击相应实训资源对应的图标进入实训页面,会获取对应的实验详情,包括实训资源标识,进而用户端平台基于此实训资源标识确定对应的目标实训模式,并后续通过客户端生成资源实训请求发送至实训平台服务器。
其中,实训资源标识可以用于描述用户期望的实训资源,例如,实训资源标识可以是用户期望的实训资源的名称,或者,实训资源标识可以是用户期望的实训资源的路径。实训资源可以是数据库、办公软件、大数据应用、人工智能应用、操作系统(如Linux、Windows等)。
具体的,根据用户录入的实训资源标识,用户端平台可以确定对应的目标实训模式。其中,目标实训模式可以是对实训资源进行展示以及操作的模式,如,浏览器展示模式、终端展示模式或代码展示模式。
其中,浏览器展示模式可以是以浏览器的方式展示和操作实训资源的远程桌面,终端展示模式可以是以命令行的方式展示和操作实训资源,代码展示模式可以是以代码编辑器的方式展示和操作实训资源。在本发明实施例中,可以预先为不同的实训资源设置对应的实训模式,例如,数据库对应的实训模式为终端展示模式,操作系统对应的实训模式为浏览器展示模式,大数据应用对应的实训模式为代码展示模式。
具体的,每个目标实训模式均具备其对应的客户端,用户端平台可以在确定出目标实训模式后,启动与目标实训模式对应的客户端。
在一种示例中,启动与目标实训模式对应的客户端,包括:若目标实训模式为浏览器展示模式,则启动控制台客户端;若目标实训模式为终端展示模式,则启动安全协议客户端;若目标实训模式为代码展示模式,则启动代码编辑客户端。
其中,控制台客户端可以是VNC(Virtual Network Console,虚拟网络控制台)客户端。例如,可以在创建的容器或虚拟机中运行VNC服务端,进而VNC客户端可以连接VNC服务端,达到与容器或虚拟机之间建立远程连接的目的,实现对容器或虚拟机中运行的实训资源的远程桌面的访问。
安全协议客户端可以是SSH(Secure Shell,安全外壳协议)客户端。例如,可以在创建的容器或虚拟机中运行SSH服务端,进而SSH客户端可以连接SSH服务端,达到与容器或虚拟机之间建立远程连接的目的,实现对实训资源的远程管理和开发,如,用户可以通过在SSH客户端输入命令行管理和开发实训资源。
代码编辑客户端可以是WebIDE(Web Integrated Development Environment ,网页集成开发环境)客户端。例如,可以在创建的容器或虚拟机中运行WebIDE服务端,进而WebIDE客户端可以连接WebIDE服务端,达到与容器或虚拟机之间建立远程连接的目的,实现对实训资源的远程开发和调试。
在上述示例中,通过提供VNC、SSH、WebIDE等不同实训模式,可以涵盖远程桌面协议、远程登录协议和基于Web的集成开发环境等实训模式,满足用户对实训内容的不同需求。
并且,在本申请实施例中,还可以使用Web技术,结合Vue框架和Ant-Design样式库构建用户端平台的用户界面,并使用noVnc、iframe等方式在用户端平台展示和使用Vnc、WebIDE等资源。尽管底层采用跨平台实验环境集成架构,支持多种实训模式,但在用户视角下,用户端平台采用统一操作调用不同客户端,整体流程对用户无感知。
S120、客户端生成资源实训请求并发送至实训平台服务器。
具体的,用户端平台在启动目标实训模式对应的客户端后,客户端可以生成资源实训请求发送至实训平台服务器。其中,资源实训请求可以包括实训资源标识。
S130、实训平台服务器响应于资源实训请求,调用管理平台于计算机群平台中创建容器或虚拟机实例,于创建的容器或虚拟机实例中启动与目标实训模式对应的服务端,并于创建的容器或虚拟机实例中运行实训资源。
具体的,实训平台服务器在接收到资源实训请求之后,可以调用管理平台,通过管理平台在计算机群平台中创建容器或虚拟机实例。
其中,管理平台可以将容器平台、云计算平台以及计算机群平台结合在一起,通过容器平台或云计算平台在计算机群平台中完成容器或虚拟机实例等资源的创建,进而可以实现资源的共享和最大化利用,不同用户端平台的实训任务可以共享相同的物理资源,提高整个系统的资源利用率。
在一种示例中,实训平台服务器响应于资源实训请求,调用管理平台于计算机群平台中创建容器或虚拟机实例,于创建的容器或虚拟机实例中启动与目标实训模式对应的服务端,包括:
实训平台服务器响应于资源实训请求,基于资源实训请求中的实训资源标识确定实训资源类型,并基于实训资源类型确定创建资源类型;
在创建资源类型为容器类型的情况下,实训平台服务器调用容器平台于计算机群平台中创建容器,于容器中启动与目标实训模式对应的服务端;
在创建资源类型为虚拟机类型的情况下,实训平台服务器调用云计算平台于计算机群平台中创建虚拟机实例,于虚拟机实例中启动与目标实训模式对应的服务端。
其中,由于不同实训资源类型运行时所占用的空间不同,因此,可以为各实训资源类型预先设置对应的创建资源类型。例如,对于运行占用空间较大的实训资源类型,如,操作系统,可以设置对应的创建资源类型为虚拟机实例,对于运行占用空间较小的实训资源类型,如,办公软件,可以设置对应的创建资源类型为容器。
具体的,实训平台服务器可以根据实训资源标识确定实训资源类型,如数据库、操作系统、大数据应用等。进一步的,在创建资源类型为虚拟机类型的情况下,调用云计算平台在计算机群平台中创建虚拟机实例,并在虚拟机实例中启动与目标实训模式对应的服务端;在创建资源类型为容器类型的情况下,调用容器平台在计算机群平台中创建容器,并在容器中启动与目标实训模式对应的服务端。
可以理解的是,若目标实训模式为浏览器展示模式,则可以启动控制台服务端,若目标实训模式为终端展示模式,则可以启动安全协议服务端,若目标实训模式为代码展示模式,则可以启动代码编辑客户端。
示例性的,图2是本申请实施例提供的一种服务端启动的过程示意图。如图2所示,用户端平台可以根据用户录入的实训资源标识(如,API/资源名称),确定目标实训模式,进而启动对应的客户端(如VNC、SSH、VS Code),使得客户端通过网关与管理平台通信,进而管理平台(包括Kubernetes和OpenStack)通过创建的虚拟机实例或容器,运行对应的服务端(如VNC、SSH、WebIDE服务端),以实现对虚拟机实例或容器的管理。
在本申请实施例中,可以于容器平台中部署Kubernetes集群,包括主(Master)节点和从(Worker)节点。在容器平台和云计算平台中集成计算机群平台,容器平台和云计算平台可以分别通过调度器,将任务(即实训资源的运行)调度到空闲的节点,以通过该节点上创建的容器或虚拟机实例运行实训资源。
在上述示例中,通过云计算平台管理虚拟机资源,通过容器平台管理容器资源,实现了容器资源和虚拟机资源的分别管理,解决了现有技术中OpenStack对容器服务的管理资源消耗高、集成和兼容性较差、开启容器服务时间过长等问题,通过容器平台管理容器资源,相比使用OpenStack管理容器资源,具有更强大的自动化和编排能力、更灵活的弹性和伸缩功能,大大缩减创建容器资源的时间,提升用户体验。
示例性的,图3是本申请实施例提供的一种管理平台对容器和虚拟机资源的管理示意图,如图3所示,容器平台可以管理容器资源,于HPC平台中创建容器,并于创建的容器中运行VNC服务、SSH服务或WebIDE服务;云计算平台可以管理虚拟机资源,于HPC平台中创建VM(Virtual Machine, 虚拟机实例),并于创建的VM中运行VNC服务、SSH服务或Webide服务。
除了上述通过容器平台和云计算平台分别管理容器资源和虚拟机资源的方式之外,还可以将云计算平台集成于容器平台之中,通过容器平台管理容器资源和虚拟机资源。
如,在另一种示例中,云计算平台通过云提供商插件集成于容器平台中,还包括:容器平台通过云提供商插件于计算机群平台中创建虚拟机实例;
相应的,实训平台服务器响应于资源实训请求,调用管理平台于计算机群平台中创建容器或虚拟机实例,于创建的容器或虚拟机实例中启动与目标实训模式对应的服务端,包括:实训平台服务器响应于资源实训请求,调用容器平台在虚拟机实例中创建容器,于容器中启动与目标实训模式对应的服务端。
在本申请实施例中,可以预先于容器平台中安装和配置云计算平台提供的云提供商插件,该云提供商插件可以充当容器平台与云计算平台之间的中间层,允许容器平台管理虚拟机资源,例如,云提供商插件可以是OpenStack Cloud Provider或OpenStackMagnum。在插件安装完毕之后,可以在容器平台的配置文件中配置该插件,配置文件可以是kubelet的配置文件(如kubelet.conf),在配置文件中,需要提供云计算平台的相关信息,例如认证凭证、API端点和其他配置选项。进一步的,可以将计算机群平台中的节点添加到云计算平台中,以为节点分配适当的虚拟机资源。一旦插件和节点配置完成,容器平台可以管理(如创建、关闭等)虚拟机资源。
具体的,容器平台可以通过云提供商插件,在计算机群平台中创建多个虚拟机实例,进一步的,实训平台服务器在接收到资源实训请求后,可以调用容器平台在空闲的虚拟机实例中创建容器,进而在容器中启动与目标实训模式对应的服务端。需要说明的是,在此示例中,虚拟机实例不再单独作为运行实训资源的实体,而是用于运行容器,在容器中运行实训资源。
示例性的,图4是本申请实施例提供的一种实训示意图,对于面向不同用户的客户端,实训平台可以分别创建对应的容器,进而在容器中运行用户需要实训的应用,以为各个客户端分别提供对应的实验环境。
可选的,容器平台通过云提供商插件于计算机群平台中创建虚拟机实例,包括:容器平台通过云提供商插件提供的创建命令,于计算机群平台中创建虚拟机实例;或者,容器平台通过云提供商插件提供的资源管理接口,于计算机群平台中创建虚拟机实例。
即,云提供商插件可以为容器平台提供两种方式来管理虚拟机资源,一种是创建命令(如kubectl命令),另一种是资源管理接口(Kubernetes API),容器平台可以通过使用创建命令(如kubectl命令)或者调用资源管理接口,创建虚拟机实例、网络、存储和负载均衡等OpenStack资源。
在上述示例中,可以在容器平台中配置云提供商插件,以使容器平台与云计算平台进行通信和资源管理,通过容器平台的调度器和资源管理机制,定义跨平台资源管理策略;通过Kubernetes API,以声明式的方式进行资源管理,可以在物理机上实现基于Kubernetes和OpenStack的跨平台异构资源管理。Kubernetes提供了统一的管理平台和调度器,而OpenStack提供了丰富的物理机和虚拟机资源管理功能,结合使用,以实现在物理机上管理和调度不同类型的资源,包括容器和虚拟机等。
具体的,在管理平台于创建的容器或虚拟机实例启动与目标实训模式对应的服务端之后,可以于创建的容器或虚拟机实例中运行实训资源。
在一种具体的实施方式中,于创建的容器或虚拟机实例中运行实训资源,包括:管理平台将实训资源打包为镜像文件,并在创建的容器或虚拟机实例中运行镜像文件。
具体的,管理平台可以调用ARM或X86不同架构的硬件资源,将与实训资源标识对应的实训资源制作成镜像文件,在创建的容器或虚拟机实例中运行镜像文件,达到在创建的容器或虚拟机实例中运行实训资源的目的。
示例性的,图5是本申请实施例提供的一种镜像文件的创建示意图,如图5所示,管理平台(包括Kubernetes和OpenStack)可以调用ARM架构或X86架构的硬件资源,将数据库、办公软件、大数据应用、人工智能(Artificial Intelligence,AI)应用、操作系统等实训资源,制作成镜像文件,在创建的容器或虚拟机实例中运行。
S140、服务端将实训资源运行过程中的图形界面数据发送至客户端展示,并根据客户端反馈的实训操作数据控制实训资源的运行。
具体的,服务端可以将实训资源运行过程中的图形界面数据实时发送至客户端展示,并接收客户端发送的实训操作数据,其中,实训操作数据可以是用户对展示的图形界面数据进行操作的数据。进而服务端可以根据实训操作数据控制实训资源的运行,如,控制大数据应用开启功能、于办公软件中编辑信息等。
在本申请实施例中,实训平台服务器负责处理客户端发送的资源实训请求,调用管理平台在云端创建虚拟机或容器等相应资源,并将实训资源运行的图形界面数据返回至客户端,实现了将远程实验资源拉到用户的本地实验环境。
其中涉及到的域包括用户域、接入域(实训平台服务器和网关)、平台域(云计算平台、容器平台)、资源域(底层计算资源、分布式存储资源)等。如图6所示,图6是本申请实施例提供的一种采用BS架构远程跨域的过程示意图,用户域可以通过启动的客户端,发送请求,进而实训平台服务器可以解析请求,并通过管理平台启动相应实训资源,进而返回启动结果(即实训资源运行的图形界面数据),通过网关发送至客户端,使得客户端显示并操作实训资源。
上述所有实验过程均通过云上交互方式完成,用户只需客户端即可完成相应实训,无需在本地配置环境资源。并且,在跨域请求中可以设置请求的限制和安全机制,在实训平台服务器响应中设置跨域资源共享机制,同时添加OpenStack安全组和防火墙设置,通过定义这些安全边界提高了系统的安全性。
在本申请实施例中,还可以提供统一的数据存储空间,便于用户对数据的管理,解决现有技术中文件管理缺少灵活性、不同资源下的数据不互通的问题。
可选的,本申请实施例提供的方法还包括:服务端响应于客户端发送的文件传输请求,通过容器平台基于文件传输请求中的用户信息确定对应的存储路径,并将存储路径反馈至客户端,以使客户端在存储路径下进行文件传输。
其中,文件传输请求可以由客户端根据检测到的上传操作生成。具体的,客户端可以在检测到用户的上传操作时,生成文件传输请求发送至服务端,进而容器平台可以通过文件传输请求中的用户信息确定对应的存储路径,进而将存储路径反馈给客户端,客户端可以将文件上传至该存储路径下。如果资源是云计算平台管理,则可以通过KubernetesAPI获取存储路径。
需要说明的是,用户信息对应的存储路径可以是预先设置的。对于同一个用户来说,其对应的存储路径始终为一个,即在不同的实训模式下,上传的文件均可以写入至同一存储路径中。
通过提供统一数据存储空间,可以支持不同资源对数据的统一访问,用户可以通过VNC、SSH、WebIDE等方式(即不同实训模式对应的客户端)对文件进行读写操作,同时支持多端读、多端写,例如在WebIDE上创建的文件,在VNC提供的远程桌面上也可继续访问读写,便于用户对数据的管理。
示例性的,图7是本申请实施例提供的一种存储路径获取示意图,其中,客户端可以通过接口将用户信息发送给服务端,服务端解析并获取到用户信息后访问网关接口,获取该用户信息下的存储路径,并反馈给客户端,客户端可以在该路径下执行上传文件、新建/删除目录等操作。用户可以通过VNC、SSH、WebIDE等方式访问该路径下的文件数据并进行读写。
在一种具体的实施方式中,远程实训系统还包括分布式文件集群和分布式文件系统,本申请实施例提供的方法还包括:实训平台服务器响应于用户端平台发送的首次登录请求,创建与首次登录请求中的用户信息对应的存储路径以及资源存储请求;
相应的,在调用容器平台在虚拟机实例中创建容器之后,还包括:容器平台将资源存储请求挂载到分布式文件集群中的至少一个存储卷上,并将挂载的存储卷与存储路径连接。
在本申请实施例中,可以预先配置和部署一个分布式文件集群,并创建一个分布式文件系统(Ceph FileSystem,CephFS),进而在容器平台中创建一个存储类(StorageClass)来定义CephFS存储的配置和属性。存储类是一个抽象的描述,用于定义存储卷的动态供应和属性。在存储类中,需要指定CephFS的具体配置,如Ceph集群的地址、文件系统的名称、用户凭证等。
具体的,在用户首次通过用户端平台登录时,用户端平台可以发送首次登录请求至实训平台服务器,进而实训平台服务器创建与用户信息对应的存储路径以及资源存储请求(PersistentVolumeClaim,PVC)。其中,资源存储请求可以用于请求持久化存储资源,PVC是一个声明式的对象,它描述了应用程序对存储的需求,包括存储类、存储容量和访问模式等。
进一步的,在容器平台于虚拟机实例中创建容器之后,容器平台可以将资源存储请求挂载到分布式文件集群中的至少一个存储卷上,进而可以通过Volume挂载,将挂载的存储卷连接到容器中的存储路径,以便客户端可以访问持久化存储。
如图8所示,图8是本申请实施例提供的一种分布式文件集群的框架示意图。其中,CephFS和Ceph集群可以提供给容器平台使用,容器平台可以先配置存储类(StorageClass),进而通过PVC在存储类中挂在一个或多个存储卷(PersistentVolume,PV)。
通过上述方式,可以在容器平台中使用分布式文件系统来实现数据存储,文件被分散存储在分布式文件集群的多个存储节点上,从而实现高可靠性和可扩展性。
本申请具有以下技术效果:用户端平台响应于检测到用户录入的实训资源标识,确定目标实训模式,并启动与目标实训模式对应的客户端,进而客户端生成资源实训请求发送至实训平台服务器,实训平台服务器根据该请求调用管理平台于计算机群平台中创建容器或虚拟机实例,在创建的容器或虚拟机实例中启动与目标实训模式对应的服务端以及运行实训资源,进而服务端将实训资源运行过程中的图形界面数据发送至客户端展示,并根据客户端反馈的实训操作数据控制实训资源的运行,实现了对用户端平台的用户的远程实训,该方法通过集成有云计算平台和容器平台的管理平台创建容器或虚拟机实例,管理平台相比于云计算平台具有更强大的自动化和编排能力、更灵活的弹性和伸缩功能,极大缩减了资源创建的时间,解决了现有技术中管理资源消耗高、集成和兼容性差、开启容器服务时间过长的问题,并且,该方法可以根据用户需要实训的资源支持对应的实训模式,满足用户对实训内容的不同需求,解决了实训模式单一导致教学内容受到限制的问题,提高用户的远程实训教学体验,用户操作便捷,学习成本低,无需额外准备实验环境。
图9是本申请实施例提供的一种电子设备的结构示意图。如图9所示,电子设备400包括一个或多个处理器401和存储器402。
处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所说明的本申请任意实施例的远程实训方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如初始外参、阈值等各种内容。
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。该输入装置403可以包括例如键盘、鼠标等等。该输出装置404可以向外部输出各种信息,包括预警提示信息、制动力度等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图9中仅示出了该电子设备400中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本申请任意实施例所提供的远程实训方法的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本申请任意实施例所提供的远程实训方法的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,本申请所用术语仅为了描述特定实施例,而非限制本申请范围。如本申请说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
还需说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”等应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案。
Claims (10)
1.一种远程实训方法,其特征在于,应用于远程实训系统,所述远程实训系统包括各用户端平台以及实训平台,所述实训平台包括管理平台和实训平台服务器,所述管理平台包括云计算平台、容器平台和计算机群平台,所述方法包括:
所述用户端平台响应于检测到用户录入的实训资源标识,基于所述实训资源标识确定目标实训模式,并启动与所述目标实训模式对应的客户端;
所述客户端生成资源实训请求并发送至所述实训平台服务器;
所述实训平台服务器响应于所述资源实训请求,调用所述管理平台于所述计算机群平台中创建容器或虚拟机实例,于创建的容器或虚拟机实例中启动与所述目标实训模式对应的服务端,并于创建的容器或虚拟机实例中运行实训资源;
所述服务端将所述实训资源运行过程中的图形界面数据发送至所述客户端展示,并根据所述客户端反馈的实训操作数据控制所述实训资源的运行;
其中,所述计算机群平台为HPC机群平台。
2.根据权利要求1所述的方法,其特征在于,所述启动与所述目标实训模式对应的客户端,包括:
若所述目标实训模式为浏览器展示模式,则启动控制台客户端;
若所述目标实训模式为终端展示模式,则启动安全协议客户端;
若所述目标实训模式为代码展示模式,则启动代码编辑客户端。
3.根据权利要求1所述的方法,其特征在于,所述实训平台服务器响应于所述资源实训请求,调用所述管理平台于所述计算机群平台中创建容器或虚拟机实例,于创建的容器或虚拟机实例中启动与所述目标实训模式对应的服务端,包括:
所述实训平台服务器响应于所述资源实训请求,基于所述资源实训请求中的实训资源标识确定实训资源类型,并基于所述实训资源类型确定创建资源类型;
在所述创建资源类型为容器类型的情况下,所述实训平台服务器调用容器平台于所述计算机群平台中创建容器,于所述容器中启动与所述目标实训模式对应的服务端;
在所述创建资源类型为虚拟机类型的情况下,所述实训平台服务器调用云计算平台于计算机群平台中创建虚拟机实例,于所述虚拟机实例中启动与所述目标实训模式对应的服务端。
4.根据权利要求1所述的方法,其特征在于,所述云计算平台通过云提供商插件集成于所述容器平台中,所述方法还包括:
所述容器平台通过所述云提供商插件于计算机群平台中创建虚拟机实例;
相应的,所述实训平台服务器响应于所述资源实训请求,调用所述管理平台于所述计算机群平台中创建容器或虚拟机实例,于创建的容器或虚拟机实例中启动与所述目标实训模式对应的服务端,包括:
所述实训平台服务器响应于所述资源实训请求,调用所述容器平台在所述虚拟机实例中创建容器,于所述容器中启动与所述目标实训模式对应的服务端。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述服务端响应于所述客户端发送的文件传输请求,通过所述容器平台基于所述文件传输请求中的用户信息确定对应的存储路径,并将所述存储路径反馈至所述客户端,以使所述客户端在所述存储路径下进行文件传输。
6.根据权利要求5所述的方法,其特征在于,所述远程实训系统还包括分布式文件集群和分布式文件系统,所述方法还包括:
所述实训平台服务器响应于所述用户端平台发送的首次登录请求,创建与所述首次登录请求中的用户信息对应的存储路径以及资源存储请求;
相应的,在调用所述容器平台在所述虚拟机实例中创建容器之后,还包括:
所述容器平台将所述资源存储请求挂载到所述分布式文件集群中的至少一个存储卷上,并将挂载的存储卷与所述存储路径连接。
7.根据权利要求4所述的方法,其特征在于,所述容器平台通过所述云提供商插件于计算机群平台中创建虚拟机实例,包括:
所述容器平台通过所述云提供商插件提供的创建命令,于计算机群平台中创建虚拟机实例;或者,
所述容器平台通过所述云提供商插件提供的资源管理接口,于计算机群平台中创建虚拟机实例。
8.根据权利要求1所述的方法,其特征在于,所述于创建的容器或虚拟机实例中运行实训资源,包括:
所述管理平台将所述实训资源打包为镜像文件,并在创建的容器或虚拟机实例中运行所述镜像文件。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至8任一项所述的远程实训方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至8任一项所述的远程实训方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311413523.4A CN117149360B (zh) | 2023-10-30 | 2023-10-30 | 远程实训方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311413523.4A CN117149360B (zh) | 2023-10-30 | 2023-10-30 | 远程实训方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117149360A CN117149360A (zh) | 2023-12-01 |
CN117149360B true CN117149360B (zh) | 2024-01-12 |
Family
ID=88897088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311413523.4A Active CN117149360B (zh) | 2023-10-30 | 2023-10-30 | 远程实训方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149360B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016101638A1 (zh) * | 2014-12-23 | 2016-06-30 | 国家电网公司 | 一种电力系统云仿真平台的运营管理方法 |
CN105809058A (zh) * | 2016-02-29 | 2016-07-27 | 重庆工程职业技术学院 | 教学资源库管理系统 |
CN106502796A (zh) * | 2016-10-27 | 2017-03-15 | 广东浪潮大数据研究有限公司 | 一种软件开发测试平台、系统及使用方法 |
KR20190142837A (ko) * | 2018-06-19 | 2019-12-30 | 한국과학기술원 | 서버리스 컴퓨팅 환경에서 가상화된 gpu 자원 지원 방법 및 시스템 |
CN112712741A (zh) * | 2020-12-31 | 2021-04-27 | 中孚安全技术有限公司 | 一种安全管理实训系统、方法及终端机 |
CN113239118A (zh) * | 2021-05-31 | 2021-08-10 | 广州宏算信息科技有限公司 | 一种区块链实训系统和方法 |
CN113630459A (zh) * | 2021-08-04 | 2021-11-09 | 江苏理工学院 | 实验室数据管理终端及利用其进行教学管理的方法 |
CN114265690A (zh) * | 2021-12-16 | 2022-04-01 | 阿里巴巴(中国)有限公司 | 实现远程训练的方法及装置 |
CN114285842A (zh) * | 2021-12-09 | 2022-04-05 | 华特数字科技有限公司 | 一种基于云桌面的电子阅览室搭建方法及系统 |
CN115543534A (zh) * | 2022-09-29 | 2022-12-30 | 上海商汤科技开发有限公司 | 训练任务的管理方法、装置、电子设备及存储介质 |
-
2023
- 2023-10-30 CN CN202311413523.4A patent/CN117149360B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016101638A1 (zh) * | 2014-12-23 | 2016-06-30 | 国家电网公司 | 一种电力系统云仿真平台的运营管理方法 |
CN105809058A (zh) * | 2016-02-29 | 2016-07-27 | 重庆工程职业技术学院 | 教学资源库管理系统 |
CN106502796A (zh) * | 2016-10-27 | 2017-03-15 | 广东浪潮大数据研究有限公司 | 一种软件开发测试平台、系统及使用方法 |
KR20190142837A (ko) * | 2018-06-19 | 2019-12-30 | 한국과학기술원 | 서버리스 컴퓨팅 환경에서 가상화된 gpu 자원 지원 방법 및 시스템 |
CN112712741A (zh) * | 2020-12-31 | 2021-04-27 | 中孚安全技术有限公司 | 一种安全管理实训系统、方法及终端机 |
CN113239118A (zh) * | 2021-05-31 | 2021-08-10 | 广州宏算信息科技有限公司 | 一种区块链实训系统和方法 |
CN113630459A (zh) * | 2021-08-04 | 2021-11-09 | 江苏理工学院 | 实验室数据管理终端及利用其进行教学管理的方法 |
CN114285842A (zh) * | 2021-12-09 | 2022-04-05 | 华特数字科技有限公司 | 一种基于云桌面的电子阅览室搭建方法及系统 |
CN114265690A (zh) * | 2021-12-16 | 2022-04-01 | 阿里巴巴(中国)有限公司 | 实现远程训练的方法及装置 |
CN115543534A (zh) * | 2022-09-29 | 2022-12-30 | 上海商汤科技开发有限公司 | 训练任务的管理方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
基于云计算机系统的实训平台研究与实现;李贺华;;实验技术与管理(第03期);全文 * |
基于云计算的服务器虚拟化在高职院校实训平台中的应用研究――以广东女子职业技术学院为例;卢志标;;价值工程(第06期);全文 * |
基于教育云的校企合作平台研究与设计;胡芳芳;;无线互联科技(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117149360A (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11622010B2 (en) | Virtualizing device management services on a multi-session platform | |
US9292319B2 (en) | Global computing interface | |
US9602358B2 (en) | Extensible infrastructure for representing networks including virtual machines | |
CN107003865B (zh) | 利用远程应用的文件共享 | |
CN105144093B (zh) | 使用基础设施管理代理供应的工作负荷部署 | |
KR20200087259A (ko) | 생산 추론을 위한 호스트 기계 학습 모델 오토-스케일링 | |
Kibe et al. | The evaluations of desktop as a service in an educational cloud | |
CN113296950B (zh) | 处理方法、装置、电子设备及可读存储介质 | |
CN110083455B (zh) | 图计算处理方法、装置、介质及电子设备 | |
US20190079640A1 (en) | Redirection of Web Content | |
AU2011289730A1 (en) | Exposing resource capabilities to web applications | |
CN105677342B (zh) | 一种解决异构操作系统的复合桌面虚拟化方法 | |
US11392395B2 (en) | Generating and presenting contextual user interfaces on devices with foldable displays | |
Aguilar | SignalR Programming in Microsoft ASP. NET | |
US11249771B2 (en) | Terminal input invocation | |
KR20140143953A (ko) | 가상 데스크탑 서비스를 위한 장치 및 가상 데스크탑 서비스 방법 | |
CN112887440A (zh) | 一种ip地址管理方法和装置 | |
CN113806008A (zh) | 集群访问方法、装置、电子设备及可读存储介质 | |
CN117149360B (zh) | 远程实训方法、设备和存储介质 | |
US10963621B2 (en) | Management of remote access user application layouts | |
Chen et al. | Docker and Kubernetes | |
CN114860401B (zh) | 异构云桌面调度系统、方法、服务系统、装置及介质 | |
US10812565B2 (en) | Systems and methods to configure metadata | |
Hao | Edge Computing on Low Availability Devices with K3s in a Smart Home IoT System | |
US8051141B2 (en) | Controlled storage utilization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |