机器学习系统中的集群服务器故障测试方法和相关装置制造方法及图纸

技术编号:21199739 阅读:27 留言:0更新日期:2019-05-25 01:13
本申请公开了机器学习系统中的集群服务器故障测试方法和相关装置,所述方法包括:接收故障生成服务器发送的故障测试任务,其中,所述故障测试任务携带软件故障测试脚本;向所述集群服务器中的M个服务器下发携带所述软件故障测试脚本的测试请求,其中,M为正整数;接收所述M个服务器发送的M个测试响应,其中,所述M个测试响应携带所述M个服务器运行所述软件故障测试脚本而得到的M条软件故障测试数据,所述M个服务器与所述M个测试响应一一对应;对所述M条软件故障测试数据进行校验,以得到M个软件故障测试结果。实施本发明专利技术实施例,有利于丰富应用场景。

Cluster Server Fault Testing Method and Related Devices in Machine Learning System

This application discloses a fault testing method and related devices for cluster servers in a machine learning system. The method includes receiving a fault testing task sent by a fault generation server, in which the fault testing task carries a software fault testing script, and sending a test request carrying the software fault testing script to M servers in the cluster server, in which, M is a positive integer; receives M test responses sent by the M servers, in which the M test responses carry M software fault test data obtained by the M servers running the software fault test script, and the M servers correspond to the M test responses one by one; verifies the M software fault test data to obtain M software fault test results. Fruit. The implementation of the embodiments of the present invention is beneficial to enriching the application scenarios.

