一种实训结果智能检测方法与流程

文档序号:20575085发布日期:2020-04-29 01:04阅读:333来源:国知局
一种实训结果智能检测方法与流程

本发明涉及智能检测技术领域,尤其涉及一种实训结果智能检测方法。



背景技术:

云计算实操训练平台是现有技术中的一种测试训练系统,其主要的功能通过制作课件和对应的实验环境,让用户操作实验环境完成课件设置的内容,达到技能训练的目的。目前,基本采用人工监控或人工检测的方式检测用户的实训结果。

但是,采用人工监控或检测的方式在系统平台中检测用户实训结果时,效率低下,每一个实训环境都需要进行人工检测,浪费了人力资源;容错率低,若检测人员进行误操作,会影响用户实操的结果;耗时长,若实训的内容较为复杂,人工检测结果会耗费大量的时间;对于人工检测的结果,并不能保证绝对的准确。因此,目前极需一种可以在系统平台上用于检测用户实训结果的方法,以提高检测效率和准确度。



技术实现要素:

本发明提供了一种实训结果智能检测方法,通过制作不同的镜像,生成不同的实验环境,实现模拟出各种不同的故障环境,制作与故障环境对应的课件,将故障环境与课件进行关联,当用户实操完毕后,自动检测用户的实操结果。

为了解决上述技术问题,本发明实施例提供了一种实训结果智能检测方法,包括:

制作镜像文件并在虚拟机中预设故障文件;

在目标系统中添加课件文件,并将所述课件文件与所述镜像文件相关联;

预先设置所述预设故障相对应的检测脚本,在开启实验镜像故障修复过程中,触发上传检测脚本指令并向云管理平台发送含有携带参数的上传脚本请求指令,以上传相应的检测脚本;

在所述虚拟机内新建并执行所述检测脚本,得到所述检测脚本的返回值,作为检测结果。

作为优选方案,所述制作镜像文件并在虚拟机中预设故障文件,具体包括:

制作不同操作系统的基础镜像并制作软件版镜像;

通过所述软件版镜像启动虚拟机,并在所述虚拟机中预制软件故障,对所述虚拟机进行保存。

作为优选方案,所述携带参数包括镜像名称和配置参数。

作为优选方案,所述配置参数包括内存参数、cpu参数和硬盘参数。

作为优选方案,所述触发上传检测脚本指令为手动触发模式,所述手动触发模式具体为:当获取用户点击下一步实验指令时触发检测脚本上传动作。

作为优选方案,所述触发上传检测脚本指令为定时触发模式,所述定时触发模式具体为:预设时间段,当用户开启实验时间满足所述预设时间段时触发检测脚本上传动作。

作为优选方案,在得到所述检测脚本的返回值,作为检测结果之后,还包括:判断当前检测结果与预设的预期结果是否一致,若不一致,则直接返回所述检测结果;若一致时,对所述检测结果进行分析。

作为优选方案,所述对所述检测结果进行分析,具体包括:根据所述检测结果计算故障修复的难度系数,确定难易程度。

作为优选方案,所述计算故障修复的难度系数,具体包括:获取检测脚本的总执行次数及修复成功次数,计算所述总执行次数与所述修复成功次数的比例值,将所述比例值按权重分配难度系数。

相比于现有技术,本发明实施例具有如下有益效果:

1、本发明通过制作不同的镜像,生成不同的实验环境,实现模拟出各种不同的故障环境,制作与故障环境对应的课件,将故障环境与课件进行关联,当用户实操完毕后,自动检测用户的实操检测结果。

2、还可以根据检测结果的难易程度,进行客观计算准确的评分。

附图说明

图1:为本发明实施例中的实训结果智能检测方法的步骤流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,本发明优选实施例提供了一种实训结果智能检测方法,包括以下步骤:

s1,制作镜像文件并在虚拟机中预设故障文件;在本实施例中,所述步骤s1具体包括:s11,制作不同操作系统的基础镜像并制作软件版镜像;s12,通过所述软件版镜像启动虚拟机,并在所述虚拟机中预制软件故障,对所述虚拟机进行保存。

具体地,制作基础镜像:通过vmwarevsphereclient制作不同操作系统的基础镜像,如:windows7,windows10,ubuntu16.04等。这些基础的镜像,仅需要安装执行检测脚本需要的环境即可。制作软件版镜像:在云管理平台上,使用已上传的操作系统版镜像,启动虚拟机,并且在虚拟机中安装不同的软件,例如:mysql数据库、docker容器,使用此虚拟机保存为镜像到云管理平台。预设故障:在云管理平台上,使用软件版镜像,启动虚拟机,并且在虚拟机中预制一个(或多个)软件故障(例如:修改mysql的配置文件中的某个参数并保存,mysql启动时会到默认路径下载入此配置文件,若找不到该配置文件或配置文件中的参数不正确,会导致mysql服务无法正常启动),使用此虚拟机保存为镜像到云管理平台。

s2,在目标系统中添加课件文件,并将所述课件文件与所述镜像文件相关联。

