一种版本升级方法、服务平台及电子设备与流程

文档序号:14714039发布日期:2018-06-16 00:59阅读:168来源:国知局
一种版本升级方法、服务平台及电子设备与流程

本发明属于服务版本的升级管理技术领域,尤其涉及一种版本升级方法、服务平台及电子设备。



背景技术:

目前,AI(Artificial Intelligence,人工智能)平台在对AI服务的服务版本进行升级时,一般是先关闭正在运行的旧版本服务,然后进行版本的升级,之后,待新版本的服务升级完成后,再基于升级后的新版本重新启动服务。

然而,此种服务版本升级方式会导致在升级过程中AI服务产生中断,无法继续提供AI服务,相应地,也会对AI平台中正在执行的基于所述AI服务的各个任务如图像、语音等方面的模型训练任务,或者基于模型的图像、语音数据处理任务等产生影响。



技术实现要素:

有鉴于此,本申请的目的在于提供一种版本升级方法、服务平台及电子设备,用于克服现有技术存在的上述问题,使得在服务版本升级过程中仍能够继续提供服务,不会对服务上正在运行的任务产生影响。

为此,本申请公开如下技术方案:

一种版本升级方法,应用于一执行主体中,所述方法包括:

在第一版本对象运行过程中,获得版本升级指令;

启动并运行第二版本对象;

在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。

上述方法,优选的,所述在第一版本对象运行过程中,获得版本升级指令,包括:

当存在版本升级需求时,获得当前所述执行主体的预定运行参数的参数数据;

利用预先训练的分类模型对所述参数数据进行分类处理,得到用于表示所述执行主体当前是否适合进行版本升级的分类结果;

若所述分类结果表示所述执行主体当前适合进行版本升级,则生成版本升级指令。

上述方法,优选的,所述在第一版本对象运行过程中,获得版本升级指令,包括:

在基于第一版本对象执行提交至所述第一版本对象的各个第一任务的过程中,获得版本升级指令。

上述方法,优选的,所述启动并运行第二版本对象,包括:

启动第二版本对象;

将所述第一任务中的未完成任务切换至基于所述第二版本对象继续执行;

基于所述第二版本对象执行提交至所述第二版本对象的各个第二任务。

上述方法,优选的,所述在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象,包括:

检测所述第二版本对象的运行状态是否符合表示所述第二版本对象稳定运行的预定条件;

若检测结果表示符合,则停止运行所述第一版本对象。

一种服务平台,包括:

指令获取单元,用于在第一版本对象运行过程中,获得版本升级指令;

对象启动单元,用于启动并运行第二版本对象;

停止运行单元,用于在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。

上述服务平台,优选的,所述指令获取单元,具体用于:

当存在版本升级需求时,获得当前所述服务平台的预定运行参数的参数数据;利用预先训练的分类模型对所述参数数据进行分类处理,得到用于表示所述服务平台当前是否适合进行版本升级的分类结果;若所述分类结果表示所述服务平台当前适合进行版本升级,则生成版本升级指令。

上述服务平台,优选的,所述指令获取单元,具体用于:

在基于第一版本对象执行提交至所述第一版本对象的各个第一任务的过程中,获得版本升级指令;

相对应地,所述对象启动单元,具体用于:

启动第二版本对象;将所述第一任务中的未完成任务切换至基于所述第二版本对象继续执行;基于所述第二版本对象执行提交至所述第二版本对象的各个第二任务。

上述服务平台,优选的,所述停止运行单元,具体用于:

检测所述第二版本对象的运行状态是否符合表示所述第二版本对象稳定运行的预定条件;若检测结果表示符合,则停止运行所述第一版本对象。

一种电子设备,包括:

指令获取单元,用于在第一版本对象运行过程中,获得版本升级指令;

对象启动单元,用于启动并运行第二版本对象;

停止运行单元,用于在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。

基于以上方案可知,本申请提供的版本升级方法、服务平台及电子设备,在第一版本对象运行过程中,获得版本升级指令,并响应该指令启动及运行第二版本对象,之后,在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。由此可见,本申请提供了一种在第一版本对象运行过程中进行版本升级以实现新版本对象即所述第二版本对象的启动及运行的方案,应用本申请方案在进行对象版本升级时,不必中断正在运行的旧版本对象,从而,本申请实现了对象版本的平滑升级,在对象版本升级过程中仍能够继续提供服务,相应地不会对服务上正在运行的任务产生影响。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本申请提供的一种版本升级方法实施例一的流程图;