【技术实现步骤摘要】
机器学习系统中的集群服务器故障测试方法和相关装置
本专利技术涉及计算机
,尤其涉及机器学习系统中的集群服务器故障测试方法和相关装置。
技术介绍
机器学习经过几十年的发展,终于在存储能力和计算能力的发展下得到广泛应用。机器学习中的模型训练需要计算大量的数据,以得到合适的模型。虽然GPU的计算能力比CPU好几个数量级,但面对机器学习的计算需求,仍然不够。因此,往往通过在集群服务器上部署docker服务以进行多机多卡训练,来满足机器学习的计算需求。其中,Docker是一个开源的容器引擎,也是一种轻量级的虚拟化技术,且对性能损耗小,易于封装,因此在机器学习中的应用也越来越广泛。一般来说,一次机器学习的模型训练短则几个小时,长则数周。如果在一次训练中,机器学习系统中的集群服务器发生故障,则需要重新开始,之前的计算都会白费。那么一个好的机器学习系统需要有处理故障并恢复的过程。因此,在机器学习系统投入实际使用之前,需要对机器学习系统中的集群服务器下发故障测试脚本进行故障测试,以检测集群服务器故障处理能力以及找出集群服务器存在的潜在缺陷。然而,现有的测试方法,只能对单个服务器下发硬件故障测试脚本进行硬件故障测试,应用场景单一。
技术实现思路
本专利技术实施例提供了机器学习系统中的集群服务器故障测试方法和相关装置,实施本专利技术实施例,有利于丰富应用场景。本专利技术第一方面提供了机器学习系统中的集群服务器故障测试方法,包括:故障执行服务器接收故障生成服务器发送的故障测试任务,其中,所述故障测试任务携带软件故障测试脚本;所述故障执行服务器向所述集群服务器中的M个服务器下发携带所述软件故障测试脚本的测试请求,其中,M为正整数;所述故障执行服务器接收所述M个服务器发送的M个测试响应,其中,所述M个测试响应携带所述M个服务器运行所述软件故障测试脚本而得到的M条软件故障测试数据,所述M个服务器与所述M个测试响应一一对应;所述故障执行服务器对所述M条软件故障测试数据进行校验,以得到M个软件故障测试结果。基于第一方面,本专利技术的一种可能的实施方式中,所述方法还包括:在接收重新测试故障请求时,所述故障执行服务器向所述数据库服务器发送重新测试故障消息,其中,所述重新测试故障消息携带重新测试故障标识,所述重新测试故障消息用于指示所述数据库服务器查找与所述重新测试故障标识匹配的历史故障测试任务;所述服务器接收所述数据库服务器携带历史故障测试脚本的历史故障测试任务;所述故障执行服务器向所述M个服务器下发携带所述历史故障测试脚本的历史测试请求;所述故障执行服务器接收所述M个服务器发送的M个历史测试响应,其中,所述M个历史测试响应携带所述M个服务器运行所述历史故障测试脚本而得到的M条历史故障测试数据,所述M个服务器与所述M个历史测试响应一一对应;所述故障执行服务器对所述M条历史故障测试数据进行校验,以得到M个历史故障测试结果。本专利技术第二方面提供了一种服务器,包括:第一接收模块,用于接收故障生成服务器发送的故障测试任务,其中,所述故障测试任务携带软件故障测试脚本;下发模块,用于向所述集群服务器中的M个服务器下发携带所述软件故障测试脚本的测试请求,其中,M为正整数;第二接收模块,用于接收所述M个服务器发送的M个测试响应,其中,所述M个测试响应携带所述M个服务器运行所述软件故障测试脚本而得到的M条软件故障测试数据,所述M个服务器与所述M个测试响应一一对应;校验模块,用于对所述M条软件故障测试数据进行校验,以得到M个软件故障测试结果。本专利技术第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现机器学习系统中的集群服务器的故障测试方法任一项所述的方法。可以看出,上述技术方案中,在故障执行服务器接收故障生成服务器发送的携带软件故障测试脚本的故障测试任务时,故障执行服务器向集群服务器中的M个服务器下发携带软件故障测试脚本的测试请求。当M个服务器运行软件故障测试脚本得到M条软件故障测试数据后,故障执行服务器接收M个服务器发送的携带M条软件故障测试数据的M个测试响应,然后,故障执行服务器对M条软件故障测试数据进行校验,以得到M个软件故障测试结果,从而实现机器学习系统中的集群服务器的软件故障测试,找出集群服务器存在的潜在缺陷以及运行时出现的异常情况,同时,丰富应用场景,满足集群的需求。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:图1-a为本专利技术一个实施例提供的机器学习系统中的集群服务器故障测试方法的流程示意图;图1-b为本专利技术又一个实施例提供的一种机器学习系统的架构示意图;图2-a为本专利技术又一个实施例提供的机器学习系统中的集群服务器故障测试方法的流程示意图;图2-b为本专利技术一个实施例提供一种故障执行服务器按照所述软件故障测试优先级从高到低的顺序,调用用户接口向部署在第i个服务器上的N个容器下发测试请求的示意图;图2-c为本专利技术一个实施例提供一种故障执行服务器按照所述M个编号的顺序通过安全外壳协议远程登录M个服务器的示意图;图3为本专利技术一个实施例提供的一种服务器的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。以下分别进行详细说明。本专利技术的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。首先,参见图1-a和图1-b,图1-a为本专利技术的一个实施例提供的机器学习系统中的集群服务器故障测试方法的流程示意图。图1-a所示方案可在图1-b所示架构的系统中来具体的实施例。其中,如图1-a所示,本专利技术的一个实施例提供的机器学习系统中的集群服务器故障测试方法可以包括:101、故障执行服务器接收故障生成服务器发送的故障测试任务。其中,所述故障测试任务携带软件故障测试脚本。软件故障测试脚本主要指与机器学习相关的应用服务进程异常的脚本,例如可以包括:分布式训练中参数服务器(parameterserver)进程重启的脚本,或者任务(worker)进程重启或退出的脚本,服务器的守护进程(dockerdaemon)异常的脚本,容器编排引擎(kubernetes,K8s)中的pod(若干相关容器的组合)、job(定时任务)或deployment(无状态应用)异常的脚本。其中,Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。102、故障执行服务器向所述集群服务器中的M个服务器下发携带所述软件故本文档来自技高网...