具体地,添加课件:云计算实操训练平台添加一个课件,该课件的内容与要关联的软件故障版镜像中的软件和故障有关。例如,某个镜像的的软件故障为mysql无法正常启动,制作课件的内容会大致介绍mysql的基本使用,若用户在页面上点击下一步实验会提示用户mysql出现了无法启动的问题,让用户尝试修复该故障。将云计算实操训练平台的课件与镜像关联起来。具体的实施方式为:当用户点击开启实验时,云计算实操训练平台发送一个创建虚拟机的请求到云管理平台,携带的请求参数为镜像名称,配置(内存,cpu,硬盘)。云管理平台使用这些请求参数,调用创建虚拟机的接口,使用镜像名为请求参数中的镜像名,配置为请求参数中的配置(内存,cpu,硬盘)创建一个虚拟机(该虚拟机会有一个vm-id作为该虚拟机的标识)并生成一个url(该url就是操作虚拟机的界面),调用接口验证该虚拟机的状态,如果状态为up,则说明该虚拟机已经成功启动,并为此虚拟机分配一个ip;如果状态为creating,说明该虚拟机正在创建中,等待几秒后再重新调用接口验证该虚拟机的状态直到状态为up并分配ip,分配完ip后,将vm-id(虚拟机的唯一标识)和url返回给云计算实操训练平台。云计算实操训练平台将此url解析显示在页面上。此时,用户可以在页面上操作虚拟机。

s3,预先设置所述预设故障相对应的检测脚本,在开启实验镜像故障修复过程中,触发上传检测脚本指令并向云管理平台发送含有携带参数的上传脚本请求指令,以上传相应的检测脚本;在本实施例中,所述携带参数包括镜像名称和配置参数。在本实施例中,所述配置参数包括内存参数、cpu参数和硬盘参数。

在本实施例中,所述触发上传检测脚本指令为手动触发模式,所述手动触发模式具体为:当获取用户点击下一步实验指令时触发检测脚本上传动作。在本实施例中,所述触发上传检测脚本指令还可以为定时触发模式,所述定时触发模式具体为:预设时间段,当用户开启实验时间满足所述预设时间段时触发检测脚本上传动作。

具体地,在云计算实操训练平台预先定义好与故障对应的检测脚本,这个脚本的作用是用来检测故障是否被成功修复。例如故障为mysql服务无法正常启动,则脚本中的内容为:mysql-u用户名-p密码-e"selectversion();'&>/dev/null;echo$?;这个脚本的功能是为了检测mysql服务能否正常运行,根据脚本的返回值来决策mysql服务是否能够正常运行,如果输出的结果为0,说明mysql服务正常运行;如果输出结果为1,说明mysql服务不能正常运行。上传检测脚本到虚拟机中的模式分为两种,手动触发:当用户点击下一步实验时触发。定时触发:当用户开启实验后在某一个时间点触发(后台管理员设置,默认为关闭,单位为分钟)。

s4,在所述虚拟机内新建并执行所述检测脚本,得到所述检测脚本的返回值,作为检测结果。

具体地,只要满足上述触发上传检测脚本的条件时,云计算实操训练平台会携带以下参数向云管理平台发起上传文件到虚拟机的请求,该虚拟机的ip地址,用户名,密码,脚本内容(一段文本),脚本类型(python2,python3,shell),文件保存的路径(默认为/tmp),预期结果(检测脚本执行成功后的返回结果和预期结果对比)。云管理平台接受到请求参数后,调用云驱动系统上传文件的接口,将脚本内容写入一个文件名是请求参数中“文件保存的路径”的文件中并上传到对应的路径下,根据请求参数中脚本类型(python2,python3,shell)定义一条command,控制虚拟机执行这条command并获取到返回的结果,将这个结果和请求参数中的预期结果做对比,以此来检测用户的实训结果。

在本实施例中,在得到所述检测脚本的返回值,作为检测结果之后,还包括:s5,判断当前检测结果与预设的预期结果是否一致,若不一致,则直接返回所述检测结果;若一致时,对所述检测结果进行分析。在本实施例中,所述对所述检测结果进行分析,具体包括:根据所述检测结果计算故障修复的难度系数,确定难易程度。在本实施例中,所述计算故障修复的难度系数,具体包括:获取检测脚本的总执行次数及修复成功次数,计算所述总执行次数与所述修复成功次数的比例值,将所述比例值按权重分配难度系数。

具体地,若触发上传检测脚本后,若检测脚本返回的结果不是预期结果里面的内容,则代表该检测脚本的运行指令的结果不是我们期望的,将实际的结果返回;若检测脚本返回的结果符合预期结果,说明该检测脚本的返回值符合我们预期。若该环境内有三个故障,检测脚本返回的结果为一个0两个1,则说明该用户只解决了其中一个故障,还有两个故障没有完全解决。可以对检测脚本返回的内容做进一步的分析,根据已解决的故障的修复难度,给与一定的分数。故障的修复难度并不是人工评定的,是根据这个脚本的总执行次数及修复成功的比例来进行评定的。比如:某一个故障检测脚本被调用了100次,只有10次的返回结果为0,也就是说这个故障的总修复数为100,修复成功率为10%,那么该故障的修复难度就为9分。

本发明结合云计算实操训练平台,通过制作不同的镜像,生成不同的实验环境,实现模拟出各种不同的故障环境,制作与故障环境对应的课件,将故障环境与课件进行关联,当用户实操完毕后,自动检测用户的实操结果,并且根据实操的难易程度,进行客观准确的评分。

本发明的优点在于:灵活性强:检测脚本不受语言的限制,只要实验环境内安装了对应的脚本环境,就可以检测用户的实训结果,检测脚本的执行时机可由云计算实操训练平台自定义(手动触发或定时触发)。此外,还可以自动的判定故障的修复难度,实训的次数越多,故障修复难度的评级就愈发准确。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1