图2是本申请提供的一种版本升级方法实施例二的流程图;

图3是本申请提供的一种版本升级方法实施例三的流程图;

图4是本申请实施例三提供的任务分发及处理的原理示意图;

图5是本申请实施例三提供的任务分发及处理的版本切换机制示意图;

图6是本申请提供的一种服务平台实施例四的结构示意图;

图7是本申请提供的一种电子设备实施例七的结构示意图。

具体实施方式

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

本申请提供了一种版本升级方法、服务平台及电子设备,用于实现在服务版本升级过程中仍能够继续提供服务,不会对服务上正在运行的任务产生影响。以下将通过多个实施例对本申请的版本升级方法、服务平台及电子设备进行详细阐述。

参考图1,图1是本申请提供的一种版本升级方法实施例一的流程图,该方法可应用于AI平台、云平台等各种服务平台以及智能手机、平板电脑、笔记本、台式机或一体机等各种终端设备或计算机设备中,如图1所示,本实施例中,所述版本升级方法包括以下步骤:

步骤101、在第一版本对象运行过程中,获得版本升级指令。

所述第一版本对象,可以是但不限于在上述任意一种服务平台或任意终端设备、计算机设备中已安装并运行的相应待升级的旧版本服务或旧版本软件App(Application、应用程序),其中,作为一种较典型的示例,所述第一版本对象可以是AI平台中当前正在运行的待升级的旧版本AI服务。

所述版本升级指令,用于指示对作为旧版本对象的所述第一版本对象进行升级,该指令可以是所述服务平台或终端设备/计算机设备在符合预定条件时自动触发的指令,或者还可以是服务平台的运维人员,或终端设备/计算机设备的用户基于实际的版本升级需求通过执行相应操作所触发的指令。

为了克服现有技术存在的问题,使得在服务版本升级过程中仍能够继续提供服务,不会对服务上正在运行的任务产生影响,本申请提出一种在旧版本对象即所述第一版本对象运行过程中进行对象升级的技术构思,鉴于此,本步骤中,会在第一版本对象运行的过程中,获得所述版本升级指令。

步骤102、启动并运行第二版本对象。

所述第二版本对象,相对应地是指在对所述旧版本对象即所述第一版本对象进行升级时,需采用的新版本对象,如新版本的AI服务或新版本的终端App等。

在获得所述版本升级指令后,需响应该指令,本步骤具体在所述第一版本对象运行过程中,通过启动并运行作为新版本对象的所述第二版本对象来实现对该版本升级指令进行初步响应。也就是说,本申请是在不关闭旧版本对象的情况下,直接执行对象的版本升级过程。

步骤103、在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。

其中,所述预定条件可以是能够表示所述第二版本对象稳定运行、正常运行的条件。从而,当满足该预定条件时,则表示所述第二版本对象已处于稳定运行状态,能够正常、稳定地运行,相对应地能够在该对象的执行主体上如服务平台或终端设备/计算机设备上提供正常的服务或功能。

由于此种情况下所述第二版本对象已能够替代第一版本对象在其执行主体上提供正常的服务或功能,从而可停止运行所述第一版本对象,至此,完成了针对该第一版本对象的升级过程,实现了对所述版本升级指令的进一步响应。

由于在升级过程中,当作为新版本的所述第二版本对象未启动完成或未稳定运行不能提供正常的服务或功能时,作为旧版本的所述第一版本对象仍在运行,仍可以提供正常的服务或功能,因此,不会出现升级过程中服务中断的现象,实现了对象的平滑升级、无缝升级,从用户角度来说,其使用的服务或功能在升级过程中也不会被打断,会平滑地从使用第一版本对象提供的服务或功能过渡至使用第二版本对象提供的服务或功能。

本实施例提供的版本升级方法,在第一版本对象运行过程中,获得版本升级指令,并响应该指令启动及运行第二版本对象,之后,在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。由此可见,本申请提供了一种在第一版本对象运行过程中进行版本升级以实现新版本对象即所述第二版本对象的启动及运行的方案,应用本申请方案在进行对象版本升级时,不必中断正在运行的旧版本对象,从而,本申请实现了对象版本的平滑升级,在对象版本升级过程中仍能够继续提供服务,相应地不会对服务上正在运行的任务产生影响。