【技术保护点】
1.机器学习系统中的集群服务器故障测试方法,其特征在于,包括:故障执行服务器接收故障生成服务器发送的故障测试任务,其中,所述故障测试任务携带软件故障测试脚本;所述故障执行服务器向所述集群服务器中的M个服务器下发携带所述软件故障测试脚本的测试请求,其中,M为正整数;所述故障执行服务器接收所述M个服务器发送的M个测试响应,其中,所述M个测试响应携带所述M个服务器运行所述软件故障测试脚本而得到的M条软件故障测试数据,所述M个服务器与所述M个测试响应一一对应;所述故障执行服务器对所述M条软件故障测试数据进行校验,以得到M个软件故障测试结果。

【技术特征摘要】
1.机器学习系统中的集群服务器故障测试方法,其特征在于,包括:故障执行服务器接收故障生成服务器发送的故障测试任务,其中,所述故障测试任务携带软件故障测试脚本;所述故障执行服务器向所述集群服务器中的M个服务器下发携带所述软件故障测试脚本的测试请求,其中,M为正整数;所述故障执行服务器接收所述M个服务器发送的M个测试响应,其中,所述M个测试响应携带所述M个服务器运行所述软件故障测试脚本而得到的M条软件故障测试数据,所述M个服务器与所述M个测试响应一一对应;所述故障执行服务器对所述M条软件故障测试数据进行校验,以得到M个软件故障测试结果。2.根据权利要求1所述的方法,其特征在于,所述故障执行服务器向所述集群服务器中的M个服务器下发携带所述软件故障测试脚本的测试请求,包括:所述故障执行服务器按照所述测试请求传输耗费时间的长短对所述M个服务器进行从小到大的编号,以得到M个编号;所述故障执行服务器按照所述M个编号的顺序向所述M个服务器下发所述测试请求。3.根据权利要求2所述的方法,其特征在于,所述故障执行服务器按照所述M个编号的顺序向所述M个服务器下发所述测试请求,包括:所述故障执行服务器确定所述软件故障测试脚本与预设表达式是否匹配成功;若所述软件故障测试脚本与所述预设表达式匹配成功,所述故障执行服务器则确定是否有调用用户接口的权限,其中,所述用户接口属于容器管理节点,所述容器管理节点为所述M个服务器中的任意一个服务器,所述容器管理节点用于管理部署在所述M个服务器中的每个服务器上的N个容器,N为正整数;若有调用所述用户接口的权限,所述故障执行服务器则按照所述M个编号的顺序调用所述用户接口向部署在所述M个服务器中的每个服务器上的N个容器下发所述测试请求。4.根据权利要求3所述的方法,其特征在于,所述若有调用所述用户接口的权限,所述故障执行服务器则按照所述M个编号的顺序调用所述用户接口向部署在所述M个服务器中的每个服务器上的N个容器下发所述测试请求,包括:若有调用所述用户接口的权限,所述故障执行服务器按照所述M个编号的顺序调用所述用户接口获取所述M个服务器的M个配置文件,其中,所述M个配置文件中的第i个配置文件包含部署在第i个服务器上的N个容器的软件故障测试优先级,所述第i个服务器属于所述M个服务器,0<i≤M且i为正整数;所述故障执行服务器按照所述软件故障测试优先级从高到低的顺序,调用所述用户接口向部署在所述M个服务器中的每个服务器上的N个容器下发所述测试请求。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述软件故障测试脚本与所述预设表达式未匹配成功,所述故障执行服务器则确定是否有通过安全外壳协议远程登录所述M个服务器的权限;若有通过所述安全外壳协议远程登录所述M个服务器的权限,所述故障执行服务器则按照所述M个编号的顺序通过所述安全外壳协议远程登录所述M个服务器,以向所述M个服务器的每个服务器中运行的Q个角色服务器下发所述测试请求,其中,Q为正整数。6.根据权利要求1或5所述的方法,其特征在于,所述故障测试任务还携带硬件故障测试脚本,所述方法还包括:所述故障执行服务器确定有通过所述安全外壳协议远程登录所述M个服务器的权限,以按照所述M个编号的顺序通过所述...

【专利技术属性】
技术研发人员:郑海刚吕旭涛王孝宇
申请(专利权)人:深圳云天励飞技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1