CN116029526B - 一种实验资源的调度方法、装置、设备及存储介质 - Google Patents
一种实验资源的调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116029526B CN116029526B CN202310111301.0A CN202310111301A CN116029526B CN 116029526 B CN116029526 B CN 116029526B CN 202310111301 A CN202310111301 A CN 202310111301A CN 116029526 B CN116029526 B CN 116029526B
- Authority
- CN
- China
- Prior art keywords
- experiment
- resource
- resources
- file
- experimental
- 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
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000002474 experimental method Methods 0.000 claims abstract description 278
- 238000009434 installation Methods 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 238000002955 isolation Methods 0.000 claims description 13
- 238000013473 artificial intelligence Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 14
- 230000001419 dependent effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种实验资源的调度方法、装置、设备及存储介质。依据本申请实施例,本申请通过在单台计算设备上安装实验管理软件,获取教学实验资源,再根据所获取的实验资源携带的计算环境要求,在实验管理软件中配置与该实验资源相应的计算环境;并使用本地计算设备的硬件资源,在该计算环境内运行所获取的实验资源。其中,上述教学实验资源可以是通过预设固定方法封装的目标格式文件,配置的计算环境可以是用户专用相应实验资源的专用计算环境。由此可以实现在单台计算机中方便快捷地运行实验资源,降低实验资源操作难度的目的。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种实验资源的调度方法、装置、设备及存储介质。
背景技术
在计算机技术领域的人工智能技术的教学过程中,实验是最简单、最有效、最直观的教学手段。通常情况下,人工智能的教学实验都是在计算机上完成的,这要求人工智能教学实验的运行环境需要使用到计算机中的算力(例如硬件CPU、GPU等)、算法(即相应的计算机程序)、数据(存储在计算机存储设备上的实施采集或者已经采集好的数据文件),这些都对供教学实验使用的计算机本身提出了较高的软件、硬件等要求。
现有的教学实验资源按照教学实验管理方式大致可以分成两大类:第一类是有教学实验管理系统支撑的教学实验资源,这一类教学实验资源一般都是存储在第三方服务器中的,由第三方服务器提供教学实验资源的管理、使用,用户的单台计算机一般只承担终端的访问功能,没有充分利用单台计算机本身的算力;第二类是没有教学系统支撑的教学实验资源,这一类教学实验资源一般由授课老师在课前将实验内容文件分发给学生,学生按照实验指导书或者操作步骤在单台计算机上部署环境、执行课程内容。由于人工智能教学实验的计算环境通常比较复杂,因此这种方式的出错可能性较高,出现问题后解决起来也比较复杂和麻烦;同时,教学实验资源也没有统一管理,增加、更新、维护都需要消耗教学过程中老师或者管理者的大量精力。
发明内容
本申请实施例提供一种实验资源的调度方法、装置、设备及存储介质,以解决上述一个或多个技术问题。
第一方面,本申请实施例提供了一种实验资源的调度方法,其特征在于,应用于本地计算设备,所述本地计算设备配置有实验管理软件,所述方法包括:
基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源;
根据所获取的实验资源携带的计算环境要求,在实验管理软件中配置与所述实验资源相应的计算环境;
使用本地计算设备的硬件资源,在所述计算环境内运行所获取的实验资源。
第二方面,本申请实施例提供了一种实验资源的调度装置,其特征在于,包括:
资源获取模块,用于基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源;
环境配置模块,用于根据所获取的实验资源携带的计算环境要求,在实验管理软件中配置与所述实验资源相应的计算环境;
实验运行模块,用于使用本地计算设备的硬件资源,在所述计算环境内运行所获取的实验资源。
第三方面,本申请实施例提供了一种实验资源的调度设备,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由处理器加载并执行,以实现本申请任一实施例所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一实施例所述的方法。
与相关技术相比,本申请具有如下优点:
依据本申请实施例,首先通过实验管理软件获取教学实验资源的下载请求,从本地服务器或云端服务器获取实验资源;其次根据所获取的实验资源携带的计算环境要求,在实验管理软件中配置与该实验资源相应的计算环境;最后使用本地计算设备的硬件资源,在该计算环境内运行所获取的实验资源。其中,上述教学实验资源可以是通过预设固定方法封装的目标格式文件,里面包含有安装描述信息,该安装描述信息中包括该实验资源对应的计算环境要求的文件软链接,而本地计算设备在获取到该实验资源后,便可以根据该文件软链接配置该教学实验资源相应的计算环境。如果同一用户在同一台本地计算设备上运行不同的实验资源,可能需要用到不同的计算环境,本申请实施例可以在实验管理软件中创建隔离的计算环境,使得不同实验资源之间不会相互影响。如果不同的用户在同一台本地计算设备上运行相同的教学实验资源,本申请实施例可以根据用户ID和实验资源ID创建用户专用的相应实验资源的专用计算环境,达到多用户计算环境隔离的效果,使得不同用户之间使用同一台本地计算设备运行同一实验资源不会互相影响。因此,本申请可以在单台计算机中方便快捷地运行实验资源,降低了实验资源操作和维护的难度,充分发挥了单台计算机的算力,方便了用户使用教学实验资源,减轻了实验资源管理者增加、更新、维护实验资源的压力。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请提供的实验资源调度的一种方案的简化示意图;
图2为本申请一实施例应用于本地计算设备的实验资源的调度方法的流程图;
图3为本申请一实施例应用于本地计算设备的实验资源的调度装置的结构框图;
图4为用来实现本申请实施例的计算设备的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
在本申请之前的相关技术中,实验资源存储在第三方服务器中,由第三方服务器提供教学实验资源的管理、使用,将服务器的算力通过虚拟化或者容器化做切片,使得每个用户只能分到服务器算力的一部分,用户的单台计算机一般只承担终端的访问功能,没有充分利用单台计算机本身的算力;或者由授课老师在课前将实验内容文件分发给学生,学生按照实验指导书或者操作步骤在单台计算机上部署环境、执行课程内容,这种方式的出错可能性较高,出现问题后解决起来也比较复杂和麻烦;同时,教学实验资源也没有统一管理,增加、更新、维护都需要消耗教学过程中老师或者管理者的大量精力。
有鉴于此,本申请实施例提供了一种新的实验资源的调度方法、装置、设备及存储介质,以全部或部分解决上述技术问题。
本申请实施例涉及到一种新的实验资源的调度方法,应用于本地单台计算设备获取、运行实验资源的场景,对于所需的计算设备的配置没有特殊的要求,例如,可以是台式电脑、可以是笔记本电脑、也可以是平板电脑。
为了更清楚地展示本申请实施例中提供的实验资源的调度方法,如下给出本申请实施例方案的具体应用实例,图1为本申请提供的实验资源调度的一种方案的示意图。图中涉及到一台本地计算设备,该计算设备可以是任何硬件配置能够为实验资源提供算力支持的计算设备,包括但不限于台式电脑、笔记本电脑、平板电脑等;该计算设备中使用的操作系统可以是Windows系统,也可以是Linux系统,本申请对此并不做任何限制。图中涉及到的应用商店实验资源数据库,可以是学校中局域网中的实验资源数据库,也可以是公共网络上的实验资源数据库,只要获取到该实验资源数据库的访问地址和授权,便可访问该数据库。可以是在获得实验资源数据库的访问地址之后,使用授权的账号和密码访问该数据库。
首先,可以在本地单台计算设备中安装教学实验管理软件,该软件可以通过访问实验资源数据库浏览实验资源、获取实验资源并使用实验资源。
其次,可以在已经安装好实验管理软件的计算设备上,基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源。具体而言:设置应用商店的访问地址,向实验资源所在的本地服务器或云端服务器发送访问请求,将用户ID(Identitydocument,身份标识号)发送至本地服务器或云端服务器进行认证和鉴权处理,并在接收到本地服务器或云端服务器发送的认证和鉴权通过的通知消息的情况下,从本地服务器或云端服务器获取实验资源。
再次,根据上述获取的实验资源携带的计算环境要求,在实验管理软件中配置与该实验资源相应的计算环境。其中,涉及到的实验资源可以是通过预设固定方法封装的目标格式文件,里面包含有安装描述信息,该安装描述信息中包括该实验资源对应的计算环境要求的文件软链接;本地计算设备在获取到该实验资源后,便可以读取该目标格式文件中包含的安装描述信息,获取其安装描述信息包括的文件软链接,通过访问该文件软链接获取计算环境要求,并按照计算环境要求在实验管理软件中配置与该实验资源相应的计算环境。涉及到的实验管理软件可以支持一种及一种以上的语言运行环境,或者一种语言运行环境的多个不同版本,其中,可以配置有至少两个语言解释器程序,不同的语言解释器程序分别部署在对应的隔离文件夹中,同时,实验管理软件中包含至少两个语言可运行程序文件,不同的语言可运行程序文件被分别部署在对应的隔离文件夹中,进而,语言解释器程序可以通过所下载下来的目标格式文件中包含的安装描述信息中的文件软链接,链接至上述语言可运行程序文件所在的文件夹。
最后,使用本地计算设备的硬件资源,在上述计算环境内运行所获取的实验资源。具体而言,通过上述步骤,本地计算设备中的实验管理软件可以根据用户ID和实验资源ID在上述计算环境内创建用户专用相应实验资源的专用计算环境,并在该专用计算环境中运行所获取的实验资源。例如,如果同一用户在同一台本地计算设备上运行不同的实验资源,可能需要用到不同的计算环境,本申请实施例可以在实验管理软件中创建隔离的计算环境,使得不同实验资源之间不会相互影响。如果不同的用户在同一台本地计算设备上运行相同的教学实验资源,本申请实施例可以根据用户ID和实验资源ID创建用户专用的相应实验资源的专用计算环境,达到多用户计算环境隔离的效果,使得不同用户之间使用同一台本地计算设备运行同一实验资源也不会互相影响。
上述方案可以在单台计算机中方便快捷地运行实验资源,降低了实验资源操作和维护的难度,充分发挥了单台计算机的算力,方便了用户使用教学实验资源,减轻了实验资源管理者增加、更新、维护实验资源的压力。
本申请实施例的执行主体可以是应用程序、服务、实例、软件形态的功能模块、虚拟机(Virtual Machine,VM)、容器或云服务器等,或者具有数据处理功能的硬件设备(如服务器或终端设备)或硬件芯片(如CPU、GPU、FPGA、NPU、AI加速卡或DPU)等。实现实验资源调度的装置可以部署在提供相应服务的应用方的计算设备或提供算力、存储和网络资源的云计算平台上,云计算平台对外提供服务的模式可以是IaaS(Infrastructure as aService,基础设施即服务)、PaaS(Platform as a Service,平台即服务)、SaaS(Software asaService,软件即服务)或DaaS(Data as a Service,数据即服务)。以平台提供SaaS软件即服务(Software as a Service)为例,云计算平台可以利用自身的计算资源提供实验资源调度模型的训练或实验资源调度模块的功能执行,具体的应用架构可以根据服务需求进行搭建。例如,平台可以向使用平台资源的应用方或个人提供基于上述模型的构建服务,进一步基于相关客户端或服务器等设备提交的实验资源调度请求调用上述模型和实现在线或离线实验资源调度的功能。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决前述技术问题进行详细说明。所列举的若干具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。以下将结合附图,对本申请的实施例进行详细描述。
本申请实施例提供了一种实验资源的调度方法,图2为本申请一实施例应用于本地计算设备的实验资源的调度方法的流程图。如图2所示,该方法可以包括如下步骤S201至S203:
在步骤S201中,基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源。
本申请涉及的实验资源,可以是需要依靠计算设备的软硬件资源来运行的实验资源,例如用于人工智能教学目的的教学实验资源。
一种可能的实现方式中,上述实验资源包括通过预设固定方法封装的目标格式文件,该目标格式文件包含有安装描述信息,安装描述信息包括实验资源对应的计算环境要求的文件软链接。其中,目标格式文件可以是通过预设的固定方法预先封装的文件,预设的固定方法可以是通过先创建初始文件包,再在初始文件包内存储资源文件,生成中间文件包,其中资源文件包括程序文件、数据文件和依赖环境文件中的至少一个,然后再根据资源文件,确定目标格式文件,目标格式文件可以包含目标标识符、目标资源描述信息和目标键值,目标键值与资源文件的信息相对应,最后可以将目标格式文件配置到中间文件包内,生成实验资源包。例如,可以根据在创建的初始文件包内存储的资源文件来确定目标格式文件,其中资源文件可以包括程序文件、数据文件、依赖环境文件中的至少一个,程序文件、数据文件或依赖环境文件是教学实验的过程中所需要的基础文件。通过目标格式文件能够反映出资源文件的标识、描述和信息等情况,通过将目标格式文件配置到中间文件包中,可以生成实验资源包。采用这种形式封装的目标格式文件,为计算设备读取目标格式文件提供了便利,也就是说,即使同一个计算设备读取的多个目标格式文件中涉及的资源文件各不相同,但是通过直接读取实验资源包中的目标格式文件,能够快速地确定实验资源包内的资源文件的标识、描述和信息等情况,而无需逐个读取或打开实验资料包中的每个资源文件,可以节省计算资源,提升对教学实验资源的管理效率,便于后续供使用者使用。在一实施例中,目标格式文件中的安装描述信息中,可以包括实验资源的UUID(UniversallyUnique Identifier通用唯一识别码)。例如,人工智能教学实验通常都是由程序文件、数据文件和包括所使用的程序语言版本等依赖环境文件构成,可以将这些教学实验关联的一种或者多种文件通过预设的固定方法封装成目标格式文件,该目标格式文件可以是一个软件包。在目标格式文件中包含有安装描述信息,通过这个安装描述信息确定了这个实验资源的所有信息,该信息可以链接至该目标格式文件所需的程序文件、数据文件和依赖环境文件。在用户获得目标格式文件后,按照安装描述信息在实验管理软件中部署数据文件、程序文件和依赖环境文件,而用户的使用体验就是仅需在本地计算设备上按照安装描述信息进行校验、解压、复制即可。
在一些实施例中,基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取的实验资源,也可以是实验数据包的形式。这类实验数据包可以至少包括资源文件和目标格式文件,实验数据包可以是文件夹也可以是压缩包,在计算设备对实验数据包进行解析时,可以通过直接打开实验数据包进行读取的方式解析,也可以是先通过解压后再进行读取的方式解析,进而获取到实验数据包中的资源文件和目标格式文件。
其中,资源文件可以是程序文件、数据文件或者是依赖环境文件等其中的一个或者多个;程序文件可以是用于在计算机上实施教学实验的运行的程序文件或者安装文件等;数据文件可以是教学实验资源的数据文件;依赖环境文件可以是教学实验环境的运行文件,例如可以是教学实验程序安装的环境文件。资源文件的数量可以有一个或多个,可以包含程序文件、数据文件或者依赖环境文件中的一个或多个,也可以是不同版本的多个程序文件、数据文件或依赖环境文件等。资源文件的形式可以是文件包,例如文件夹或者是文件压缩包。
本申请实施例涉及到的目标格式文件包含有安装描述信息,该安装描述信息可以包括实验资源对应的计算环境要求的目标键值。可选的,目标格式文件中可以包含的字段包括id(目标标识符)和title字段(目标资源描述信息),也可以自定义扩充其他字段,形成不同版本的目标格式文件,例如对应人工智能实验版本中的v1、v2、v3等不同版本的目标格式文件,此处的人工智能实验版本v1、v2、v3可以是用于人工智能教学实验的软件的不同版本。
在一种可能的实施方式中,目标格式文件可以是通过解析实验数据包生成的,该目标格式文件中可以包含目标标识符、目标资源描述信息和目标键值,其中目标键值用于记录资源文件的信息,目标格式文件中包含的这些信息可以统称为“安装描述信息”。
其中,目标格式文件的目标标识符可以是打包后的目标格式文件的文件名,目标标识符字段的数值可以使用UUID,一般不可以出现和其他目标格式文件重复的情况,因为对于两个目标标识符相同的目标格式文件,本申请中的教学实验管理软件可能会认为这两个目标格式文件属于同一个教学实验内容,或者是同一教学实验内容的不同版本。目标标识符的作用在于对实验资源进行唯一标识,以避免出现重复内容的实验数据包,造成存储资源的浪费,同时也可以方便对实验数据包的管理。
可选的,目标格式文件的目标资源信息可以是用于对目标格式文件进行说明的描述信息,例如,该实验数据包中的文件是拼图的实验数据包,其介绍了拖拽式编程的主要功能,这就可以是对目标格式文件进行说明的描述信息。目标格式文件中也可以增加“version”字段来对应教学实验的版本信息。同时,在本申请实施例中的单台计算机上,单个系统是否支持多个版本的教学实验,也可以预先由部署、运行支撑服务来定义。目标格式文件可以采用JSON格式,通过键值对实现向前可兼容、向后可扩展的能力。JSON格式支持多层级的键值对,也支持单个主键对应一组不同数值的键值对。其中,键值对可能存在上下级的层级关系,因此不同层级可以出现相同的键值。
具体的,教学实验依赖的程序文件、数据文件、依赖环境文件等可以根据需要在目标格式文件中间的键值明确标记出来,亦可通过扩展的文件夹命名约定来标识,比如可以使用ENV字样表示这类文件夹包含了环境文件,可以使用EXP字样表示这类文件夹包含了教学实验程序文件等等。通过这些扩展约定,方便针对使用预设的固定方法(也可以称作“统一打包方法”)封装后的目标格式文件执行部署及运行功能,比如在单台计算机上运行的教学实验管理系统、服务器上运行的教学实验管理系统等等。这些不同的运行环境的目标格式文件,按照自身环境构建运行环境,比如Windows操作系统平台可以选择在Windows系统下可运行的Python语言中的可执行程序,Linux操作系统下可以选择在Linux系统下可运行的Python语言中的可执行程序。
其中,目标格式文件中也可以预先设定针对服务器的容器技术、虚拟化技术等运行环境的依赖。目标格式文件的处理程序可以选择性地读取所需的键值来获得配置内容,而无需关心其他出现或者未出现的键值。在本申请实施例中,目标格式文件的处理程序可以是在本地计算设备上配置的实验管理软件。举例来说,在本地计算机设备上安装人工智能实验的v2版本程序,可能会遇到需要解析使用人工智能实验版本v1、人工智能实验版本v2或人工智能实验版本v3制作的目标格式文件。例如在本地计算机设备上安装的是人工智能实验版本v2,但获取到了使用人工智能实验版本v1的制作的目标格式文件时,使用人工智能实验版本v1制作的目标格式文件可能会缺少一些键值对,在这种情况下,本地计算机设备实验管理软件中的安装程序会按照缺省值设置,也即目标格式文件可以向前兼容。由于程序和配置都在不断更新,可能会出现本地计算设备的人工智能实验v2版本的程序在读取人工智能实验v3版本的目标格式文件的情况下缺少键值对的情况,这种情况一般需要更新本地计算设备中的人工智能实验版本才可以对目标格式文件进行解析。但在本申请实施例中,即使无法对本地计算设备中的人工智能实验版本进行更新,也可以忽略目标格式文件中键值增加或者更改的配置信息,顺利完成对目标格式文件的解析和解释。这个过程中,获取的人工智能实验版本的v3版本实验数据包的情况下,实现了对本地计算机设备的人工智能实验版本v2版本配置文件的向后扩展。因此,目标格式文件可以支持向前兼容、向后扩展的能力。上述过程中对目标格式文件中目标键值的读取,根据目标键值的设置,将目标键值与资源文件的信息相对应,从而使得本地计算机设备在获取到实验数据包的情况下,通过解析获取到的资源文件和目标格式文件,直接读取目标格式文件。通过读取目标识别符能够确定出当前的实验数据包的ID,通过读取目标资源描述信息,可以知道当前的实验数据包的功能以及作用。通过读取目标键值,可以确定当前实验数据包中的资源文件的信息,从而根据资源文件的信息实现向前拓展和向后拓展。
本申请涉及的实验管理软件,可以通过访问实验资源数据库浏览实验资源、获取实验资源并使用实验资源。
一种可能的实现方式中,实验管理软件中,可以配置有至少一个语言解释器程序,也即实验管理软件中可以包含有一种或一种以上的语言解释器程序。当然,可选的,实验管理软件中也可以不包含语言解释器程序。也即,对于有语言环境运行需求的实验资源(例如编程软件)可以安装语言运行环境,对于没有语言环境运行需求的实验资源(例如编程软件)可以不安装语言运行环境。
具体而言,若单台计算设备中不含有实验资源所需的语言运行环境,实验管理软件可以向单台计算设备提供实验资源所需的语言运行环境,即可以通过实验管理软件中的语言解释器程序为实验资源提供所需语言运行环境。例如,Python语言(一种计算机编程语言)由于是解释型语言,因此若实验资源需要使用Python语言环境,则需要调用实验管理软件中的Python语言解释器在单台计算设备中安装Python语言运行环境;再比如,Java语言(Java programming language,Java编程语言)可能需要用到Java虚拟机,因此若实验资源需要使用Java语言环境,则需要调用实验管理软件中的Java语言解释器在单台计算设备中安装Java语言运行环境。但是,可选的,C语言(通用程序设计语言)和C++语言(一种计算机高级程序语言)属于编译后的语言,单台计算设备中自带的操作系统,例如windows系统本身支持C语言(通用程序设计语言)和/或C++语言(一种计算机高级程序语言),若实验资源需要使用C语言环境或C++语言环境,单台计算设备本身自带的操作系统便可以支持实验资源运行,因此,在这种情况下,可以无需调用实验管理软件中的语言解释器程序;也就是说,在这种情况下,实验管理软件中也可以不配置语言解释器程序。
另一种可能的实现方式中,实验管理软件中,可以配置有至少两个语言解释器程序,不同的语言解释器程序分别部署在对应的隔离文件夹中,同时,实验管理软件中包含至少两个语言可运行程序文件,不同的语言可运行程序文件被分别部署在对应的隔离文件夹中,进而,语言解释器程序可以通过所下载下来的目标格式文件中包含的安装描述信息中的文件软链接,链接至上述语言可运行程序文件所在的文件夹。也就是说,本申请实施例中,在单台计算设备上安装的实验管理软件可以支持一种及一种以上的语言运行环境,或者一种语言运行环境的多个不同版本。其中,一种及一种以上的语言运行环境,可以包括但不限于:Python语言(一种计算机编程语言)、C语言(通用程序设计语言)、Java语言(Javaprogramming language,Java编程语言)等各种计算机程序语言。一种语言运行环境的多个不同版本,可以是指一种计算机程序语言的不同版本,例如Python语言中的Python3.5、Python3.6、Python3.7等不同版本。
在一实施例中,人工智能实验中通常使用Python语言作为编程语言,但Python语言常用的版本就分成2.x和3.x两个大版本,3.x版本目前使用的小版本还分成3.5、3.6、3.7、3.8、3.9、3.10及3.11。制作教学实验资源的内容时,创作者通常会选择自己喜好的版本。单个实验时不存在多版本问题,但是有多个实验时,就会出现不同版本的Python语言依赖。这时候系统切换就会比较复杂,因为如果想要在同一台计算设备上运行不一样的Python语言版本,需要分别下载安装并做出一定的设置后,才可以在同一台计算设备上运行不一样的Python语言版本且互不影响。而在本申请中,已经安装好的实验管理软件中预设有不同版本的Python语言解释器程序,在计算设备上不需要单独安装不同的Python版本,在一个操作系统为Windows的本地计算设备中,所有的环境可运行程序文件都被部署到一个总文件夹下(可命名为ENV文件夹),在该文件夹下有其他子文件夹(可命名为bin文件夹),在bin文件下存在类似Python-3.6.5.exe、Python-3.9.1.exe这样的可运行程序文件,这些可运行程序文件就代表了Python 3.6.5版本、Python 3.9.1版本的可执行程序,这些可运行程序文件可以是实验管理软件中已经安装好的,也可以是由下载的上述目标格式文件中包含的安装描述信息中包括的,在用户下载目标格式文件后,通过该目标格式文件将可运行程序文件安装到实验管理软件中。进一步的,在一种可能的实现方式中,实验资源的创作者在开发新的实验资源时,也可以通过预设固定方法将新的实验资源封装成目标格式文件(可命名为“新目标格式文件”),并通过将其他使用同一类型计算环境的目标格式文件(可命名为“旧目标格式文件”)的UUID记录到新目标格式文件的安装描述信息中,进而,当再次在实验管理软件中配置新目标格式文件的计算环境时,实验管理软件将获得依赖性,从而更快速准确地配置计算环境。
在一些实现方式中,基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源,可以包括以下步骤:首先,向实验资源所在的本地服务器或云端服务器发送访问请求;其次,将用户ID发送至本地服务器或云端服务器进行认证和鉴权处理;最后,在接收所述本地服务器或云端服务器发送的认证和鉴权通过的通知消息的情况下,从本地服务器或云端服务器获取实验资源。
在一实施例中,实验访问请求可以包括:实验资源ID和用户ID。实验资源ID可以采用UUID,这个ID可以维持唯一性;用户也就是做实验的用户,在教学场景下通常是学生,每个用户的ID在单个部署环境下都是唯一的,通常使用8位数字长度0x FFFF FFFF即可满足长期分配与使用,不会造成用户ID重叠。
其中,实验资源所在的本地服务器或云端服务器可以是数据平台的服务器,该数据平台可以是应用商店实验资源数据库,可以是学校中局域网中的实验资源数据库,也可以是公共网络上的实验资源数据库,只要获取到该实验资源数据库的访问地址和授权,便可访问该数据库,并可以向该数据平台所在的服务器发送资源下载请求,下载相应的实验资源。另外,该数据平台还可以是共享服务器或者其他可以进行数据存储交换的平台。该数据平台对接创作者端,可以通过有线网络或者无线网络等方式获取到创作者端上传的实验数据包。创作者端可以是用户的电脑、虚拟平台或者是服务器等,能够实现创建实验数据包的平台。该数据平台还可以对接使用者平台,使用者可以通过数据平台下载实验数据包。例如使用者的计算机可以通过浏览应用商店网页或者展示内容程序界面,根据自己的需要选择合适的教学实验资源,也可以根据关键词搜索获取自己需要的教学实验资源,根据教学实验资源的属性完成付费或者免费的购买,获得教学实验资源的所有权。该数据平台中提供的实验资源可以使用UUID命名其中的顶层文件夹,并根据下层文件夹可根据文件用途分类保存,亦可不分类,由实验设计者来自行定义。
数据平台中的实验资源,可以是由任一创作者根据数据平台的要求,创作的使用预设的固定方法封装的目标格式文件。例如,创作者首先可以在数据平台的用户界面上注册账号,或者直接通过计算设备的ID将当前计算设备的实验数据包上传至数据平台,数据平台则获取到创作者创作的实验数据包是通过前述预设的固定方法也即实验资源的打包方法进行封装或打包的。具体可以是:设置应用商店的访问地址,创作者通过实验资源计算设备向数据平台的应用商店所在的本地服务器或云端服务器发送访问请求,将用户ID发送至本地服务器或云端服务器进行认证和鉴权处理,并在接收到本地服务器或云端服务器发送的认证和鉴权通过的通知消息的情况下,将实验数据包上传至本地服务器或云端服务器,由此数据平台可以获取到该实验数据包。然后,数据平台可以解析该创作者上传的实验数据包,生成资源文件和目标格式文件,其中,资源文件包括程序文件、数据文件、依赖环境文件中的至少一个,目标格式文件包含目标标识符、目标资源描述信息和目标键值,目标键值用于记录资源文件的信息。最后,数据平台在目标格式文件的目标键值与资源文件的信息对应的情况下,可以将实验数据包存储于数据平台内,供使用者下载使用。数据平台可以通过读取目标格式文件的目标键值的方式对实验数据包进行审核,通过比对目标键值与资源文件的信息,若目标键值与资源文件的信息一致,说明目标格式文件能够反映资源文件的情况,通过读取目标格式文件便可以确定资源文件的情况,无需另外读取资源文件,确保了实验数据包的管理效能,也方便数据平台管理实验数据包可以将实验数据包存储于数据平台内;若目标键值与资源文件的信息不一致,则不将该实验数据包存储至数据平台内。存储在数据平台中的实验数据包,可以提供给消费者下载使用。
通过增加可兼容、可扩展的目标格式文件与资源文件信息,对教学实验进行功能描述资源文件的信息介绍,解决教学实验资源文件管理的无序性,降低了管理难度,并通过标准化实现了教学实验内容的可分发、可流转、可升级,且实验包与实验包也可以通过目标格式文件中的目标键值形成依赖关系,从而精简实验包,使得每个实验包可以重复利用。同时,通过本实施例的实验资源的打包方法,教学实验在教学实验管理系统中间实现标准化的导入、导出、流转、升降级;也可以针对标准打包格式实现单台计算机的管理系统或者集群化的管理系统,以及跨平台的管理系统;标准化后,教学实验文件可以直接通过建立应用商店的方式进行上传、下载、购买或赠送等操作,极大地提高了流动能力。例如,创作者可以在制作工具内绑定应用商店的账户信息。绑定账户信息后即可使用账户对应的数字证书对制作的实验数据包进行数字签名,选择“提交”操作即可将实验数据包提交到应用商店审核,通过审核即可发布到应用商店内。
在本实施例中,通过使用目标格式文件后,教学实验资源能够在创作者、消费者之间实现了标准化;使用应用商店服务后,创作者可以快速分发教学实验资源,通过一次发布即可实现全部消费者间的信息共享;创作者亦可通过应用商店的信息回馈机制进一步更新资源,提高资源品质;应用商店服务器亦可通过增加数字签名及加密来增加教学实验资源实验数据包流转的安全性和可靠性;消费者通过单一应用商店入口即可获取教学实验资源;教学实验管理系统通过支持目标格式文件即可创建实验运行环境以及运行教学实验资源;以上种种皆可简化原本无标准或者过于复杂及繁复的教学实验资源运行与管理。通过实验资源的标准化封装格式能够生成目标格式文件(可记为UEP格式),使得教学实验资源呈现方式实现了标准化和统一化。在此基础上实现了教学实验资源统一格式文件的发布、共享、售卖、获取方法,类似软件应用商店,极大地简化了教学实验内容的流通和流转。消费者能够根据自己的使用选择合适的教学实验资源,创作者也能够根据用户需求创作使用者期望的教学实验资源,彻底解决教学实验资源滞后与脱节的问题。
在步骤S202中,根据所获取的实验资源携带的计算环境要求,在实验管理软件中配置与所述实验资源相应的计算环境。
本申请涉及的计算环境,包括实验资源所需的算力(例如硬件CPU、GPU等)、算法(即相应的计算机程序)、数据(存储在计算机存储设备上的实施采集或者已经采集好的数据文件)等能够支持实验资源运行的计算环境,本申请对此并不做任何限制。
在一种可能的实现方式中,可以根据所获取的实验资源携带的计算环境要求,在实验管理软件中配置与该实验资源相应的计算环境,可以先读取上述目标格式文件中包含的安装描述信息,获取安装描述信息包括的文件软链接,再通过访问文件软链接获取计算环境要求,按照计算环境要求在实验管理软件中配置与上述实验资源相应的计算环境。
在一实施例中,获取实验资源的方式可以在实验资源专用的数据平台上获取。可以点击数据平台中相应实验数据包的链接,在该链接中,使用者可以通过阅读实验资源描述信息来知道该实验数据包的作用,同时可以直接通过点击数据平台的界面上展示出的实验资源链接,下载获取所需实验数据包。数据平台中的实验数据包可以是加密的实验数据包,获取的过程可以是:先向数据平台传输用户信息(该用户信息可以是用户注册或者登录数据平台的时候获取到的,例如ID信息),由数据平台根据用户信息确定与用户账户关联的数字证书,再在数字证书解密成功的情况下,获取所需实验数据包。通过对加密数据包进行加密的数字证书对加密数据包进行解密,若解密成功,则获取到实验数据包。若解密失败,则说明该实验数据包可能被篡改了,不能获取实验数据包。这一过程可以确保实验数据包不被随意篡改。对实验数据包加密的方式,可以是通过数据平台数字证书的公钥对实验数据包进行加密,生成加密实验包,再在用户通过实验管理软件向数据平台发送获取加密实验数据包的请求后,数据平台将加密实验包的私钥发送给用户,用户在获取数字证书的私钥的情况下,解密生成实验数据包。对于数据平台中审核通过的实验数据包,即资源文件与目标格式文件的目标键值一致的情况下,通过数字证书的公钥对实验数据包进行加密,生成加密实验包,只有在使用者获取到数字证书的私钥的情况下,才能解密生成实验数据包。例如,通过数据平台中用户账户对应的数字证书的公钥对实验数据包进行加密,生成加密实验包,在使用者向数据平台支付货款的情况下,下发加密实验包,使用者可以通过账户对应的数字证书的私钥对实验数据包进行解密,从而确保实验数据包的安全性以及避免恶意流通。
可选的,数据平台获取到本地计算设备中实验管理软件使用者的下载请求后(该下载请求中可以包括本地计算设备的IP地址,和/或,使用者的ID等),可以向本地计算设备发送所需下载的实验数据包,也即实验资源。本地计算设备可以基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源,进而根据所获取的实验资源携带的计算环境要求,即先读取上述目标格式文件中包含的安装描述信息,获取安装描述信息包括的文件软链接,再通过访问文件软链接获取计算环境要求,按照计算环境要求在实验管理软件中配置与上述实验资源相应的计算环境。读取上述目标格式文件中包含的安装描述信息,获取安装描述信息包括的文件软链接,可以先根据目标格式文件的目标键值,确定关联关系,再根据关联关系,确定与资源文件对应的关联文件,根据关联关系对资源文件和资源文件对应的关联文件进行关联,生成关联数据组,进而通过访问文件软链接获取计算环境要求,按照计算环境要求在实验管理软件中配置与上述实验资源相应的计算环境。
在本申请实施例中,目标格式文件的目标键值可以记录资源文件的信息。例如资源文件只有数据文件时,可以通过读取目标格式文件的目标键值,知道资源文件只有数据文件,即能够运行该数据文件对应的程序文件和环境文件不在该实验数据包中,可以先通过确定与资源文件对应的关联文件,即上述中的数据文件对应的程序文件和环境文件的关联关系,通过在本地计算设备的实验管理软件中根据该关联关系查找到与资源文件对应的关联文件,通过关联关系对资源文件和资源文件对应的关联文件进行关联。
在步骤S203中,使用本地计算设备的硬件资源,在所述计算环境内运行所获取的实验资源。
在一种可能的实现方式中,使用本地计算设备的硬件资源,在所述计算环境内运行所获取的实验资源可以包括:根据用户ID和实验资源ID在所述计算环境内创建用户专用相应实验资源的专用计算环境,在专用计算环境中运行所获取的实验资源。
在一实施例中,本地计算设备中的实验管理软件可以根据用户ID和实验资源ID在上述计算环境内创建用户专用相应实验资源的专用计算环境,并在该专用计算环境中运行所获取的实验资源。例如,如果同一用户在同一台本地计算设备上运行不同的实验资源,可能需要用到不同的计算环境,本申请实施例可以在实验管理软件中创建隔离的计算环境,使得不同实验资源之间不会相互影响。如果不同的用户在同一台本地计算设备上运行相同的教学实验资源,本申请实施例可以根据用户ID和实验资源ID创建用户专用的相应实验资源的专用计算环境,在同一台本地计算设备中,上一位同一实验的运行环境和当前同一实验的运行环境是处于不同实验根目录的,因此可以达到多用户计算环境隔离的效果,使得不同用户之间使用同一台本地计算设备运行同一实验资源也不会互相影响。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供了一种实验资源的调度装置,部署于本地计算设备。如图3所示为本申请一实施例部署于本地计算设备的实验资源的调度装置的结构框图,该实验资源的调度装置可以包括:
资源获取模块301,用于基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源;
环境配置模块302,用于根据所获取的实验资源携带的计算环境要求,在实验管理软件中配置与所述实验资源相应的计算环境;
实验运行模块303,用于使用本地计算设备的硬件资源,在所述计算环境内运行所获取的实验资源。
一种可能的实施方式中,所述实验资源包括通过预设固定方法封装的目标格式文件;所述目标格式文件包含有安装描述信息,所述安装描述信息包括所述实验资源对应的计算环境要求的文件软链接。
一种可能的实施方式中,所述环境配置模块包括:
文件软链接获取子模块,用于读取所述目标格式文件中包含的安装描述信息,获取所述安装描述信息包括的文件软链接;
环境要求获取子模块,用于通过访问所述文件软链接获取计算环境要求;
计算环境配置子模块,用于按照所述计算环境要求在实验管理软件中配置与所述实验资源相应的计算环境。
一种可能的实施方式中,所述实验管理软件中配置有至少两个语言解释器程序,所述语言解释器程序分别部署在对应的隔离文件夹中;所述实验管理软件中包含至少两个语言可运行程序文件,不同的语言可运行程序文件被分别部署在对应的隔离文件夹中;所述语言解释器程序通过所述安装描述信息中的文件软链接,链接至所述语言可运行程序文件所在的文件夹。
一种可能的实施方式中,所述资源获取模块包括:
访问请求发送子模块,用于向实验资源所在的本地服务器或云端服务器发送访问请求;
认证鉴权处理子模块,用于将用户ID发送至所述本地服务器或云端服务器进行认证和鉴权处理;
通知消息接收子模块,用于在接收所述本地服务器或云端服务器发送的认证和鉴权通过的通知消息的情况下,从本地服务器或云端服务器获取实验资源。
一种可能的实施方式中,所述实验运行模块包括:
专用环境配置子模块,用于根据用户ID和实验资源ID在所述计算环境内创建用户专用相应实验资源的专用计算环境;
专用环境运行子模块,用于在所述专用计算环境中运行所获取的实验资源。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种计算设备,图4是用来实现本申请实施例的物理计算设备的框图。如图4所示,该物理计算设备包括:
存储器401和处理器402,存储器401内存储有可在处理器402上运行的计算机程序。处理器402执行该计算机程序时实现上述实施例中的方法。存储器401和处理器402的数量可以为一个或多个。
该第一物理计算设备还包括:通信接口403,用于与外界设备进行通信,进行数据交互传输。
如果存储器401、处理器402和通信接口403独立实现,则存储器401、处理器402和通信接口403可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在一些实施方式中,在具体实现上,如果存储器401、处理器402及通信接口403集成在一块芯片上,则存储器401、处理器402及通信接口403可以通过内部接口完成相互间的通信。
本申请实施例还提供了一种计算设备可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现本申请任一实施例中提供的方法。
本申请实施例还提供一种计算机程序产品,其包括计算机程序,该计算机程序在被处理器执行时实现本申请任一实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Srocessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序产品包括一个或多个计算机指令。在计算设备/计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算设备/计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一实施例”、“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,本说明书中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想,尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。综上所述,本说明书内容不应理解为对本申请的限制,本申请的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种实验资源的调度方法,其特征在于,应用于本地计算设备,所述本地计算设备配置有实验管理软件,所述方法包括:
基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源,所述实验资源包括通过预设固定方法封装的目标格式文件,所述目标格式文件包含安装描述信息、目标标识符、目标资源描述信息和目标键值,所述目标键值为键值对,所述键值对包括多层级的键值对或单个主键与一组不同数值的键值对,所述安装描述信息包括所述实验资源对应的计算环境要求的文件软链接;
读取所述目标格式文件中包含的安装描述信息,获取所述安装描述信息包括的文件软链接,通过访问所述文件软链接获取所述实验资源携带的计算环境要求,按照所述计算环境要求在实验管理软件中配置与所述实验资源相应的计算环境,所述文件软链接通过读取所述目标键值生成的关联数据组获取;所述实验管理软件中配置有至少两个语言解释器程序,所述语言解释器程序分别部署在对应的隔离文件夹中;所述实验管理软件中包含至少两个语言可运行程序文件,不同的语言可运行程序文件被分别部署在对应的隔离文件夹中;所述语言解释器程序通过所述安装描述信息中的文件软链接,链接至所述语言可运行程序文件所在的文件夹;
使用本地计算设备的硬件资源,在所述计算环境内运行所获取的实验资源。
2.根据权利要求1所述的方法,其特征在于,所述基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源包括:
向实验资源所在的本地服务器或云端服务器发送访问请求;
将用户ID发送至所述本地服务器或云端服务器进行认证和鉴权处理;
在接收所述本地服务器或云端服务器发送的认证和鉴权通过的通知消息的情况下,从本地服务器或云端服务器获取实验资源。
3.根据权利要求1所述的方法,其特征在于,所述使用本地计算设备的硬件资源,在所述计算环境内运行所获取的实验资源包括:
根据用户ID和实验资源ID在所述计算环境内创建用户专用相应实验资源的专用计算环境;
在所述专用计算环境中运行所获取的实验资源。
4.一种实验资源的调度装置,其特征在于,包括:
资源获取模块,用于基于实验管理软件获取资源下载请求,从本地服务器或云端服务器获取实验资源,所述实验资源包括通过预设固定方法封装的目标格式文件,所述目标格式文件包含目标标识符、目标资源描述信息和目标键值,所述目标键值为键值对,所述键值对包括多层级的键值对或单个主键与一组不同数值的键值对;
环境配置模块,用于读取所述目标格式文件中包含的安装描述信息,获取所述安装描述信息包括的文件软链接,通过访问所述文件软链接获取计算环境要求,按照所述计算环境要求在实验管理软件中配置与所述实验资源相应的计算环境所述文件软链接通过读取所述目标键值生成的关联数据组获取;所述实验管理软件中配置有至少两个语言解释器程序,所述语言解释器程序分别部署在对应的隔离文件夹中;所述实验管理软件中包含至少两个语言可运行程序文件,不同的语言可运行程序文件被分别部署在对应的隔离文件夹中;所述语言解释器程序通过所述安装描述信息中的文件软链接,链接至所述语言可运行程序文件所在的文件夹;
实验运行模块,用于使用本地计算设备的硬件资源,在所述计算环境内运行所获取的实验资源。
5.根据权利要求4所述的装置,其特征在于,还包括:
专用环境配置子模块,用于根据用户ID和实验资源ID在所述计算环境内创建用户专用相应实验资源的专用计算环境;
专用环境运行子模块,用于在所述专用计算环境中运行所获取的实验资源。
6.一种实验资源的调度设备,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由处理器加载并执行,以实现如权利要求1至3任一项所述的方法。
7.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111301.0A CN116029526B (zh) | 2023-02-03 | 2023-02-03 | 一种实验资源的调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111301.0A CN116029526B (zh) | 2023-02-03 | 2023-02-03 | 一种实验资源的调度方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116029526A CN116029526A (zh) | 2023-04-28 |
CN116029526B true CN116029526B (zh) | 2024-03-12 |
Family
ID=86081431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310111301.0A Active CN116029526B (zh) | 2023-02-03 | 2023-02-03 | 一种实验资源的调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116029526B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117632428B (zh) * | 2023-12-01 | 2024-05-28 | 世芯电子科技(无锡)有限公司 | 资源调度管理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035187A (zh) * | 2020-09-16 | 2020-12-04 | 北京思明启创科技有限公司 | 资源加载及打包方法、装置、设备、介质 |
CN112417259A (zh) * | 2019-08-20 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 媒体资源的处理方法、装置、设备及存储介质 |
CN113900677A (zh) * | 2021-10-18 | 2022-01-07 | 盐城金堤科技有限公司 | 程序运行环境的部署方法、装置、设备及计算机存储介质 |
CN114020369A (zh) * | 2021-10-29 | 2022-02-08 | 上海商汤科技开发有限公司 | 编程教育实验方法及装置、电子设备和存储介质 |
CN114170879A (zh) * | 2021-12-10 | 2022-03-11 | 西安电子科技大学 | 全无线交互式的实验教学系统 |
CN114924864A (zh) * | 2022-06-21 | 2022-08-19 | 北京联合伟世科技股份有限公司 | 实验资源的调度方法、装置、设备及存储介质 |
CN115328663A (zh) * | 2022-10-10 | 2022-11-11 | 亚信科技(中国)有限公司 | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 |
-
2023
- 2023-02-03 CN CN202310111301.0A patent/CN116029526B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417259A (zh) * | 2019-08-20 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 媒体资源的处理方法、装置、设备及存储介质 |
CN112035187A (zh) * | 2020-09-16 | 2020-12-04 | 北京思明启创科技有限公司 | 资源加载及打包方法、装置、设备、介质 |
CN113900677A (zh) * | 2021-10-18 | 2022-01-07 | 盐城金堤科技有限公司 | 程序运行环境的部署方法、装置、设备及计算机存储介质 |
CN114020369A (zh) * | 2021-10-29 | 2022-02-08 | 上海商汤科技开发有限公司 | 编程教育实验方法及装置、电子设备和存储介质 |
CN114170879A (zh) * | 2021-12-10 | 2022-03-11 | 西安电子科技大学 | 全无线交互式的实验教学系统 |
CN114924864A (zh) * | 2022-06-21 | 2022-08-19 | 北京联合伟世科技股份有限公司 | 实验资源的调度方法、装置、设备及存储介质 |
CN115328663A (zh) * | 2022-10-10 | 2022-11-11 | 亚信科技(中国)有限公司 | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116029526A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11204983B2 (en) | Scoring cloud packages for risk assessment automation | |
US8775577B1 (en) | System and method for configuration management service | |
CN106295255B (zh) | 应用程序的加固方法和装置 | |
CN112486547B (zh) | 多租户场景下的应用程序更新方法、装置及电子设备 | |
CN105765527A (zh) | 用于定制的软件开发包(sdk)的方法和装置 | |
US10411961B2 (en) | Image management in cloud environments | |
MXPA05003943A (es) | Parchado eficiente. | |
MXPA05003944A (es) | Parchado eficiente. | |
US11023365B2 (en) | Systems and methods for automated provisioning of a virtual mainframe test environment | |
US10908971B1 (en) | Method and system for generating a customizable connector | |
US10171502B2 (en) | Managed applications | |
CN114586010A (zh) | 对象存储服务的输出路径中对象过滤代码的按需执行 | |
CN116029526B (zh) | 一种实验资源的调度方法、装置、设备及存储介质 | |
US9513762B1 (en) | Static content updates | |
CN111858727A (zh) | 一种基于模板配置的多数据源数据导出系统及方法 | |
Scheid et al. | BUNKER: a Blockchain-based trUsted VNF pacKagE Repository | |
US10223526B2 (en) | Generating packages for managed applications | |
CN111858611A (zh) | 数据访问方法、装置、计算机设备及存储介质 | |
EP3298534B1 (en) | Creating multiple workspaces in a device | |
WO2022068322A1 (en) | Software access through heterogeneous encryption | |
CN110597496B (zh) | 应用程序的字节码文件获取方法及装置 | |
CN113448793A (zh) | 一种兼容多操作系统的系统监控方法及装置 | |
CN115934654A (zh) | 实验资源的打包方法、装置、设备及存储介质 | |
CN110806935B (zh) | 应用程序构建方法、装置和系统 | |
CN116383136A (zh) | 实验资源的管理方法、装置、设备及存储介质 |
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 |