参考图2,图2是本申请提供的一种版本升级方法实施例二的流程图,本实施例提供所述步骤101的一种可能的实现方式,如图2所示,本实施例中,所述步骤101(在第一版本对象运行过程中,获得版本升级指令)可以通过以下的处理过程实现:

步骤1011、当存在版本升级需求时,获得当前所述执行主体的预定运行参数的参数数据。

在进行服务或软件App等对象的版本升级时,优选地,可将所述对象的执行主体如AI平台、智能手机等处于资源占用量较少、即具有较充足的底层资源的情况作为版本升级的较佳时机,并认为在此种情况下AI平台、智能手机等执行主体较适合进行对象的版本升级,而其他情况则不适合进行对象的版本升级。

鉴于此,当存在版本升级需求时,可首先获得所述执行主体的预定运行参数的参数数据,以用于确定当前所述执行主体是否适合执行对象的版本升级过程。

若所述执行主体为AI平台等服务平台,则所述预定运行参数可以包括但不限于AI等服务平台的CPU(Central Processing Unit、中央处理器)利用率、磁盘IO(Input/Output,输入/输出)占用率等;若所述执行主体为智能终端,所述预定运行参数则可以包括但不限于所述智能终端的CPU利用率、磁盘IO占用率、终端的剩余电量以及当前的时间(用户在夜间一般不使用智能终端,从而便于进行版本升级)等等。

步骤1012、利用预先训练的分类模型对所述参数数据进行分类处理,得到用于表示所述执行主体当前是否适合进行版本升级的分类结果。

在基于获得的所述运行参数数据确定所述执行主体当前是否适合进行版本升级时,本实施例具体利用一预先训练的分类模型对所述参数数据进行分类处理,并根据分类结果来判断所述执行主体当前是否适合进行对象的版本升级。

其中,所述分类模型可预先由所述执行主体或额外的独立于所述执行主体的服务器等设备,利用公共数据集或收集的真实历史数据集进行训练,具体,比如可基于公共数据集中或收集的真实历史数据集中所提供的“执行主体的CPU利用率、磁盘IO、或设备剩余电量以及当前的时间等运行参数与是、否执行升级的升级执行情况的对应关系”信息,利用预定的二分类算法进行模型训练,使得最终训练出的所述分类模型,可通过对输入的上述运行参数数据进行处理,最终输出用于表示所述执行主体当前是、否适合进行版本升级的分类结果。

该分类结果可以包括执行主体当前适合以及不适合进行版本升级的置信度信息,从而,后续可根据该分类结果中分别给出的执行主体当前适合以及不适合进行版本升级的置信度信息,确定所述执行主体当前是、否适合执行对象的版本升级过程。例如,以所述执行主体为AI平台、所述对象为AI服务为例,假设所述分类结果中给出的适合升级的置信度数据为90%,不适合升级的置信度数据为10%,则根据该结果可确定出所述AI平台当前适合进行AI服务升级。

一般来说,在执行主体的CPU利用率较低、磁盘IO占用率较低、剩余电量较多、当前时间为夜间的情况下,会针对适合升级的类别给出一个较高的置信度数据,以指示执行主体当前适合对服务或软件App等对象进行版本升级;反之,在CPU利用率较高、磁盘IO占用率较高、剩余电量较少、当前时间为白天的情况下则会针对不适合升级的类别给出一个较高的置信度数据,以指示执行主体当前不适合对服务或软件App等对象进行版本升级;而对于介于两者之间的情况,如CPU利用率较低但磁盘IO占用率较高等,则会根据具体训练的分类模型中每种运行参数的不同取值对于各分类类别的贡献度信息,给出对应于每种分类类别的置信度结果。

步骤1013、若所述分类结果表示所述执行主体当前适合进行版本升级,则生成版本升级指令。

如果所述分类结果表示所述执行主体当前适合进行版本升级,如所述分类结果中针对适合升级的类别给出了较高的置信度(假设为90%)等,则可以由所述执行主体,如AI平台、智能手机等自动生成所述版本升级指令,以用于指示对AI平台或智能手机等设备中正在运行的旧版本服务或软件App等进行升级。

反之,如果所述分类结果表示所述执行主体当前不适合进行版本升级,则不会生成所述版本升级指令。

本实施例通过获得服务或软件App等对象的执行主体在当前的预定运行参数数据,并利用预先训练的分类模型对所述运行参数数据进行分类处理,可实现在较佳的时机(如CPU利用率较低、磁盘IO占用率较低或剩余电量较多、当前时间为夜间等情况)自动在执行主体上触发版本升级指令,进行版本升级,有效降低了版本升级过程对AI平台或用户终端等执行主体所带来的影响。

参考图3,图3是本申请提供的一种版本升级方法实施例三的流程图,本实施例继续对本申请提供的版本升级方法进行进一步详述。如图3所示,本实施例中,所述版本升级方法可以通过以下的处理过程实现:

步骤301、在基于第一版本对象执行提交至所述第一版本对象的各个第一任务的过程中,获得版本升级指令。

以在AI平台上运行有待升级的第一版本AI服务这一典型的应用场景为例,所述第一任务可以是但不限于在所述AI平台上基于所述第一版本AI服务运行的各个AI任务,如图像、语音等方面的模型训练任务,或者基于模型的图像、语音数据处理任务等等。

服务或软件App等对象在运行过程中,会接收用户提交的任务并基于该对象自身提供的服务或功能执行该任务。仍以在AI平台上运行有待升级的第一版本AI服务这一典型的应用场景为例,AI平台可接收终端用户提交的诸如图像、语音等方面的模型训练任务,或者基于模型的图像、语音数据处理等任务,并基于所述第一版本AI服务提供的相应服务功能执行这些任务。

具体地,参考图4示出的任务分发及任务处理的原理示意图,在AI平台上运行有待升级的第一版本AI服务(即图4中的V1版本服务)的情况下,会相应地创建有V1版本的任务分发进程及V1版本的任务处理进程,分别用于分发及处理基于V1版本服务的任务,当V1版本的任务处理进程感知到用户提交的任务后,会向V1版本的任务分发进程请求基于所述V1版本服务的任务,所述V1版本的任务分发进程相应地会接收到所述V1版本的任务处理进程发来的任务请求,并进而响应该请求,向所述V1版本的任务处理进程分配任务,之后,所述V1版本的任务处理进程会利用所述V1版本服务所提供的服务功能执行所分配的任务。

在基于所述V1版本服务执行各个任务的过程中,当存在版本升级需求时,可获得所述版本升级指令进行版本升级,该版本升级指令可以是由AI平台等执行主体自动触发的指令,或者也可以是由平台的运维人员等工作人员通过执行相应操作触发的指令。

步骤302、启动第二版本对象。

在获得所述版本升级指令后,本实施例通过在运行所述旧版本对象即所述第一版本对象,并基于所述第一版本对象执行所述各个第一任务的情况下,直接启动作为新版本的所述第二版本对象,来响应该指令,从而,使得在AI平台等执行主体未停掉第一版本对象的前提下运行所述第二版本对象。

步骤303、将所述第一任务中的未完成任务切换至基于所述第二版本对象继续执行。

在所述第二版本对象启动完成后,可利用所述第二版本对象替代所述第一版本对象提供相应的服务功能,从而,可将原本基于所述第一版本对象执行的各个所述第一任务中的未完成任务切换至基于所述第二版本对象继续执行。

如图5所示,在具体实施本申请时,仍以在AI平台上对AI服务进行升级为例,可通过为所述任务分发进程、任务处理进程提供主备切换机制,来使得在所述第二版本AI服务启动完成时,将任务分发进程、任务处理进程从V1版本切换至V2版本,以使得在切换后基于所述第二版本AI服务提供的服务功能进行任务的分发及处理,而对于所述V1版本任务处理进程中未完成的第一任务,也相应地切换至由所述V2版本的任务处理进程继续基于第二版本AI服务执行。

步骤304、基于所述第二版本对象执行提交至所述第二版本对象的各个第二任务。

后续,当V2版本的任务处理进程感知到有新的任务需要执行时,可向V2版本的任务分发进程发送任务请求,进而V2版本的任务分发进程会向该任务处理进程分配基于第二版本对象的任务,以使得该V2版本的任务处理进程相应地基于第二版本对象提供的服务功能执行所分配的任务。

步骤305、检测所述第二版本对象的运行状态是否符合表示所述第二版本对象稳定运行的预定条件。

所述表示第二版本对象稳定运行的预定条件,具体地,比如可以是所述第二版本对象提供的各种服务功能在第二版本对象启动后的预定时长内未检测到异常,或者还可以是基于所述第二版本对象运行的各个任务在预定时长内正常运行未检测到异常等等,本实施例并不对该预定条件进行局限,具体实施时,该预定条件只要能够表征所述第二版本对象稳定运行或正常运行即可。

从而,可通过检测所述第二版本对象的运行状态是否符合所述预定条件,来判断所述第二版本对象是否稳定运行或正常运行。

步骤306、若检测结果表示符合,则停止运行所述第一版本对象。

当所述检测结果表示所述第二版本对象的运行状态符合所述预定条件时,则相应地表明所述第二版本对象处于稳定运行或正常运行的状态,此种情况下,由于所述第二版本对象已能够替代第一版本对象在其执行主体上提供正常的服务或功能,从而可停止运行所述第一版本对象。

本实施例的方案,由于在升级过程中,当作为新版本的所述第二版本对象未启动完成或未稳定运行不能提供正常的服务或功能时,作为旧版本的所述第一版本对象仍在运行,仍可以提供正常的服务或功能,因此,不会出现升级过程中服务中断的现象,实现了对象的平滑升级、无缝升级,从用户角度来说,其使用的服务或功能在升级过程中也不会被打断,会平滑地从使用第一版本对象提供的服务或功能过度至使用第二版本对象提供的服务或功能。

参考图6,图6是本申请提供的一种服务平台实施例四的结构示意图,该服务平台可以是AI平台或云平台等各种平台,如图6所示,所述服务平台包括:

指令获取单元601,用于在第一版本对象运行过程中,获得版本升级指令。

所述第一版本对象,可以是在上述任意一种服务平台中已安装并运行的相应待升级的旧版本服务,其中,作为一种较典型的示例,所述第一版本对象可以是AI平台中当前正在运行的待升级的旧版本AI服务。

所述版本升级指令,用于指示对作为旧版本对象的所述第一版本对象进行升级,该指令可以是所述服务平台在符合预定条件时自动触发的指令,或者还可以是服务平台的运维人员基于实际的版本升级需求通过执行相应操作所触发的指令。

为了克服现有技术存在的问题,使得在服务版本升级过程中仍能够继续提供服务,不会对服务上正在运行的任务产生影响,本申请提出一种在旧版本对象即所述第一版本对象运行过程中进行对象升级的技术构思,鉴于此,本步骤中,会在第一版本对象运行的过程中,获得所述版本升级指令。

对象启动单元602,用于启动并运行第二版本对象。

所述第二版本对象,相对应地是指在对所述旧版本对象即所述第一版本对象进行升级时,需采用的新版本对象,如新版本的AI服务等。

在获得所述版本升级指令后,需响应该指令,本实施例具体在所述第一版本对象运行过程中,通过启动并运行作为新版本对象的所述第二版本对象来实现对该版本升级指令进行初步响应。也就是说,本申请是在不关闭旧版本对象的情况下,直接执行对象的版本升级过程。

停止运行单元603,用于在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。

其中,所述预定条件可以是能够表示所述第二版本对象稳定运行、正常运行的条件。从而,当满足该预定条件时,则表示所述第二版本对象已处于稳定运行状态,能够正常、稳定地运行,相对应地能够在该对象的服务平台上提供正常的服务或功能。

由于此种情况下所述第二版本对象已能够替代第一版本对象在其执行主体上提供正常的服务或功能,从而可停止运行所述第一版本对象,至此,完成了针对该第一版本对象的升级过程,实现了对所述版本升级指令的进一步响应。

由于在升级过程中,当作为新版本的所述第二版本对象未启动完成或未稳定运行不能提供正常的服务或功能时,作为旧版本的所述第一版本对象仍在运行,仍可以提供正常的服务或功能,因此,不会出现升级过程中服务中断的现象,实现了对象的平滑升级、无缝升级,从用户角度来说,其使用的服务或功能在升级过程中也不会被打断,会平滑地从使用第一版本对象提供的服务或功能过渡至使用第二版本对象提供的服务或功能。

本实施例提供的服务平台,在第一版本对象运行过程中,获得版本升级指令,并响应该指令启动及运行第二版本对象,之后,在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。由此可见,本申请提供了一种在第一版本对象运行过程中进行版本升级以实现新版本对象即所述第二版本对象的启动及运行的方案,应用本申请方案在进行对象版本升级时,不必中断正在运行的旧版本对象,从而,本申请实现了对象版本的平滑升级,在对象版本升级过程中仍能够继续提供服务,相应地不会对服务上正在运行的任务产生影响。

本申请在接下来的实施例五中继续提供所述指令获取单元601的一种可能的实现方式,本实施例中,所述获取单元601,具体用于:

当存在版本升级需求时,获得当前所述服务平台的预定运行参数的参数数据;利用预先训练的分类模型对所述参数数据进行分类处理,得到用于表示所述服务平台当前是否适合进行版本升级的分类结果;若所述分类结果表示所述服务平台当前适合进行版本升级,则生成版本升级指令。

在进行服务等对象的版本升级时,优选地,可将所述服务平台如AI平台等处于资源占用量较少、即具有较充足的底层资源的情况作为版本升级的较佳时机,并认为在此种情况下AI平台等服务平台较适合进行对象的版本升级,而其他情况则不适合进行对象的版本升级。

鉴于此,当存在版本升级需求时,可首先获得所述服务平台的预定运行参数的参数数据,以用于确定当前所述服务平台是否适合执行对象的版本升级过程。

其中,所述预定运行参数可以包括但不限于AI等服务平台的CPU利用率、磁盘IO占用率等参数。

在基于获得的所述运行参数数据确定所述服务平台当前是否适合进行版本升级时,本实施例具体利用一预先训练的分类模型对所述参数数据进行分类处理,并根据分类结果来判断所述服务平台当前是否适合进行对象的版本升级。

其中,所述分类模型可预先由所述服务平台或额外的独立于所述服务平台的其他设备,利用公共数据集或收集的真实历史数据集进行训练,具体,比如可基于公共数据集中或收集的真实历史数据集中所提供的“服务平台的CPU利用率、磁盘IO等参数数据与服务平台是、否执行了升级的升级执行情况的对应关系”信息,利用预定的二分类算法进行模型训练,使得最终训练出的所述分类模型,可通过对输入的上述运行参数数据进行处理,最终输出用于表示所述服务平台当前是、否适合进行版本升级的分类结果。

该分类结果可以包括服务平台当前适合以及不适合进行版本升级的置信度信息,从而,后续可根据该分类结果中分别给出的服务平台当前适合以及不适合进行版本升级的置信度信息,确定所述服务平台当前是、否适合执行对象的版本升级过程。例如,以所述服务平台为AI平台、所述对象为AI服务为例,假设所述分类结果中给出的适合升级的置信度数据为90%,不适合升级的置信度数据为10%,则根据该结果可确定出所述AI平台当前适合进行AI服务升级。

一般来说,在服务平台的CPU利用率较低、磁盘IO占用率较低的情况下,会针对适合升级的类别给出一个较高的置信度数据,以指示服务平台当前适合对AI等服务进行版本升级;反之,在CPU利用率较高、磁盘IO占用率较高的情况下则会针对不适合升级的类别给出一个较高的置信度数据,以指示服务平台当前不适合对AI等服务进行版本升级;而对于介于两者之间的情况,如CPU利用率较低但磁盘IO占用率较高等,则会根据具体训练的分类模型中每种运行参数的不同取值对于各分类类别的贡献度信息,给出对应于每种分类类别的置信度结果。

如果所述分类结果表示所述服务平台当前适合进行版本升级,如所述分类结果中针对适合升级的类别给出了较高的置信度(假设为90%)等,则可以由所述服务平台,如AI平台等自动生成所述版本升级指令,以用于指示对服务平台中正在运行的旧版本服务进行升级。

反之,如果所述分类结果表示所述服务平台当前不适合进行版本升级,则不会生成所述版本升级指令。

本实施例通过获得服务平台在当前的预定运行参数数据,并利用预先训练的分类模型对所述运行参数数据进行分类处理,可实现在较佳的时机(如CPU利用率较低、磁盘IO占用率较低)自动在服务平台上触发版本升级指令,进行版本升级,有效降低了版本升级过程对AI平台等服务平台所带来的影响。

本申请实施例六继续对所述服务平台进行进一步详述。

本实施例中,所述所述指令获取单元601,具体用于:在基于第一版本对象执行提交至所述第一版本对象的各个第一任务的过程中,获得版本升级指令。

以在AI平台上运行有待升级的第一版本AI服务这一典型的应用场景为例,所述第一任务可以是但不限于在所述AI平台上基于所述第一版本AI服务运行的各个AI任务,如图像、语音等方面的模型训练任务,或者基于模型的图像、语音数据处理任务等等。

AI平台可接收终端用户提交的诸如图像、语音等方面的模型训练任务,或者基于模型的图像、语音数据处理等任务,并基于所述第一版本AI服务提供的相应服务功能执行这些任务。

具体地,参考图4示出的任务分发及任务处理的原理示意图,在AI平台上运行有待升级的第一版本AI服务(即图4中的V1版本服务)的情况下,会相应地创建有V1版本的任务分发进程及V1版本的任务处理进程,分别用于分发及处理基于V1版本服务的任务,当V1版本的任务处理进程感知到用户提交的任务后,会向V1版本的任务分发进程请求基于所述V1版本服务的任务,所述V1版本的任务分发进程相应地会接收到所述V1版本的任务处理进程发来的任务请求,并进而响应该请求,向所述V1版本的任务处理进程分配任务,之后,所述V1版本的任务处理进程会利用所述V1版本服务所提供的服务功能执行所分配的任务。

在基于所述V1版本服务执行各个任务的过程中,当存在版本升级需求时,可获得所述版本升级指令进行版本升级,该版本升级指令可以是由AI平台等执行主体自动触发的指令,或者也可以是由平台的运维人员等工作人员通过执行相应操作触发的指令。

相应地,所述对象启动单元602,具体用于:启动第二版本对象;将所述第一任务中的未完成任务切换至基于所述第二版本对象继续执行;基于所述第二版本对象执行提交至所述第二版本对象的各个第二任务。

在获得所述版本升级指令后,本实施例通过在运行所述旧版本对象即所述第一版本对象,并基于所述第一版本对象执行所述各个第一任务的情况下,直接启动作为新版本的所述第二版本对象,来响应该指令,从而,使得在AI平台等服务平台未停掉第一版本对象的前提下运行所述第二版本对象。

在所述第二版本对象启动完成后,可利用所述第二版本对象替代所述第一版本对象提供相应的服务功能,从而,可将原本基于所述第一版本对象执行的各个所述第一任务中的未完成任务切换至基于所述第二版本对象继续执行。

如图5所示,在具体实施本申请时,仍以AI平台上的AI服务升级为例,可通过为所述任务分发进程、任务处理进程提供主备切换机制,来使得在所述第二版本AI服务启动完成时,将任务分发进程、任务处理进程从V1版本切换至V2版本,以使得在切换后基于所述第二版本AI服务提供的服务功能进行任务的分发及处理,而对于所述V1版本任务处理进程中未完成的第一任务,也相应地切换至由所述V2版本的任务处理进程继续基于第二版本AI服务执行。

后续,当V2版本的任务处理进程感知到有新的任务需要执行时,可向V2版本的任务分发进程发送任务请求,进而V2版本的任务分发进程会向该任务处理进程分配基于第二版本AI服务的任务,以使得该V2版本的任务处理进程相应地基于第二版本AI服务提供的服务功能执行所分配的任务。

所述停止运行单元603,具体用于:检测所述第二版本对象的运行状态是否符合表示所述第二版本对象稳定运行的预定条件;若检测结果表示符合,则停止运行所述第一版本对象。

所述表示第二版本对象稳定运行的预定条件,具体地,比如可以是所述第二版本对象提供的各种服务功能在第二版本对象启动后的预定时长内未检测到异常,或者还可以是基于所述第二版本对象运行的各个任务在预定时长内正常运行未检测到异常等等,本实施例并不对该预定条件进行局限,具体实施时,该预定条件只要能够表征所述第二版本对象稳定运行或正常运行即可。

从而,可通过检测所述第二版本对象的运行状态是否符合所述预定条件,来判断所述第二版本对象是否稳定运行或正常运行。

当所述检测结果表示所述第二版本对象的运行状态符合所述预定条件时,则相应地表明所述第二版本对象处于稳定运行或正常运行的状态,此种情况下,由于所述第二版本对象已能够替代第一版本对象在其执行主体上提供正常的服务或功能,从而可停止运行所述第一版本对象。

本实施例的方案,由于在升级过程中,当作为新版本的所述第二版本对象未启动完成或未稳定运行不能提供正常的服务或功能时,作为旧版本的所述第一版本对象仍在运行,仍可以提供正常的服务或功能,因此,不会出现升级过程中服务中断的现象,实现了对象的平滑升级、无缝升级,从用户角度来说,其使用的服务或功能在升级过程中也不会被打断,会平滑地从使用第一版本对象提供的服务或功能过度至使用第二版本对象提供的服务或功能。

参考图7,图7是本申请提供的一种电子设备实施例七的结构示意图,该电子设备可以为智能手机、平板电脑、笔记本、台式机或一体机等各种终端设备或计算机设备,如图7所示,本实施例中,所述电子设备包括:

指令获取单元701,用于在第一版本对象运行过程中,获得版本升级指令。

所述第一版本对象,可以是但不限于在上述任意一种终端设备、计算机设备中已安装并运行的相应待升级的旧版本服务或旧版本软件App。

所述版本升级指令,用于指示对作为旧版本对象的所述第一版本对象进行升级,该指令可以是所述终端设备/计算机设备在符合预定条件时自动触发的指令,或者还可以是终端设备/计算机设备的用户基于实际的版本升级需求通过执行相应操作所触发的指令。

为了克服现有技术存在的问题,使得在服务版本升级过程中仍能够继续提供服务,不会对服务上正在运行的任务产生影响,本申请提出一种在旧版本对象即所述第一版本对象运行过程中进行对象升级的技术构思,鉴于此,本步骤中,会在第一版本对象运行的过程中,获得所述版本升级指令。

对象启动单元702,用于启动并运行第二版本对象。

所述第二版本对象,相对应地是指在对所述旧版本对象即所述第一版本对象进行升级时,需采用的新版本对象,如新版本的服务或新版本的终端App等。

在获得所述版本升级指令后,需响应该指令,本步骤具体在所述第一版本对象运行过程中,通过启动并运行作为新版本对象的所述第二版本对象来实现对该版本升级指令进行初步响应。也就是说,本申请是在不关闭旧版本对象的情况下,直接执行对象的版本升级过程。

停止运行单元703,用于在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。

其中,所述预定条件可以是能够表示所述第二版本对象稳定运行、正常运行的条件。从而,当满足该预定条件时,则表示所述第二版本对象已处于稳定运行状态,能够正常、稳定地运行,相对应地能够在终端设备/计算机设备上提供正常的服务或功能。

由于此种情况下所述第二版本对象已能够替代第一版本对象在其执行主体上提供正常的服务或功能,从而可停止运行所述第一版本对象,至此,完成了针对该第一版本对象的升级过程,实现了对所述版本升级指令的进一步响应。

由于在升级过程中,当作为新版本的所述第二版本对象未启动完成或未稳定运行不能提供正常的服务或功能时,作为旧版本的所述第一版本对象仍在运行,仍可以提供正常的服务或功能,因此,不会出现升级过程中服务中断的现象,实现了对象的平滑升级、无缝升级,从用户角度来说,其使用的服务或功能在升级过程中也不会被打断,会平滑地从使用第一版本对象提供的服务或功能过渡至使用第二版本对象提供的服务或功能。

本实施例提供的电子设备,在第一版本对象运行过程中,获得版本升级指令,并响应该指令启动及运行第二版本对象,之后,在所述第二版本对象的运行状态符合预定条件时,停止运行所述第一版本对象。由此可见,本申请提供了一种在第一版本对象运行过程中进行版本升级以实现新版本对象即所述第二版本对象的启动及运行的方案,应用本申请方案在进行对象版本升级时,不必中断正在运行的旧版本对象,从而,本申请实现了对象版本的平滑升级,在对象版本升级过程中仍能够继续提供服务,相应地不会对服务上正在运行的任务产生影响。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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