发明内容
基于此,有必要针对上述技术问题,提供一种能够降低实现成本的AIoT设备更新方法和装置。
第一方面,本申请提供了一种AIoT设备更新方法。所述方法包括:
向文件服务器发送更新文件,所述文件服务器存储有多种AI模型,所述更新文件包括已注册AIoT设备的标识和所述已注册AIoT设备下载AI模型的方式;
向所述已注册AIoT设备发送更新通知,使所述已注册AIoT设备从所述文件服务器下载第一AI模型并进行更新,所述第一AI模型为所述文件服务器存储的多种AI模型中的一个;
根据所述已注册AIoT设备的反馈情况,确定所述第一AI模型在所述已注册AIoT设备上是否更新成功。
在其中一个实施例中,所述根据所述已注册AIoT设备的反馈情况,确定所述第一AI模型在所述已注册AIoT设备上是否更新成功,包括:
若在发送所述更新通知之后的第一设定时长内接收到所述已注册AIoT设备反馈的更新状态,且在接收到所述更新状态之后的第二设定时长内接收到所述已注册AIoT设备反馈的运行结果,则判定所述第一AI模型在所述已注册AIoT设备上更新成功;
若在发送所述更新通知之后的第一设定时长内未接收到所述已注册AIoT设备反馈的更新状态,或者在接收到所述更新状态之后的第二设定时长内未接收到所述已注册AIoT设备反馈的运行结果,则判定所述第一AI模型在所述已注册AIoT设备上更新失败;
其中,所述更新状态是所述已注册AIoT设备在将所述第一AI模型代替已有的第二AI模型运行之后反馈的,所述运行结果是所述已注册AIoT设备在接收到所述第一AI模型的运行结果之后反馈的。
在其中一个实施例中,所述方法还包括:
若判定所述第一AI模型在所述已注册AIoT设备上更新失败,则将所述已注册AIoT设备的状态从已注册修改为重置。
在其中一个实施例中,所述方法还包括:
接收AIoT设备发送的注册请求,所述注册请求包括AIoT设备的标识;
根据所述注册请求,确定所述AIoT设备下载AI模型的方式,并将所述AIoT设备的状态设定为已注册。
在其中一个实施例中,所述向所述已注册AIoT设备发送更新通知,包括:
向中间件发送更新通知,使所述中间件向所述已注册AIoT设备发送所述更新通知。
第二方面,本申请还提供了一种AIoT设备更新方法。所述方法包括:
接收控制服务器发送的更新通知,所述更新通知包括已注册AIoT设备的标识;
根据所述更新通知,从文件服务器下载第一AI模型并进行更新,所述文件服务器存储有多种AI模型且接收过所述文件服务器发送的更新文件,所述更新文件包括已注册AIoT设备的标识和所述已注册AIoT设备下载AI模型的方式,所述第一AI模型为所述文件服务器存储的多种AI模型中的一个;
根据所述第一AI模型的更新情况向所述控制服务器反馈,使所述控制服务器确定所述第一AI模型在所述已注册AIoT设备上是否更新成功。
在其中一个实施例中,所述根据所述更新通知,从文件服务器下载第一AI模型并进行更新,包括:
根据所述更新通知,从文件服务器下载第一AI模型;
将所述第一AI模型代替已有的第二AI模型运行,并获取所述第一AI模型的运行结果;
若获取到所述第一AI模型的运行结果,则删除所述第二AI模型;
若未获取到所述第一AI模型的运行结果,则将所述第二AI模型重新运行。
在其中一个实施例中,所述根据所述第一AI模型的更新情况向所述控制服务器反馈,包括:
在将所述第一AI模型代替已有的第二AI模型运行之后,向所述控制服务器反馈更新状态;
在获取到所述第一AI模型的运行结果之后,向所述控制服务器反馈所述运行结果。
第三方面,本申请还提供了一种AIoT设备更新装置。所述装置包括:
文件发送模块,用于向文件服务器发送更新文件,所述文件服务器存储有多种AI模型,所述更新文件包括已注册AIoT设备的标识和所述已注册AIoT设备下载AI模型的方式;
通知发送模块,用于向所述已注册AIoT设备发送更新通知,使所述已注册AIoT设备从所述文件服务器下载第一AI模型并进行更新,所述第一AI模型为所述文件服务器存储的多种AI模型中的一个;
更新确定模块,用于根据所述已注册AIoT设备的反馈情况,确定所述第一AI模型在所述已注册AIoT设备上是否更新成功。
第四方面,本申请还提供了一种AIoT设备更新装置。所述装置包括:
通知接收模块,用于接收控制服务器发送的更新通知,所述更新通知包括已注册AIoT设备的标识;
模型更新模块,用于根据所述更新通知,从文件服务器下载第一AI模型并进行更新,所述文件服务器存储有多种AI模型且接收过所述文件服务器发送的更新文件,所述更新文件包括已注册AIoT设备的标识和所述已注册AIoT设备下载AI模型的方式,所述第一AI模型为所述文件服务器存储的多种AI模型中的一个;
更新反馈模块,用于根据所述第一AI模型的更新情况向所述控制服务器反馈,使所述控制服务器确定所述第一AI模型在所述已注册AIoT设备上是否更新成功。
上述AIoT设备更新方法和装置,通过向存储有多种AI模型的文件服务器发送更新文件,更新文件包括已注册AIoT设备的标识和已注册AIoT设备下载AI模型的方式,并向已注册AIoT设备发送更新通知。这样已注册AIoT设备可以根据更新通知向文件服务器请求下载第一AI模型,第一AI模型为文件服务器存储的多种AI模型中的一个,而文件服务器可以根据更新文件采用已注册AIoT设备下载AI模型的方式将第一AI模型下载到已注册AIoT设备。已注册AIoT设备采用下载到的第一AI模型进行更新并反馈情况,进而根据已注册AIoT设备的反馈情况,确定第一AI模型在已注册AIoT设备上是否更新成功。整个过程适用于不同的智能终端设备、不同的系统平台、以及不同的应用场景。也就是说,本申请对AIoT设备下载AI模型制定有统一的规范,可以无差别地对不同的AIoT设备更新AI模型,实现不同AIoT设备更新AI模型的统一管理,从而大幅减少人力消耗,有效管控实现成本。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的AIoT设备更新方法,可以应用于如图1所示的应用环境中。其中,多个AIoT设备102通过网络与控制服务器104、文件服务器106进行通信。一部分AIoT设备102直接与控制服务器104、文件服务器106进行通信,另一部分AIoT设备102通过中间件108与控制服务器104、文件服务器106进行通信。具体地,当AIoT设备102接入公网时,AIoT设备102直接与控制服务器104、文件服务器106进行通信;当AIoT设备102接入私网时,AIoT设备102通过中间件108与控制服务器104、文件服务器106进行通信。示例性地,控制服务器104、文件服务器106接入办公网,若AIoT设备102接入办公网,则AIoT设备102直接与控制服务器104、文件服务器106进行通信;若AIoT设备102接入产线网,则AIoT设备102通过中间件108与控制服务器104、文件服务器106进行通信。
在本实施例中,文件服务器106存储有多种AI模型。控制服务器104一方面向文件服务器106发送更新文件,更新文件包括已注册AIoT设备102的标识和已注册AIoT设备102下载AI模型的方式;另一方面向已注册AIoT设备102发送更新通知。已注册AIoT设备102根据更新通知,向文件服务器106发送下载请求。文件服务器106根据更新文件,采用已注册AIoT设备102下载AI模型的方式将第一AI模型下载到已注册AIoT设备102,第一AI模型为文件服务器106存储的多种AI模型中的一个。已注册AIoT设备102下载到第一AI模型后进行更新,并向控制服务器104反馈情况。控制服务器104根据已注册AIoT设备102的反馈情况,确定第一AI模型在已注册AIoT设备102上是否更新成功。
具体地,AIoT设备102可以但不限于是各种检测设备和主机。检测设备可为自动光学检测(英文:Automated Optical Inspection,简称:AOI)设备、温湿度计、摄像机等。主机可为计算机、边缘设备等。控制服务器104、文件服务器106和中间件108可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种AIoT设备更新方法,以该方法应用于图1中的控制服务器为例进行说明,包括以下步骤:
步骤S202,向文件服务器发送更新文件。
其中,文件服务器存储有多种AI模型。更新文件包括已注册AIoT设备的标识和已注册AIoT设备下载AI模型的方式。具体地,已注册AIoT设备下载AI模型的方式可为空中下载技术(英文:Over-the-Air Technology,简称:OTA)、网络下载(英文:download)、文件传输协议(英文:FileTransferProtocol,简称:FTP)、超文本传输协议(英文:Hyper TextTransfer Protocol,简称:HTTP)等。示例性地,若已注册AIoT设备采用嵌入式系统,如温湿度计,则已注册AIoT设备下载AI模型的方式为OTA;若已注册AIoT设备采用非嵌入式系统,如计算机,则已注册AIoT设备下载AI模型的方式为网络下载。
具体地,控制服务器上设有人机交互接口,如网页(英文:web)或者应用程序(英文:application,简称:APP)的图形用户界面(英文:Graphical User Interface,简称:GUI),可以接收使用者的操作指令,根据操作指令生成更新文件并发送给文件服务器。例如,操作指令是将AI模型的版本都升级到最高版本,如2.0,则控制服务器在已注册AIoT设备中搜索AI模型的版本为1.0的AIoT设备,将搜索到的AIoT设备的标识和下载AI模型的方式形成更新文件发送给文件服务器。又如,操作指令是将AI模型的实现功能进行改变,如从识别人员是否戴口罩改为识别车辆车牌,则控制服务器在已注册AIoT设备中搜索配有摄像头的AIoT设备,将搜索到的AIoT设备的标识和下载AI模型的方式形成更新文件发送给文件服务器。
在本实施例中,控制服务器向文件服务器发送更新文件,更新文件包括已注册AIoT设备的标识和已注册AIoT设备下载AI模型的方式,这样已注册AIoT设备从文件服务器下载AI模型时,文件服务器可以采用已注册AIoT设备下载AI模型的方式将AI模型下载到已注册AIoT设备,这样下载AI模型的方式不同的AIoT设备可以按照统一的流程从文件服务器下载AI模型,不需要根据AIoT设备下载AI模型的方式不同,对AIoT设备分别进行更新,从而大幅减少人力消耗,有效管控实现成本。
步骤S204,向已注册AIoT设备发送更新通知,使已注册AIoT设备从文件服务器下载第一AI模型并进行更新。
其中,第一AI模型为文件服务器存储的多个AI模型中的一个。
具体地,更新通知包括已注册AIoT设备的标识,控制服务器向所有的AIoT设备广播更新通知,每个AIoT设备根据更新通知中已注册AIoT设备的标识,确定是否从文件服务器下载第一AI模型并进行更新。当更新通知包括目标AIoT设备的标识时,目标AIoT设备从文件服务器下载第一AI模型并进行更新;当更新通知不包括目标AIoT设备的标识时,目标AIoT设备不动作。
向已注册AIoT设备发送更新通知可以采用下面两种实现方式:
在本实施例的一种实现方式中,控制服务器向已注册AIoT设备发送更新通知。
在上述实施方式中,控制服务器与已注册AIoT设备接入同一网络,相互之间可以直接通信。控制服务器发送更新通知,已注册AIoT设备可以直接接收到,并根据更新通知中已注册AIoT设备的标识,直接从文件服务器下载第一AI模型并进行更新。
在本实施例的另一种实现方式中,控制服务器向中间件发送更新通知,使中间件向已注册AIoT设备发送更新通知。
在上述实施方式中,控制服务器与已注册AIoT设备接入不同网络,相互之间无法直接通信。中间件同时接入控制服务器接入的网络、已注册AIoT设备接入的网络,即中间件分别与控制服务器、已注册AIoT设备接入同一网络。控制服务器发送更新通知,中间件可以接收到,并根据更新通知中已注册AIoT设备的标识,将更新通知转发到已注册AIoT设备接入的网络。已注册AIoT设备可以接收到中间件转发的更新通知,并根据更新通知中已注册AIoT设备的标识,通过中间件从文件服务器下载第一AI模型并进行更新。
已注册AIoT设备从文件服务器下载第一AI模型并进行更新可以采用下面两种实现方式:
在本实施例的一种实现方式中,更新通知还包括第一AI模型的标识。已注册AIoT设备根据更新通知,确定从文件服务器下载的是第一AI模型;向文件服务器发送第一AI模型的下载请求,从文件服务器下载第一AI模型并进行更新。
在上述实现方式中,第一AI模型的标识携带在控制服务器向已注册AIoT设备发送的更新通知中,已注册AIoT设备可以根据更新通知确定下载的AI模型并从文件服务器下载确定的AI模型。
在本实施例的另一种实现方式中,更新文件还包括第一AI模型的标识。已注册AIoT设备根据更新通知,向文件服务器发送AI模型的下载请求;文件服务器根据更新文件,将第一AI模型下载到已注册AIoT设备;已注册AIoT设备下载到第一AI模型后进行更新。
在上述实现方式中,第一AI模型的标识携带在控制服务器向文件服务器发送的更新文件中,已注册AIoT设备无法确定下载的AI模型,但是可以根据更新通知向文件服务器发送下载请求,由文件服务器根据更新文件确定下载的AI模型并下载到已注册AIoT设备。
在本实施例中,控制服务器向已注册AIoT设备发送更新通知,已注册AIoT设备根据更新通知从文件服务器下载AI模型并进行更新。由于控制服务器预先向文件服务器发送过更新文件,更新文件包括已注册AIoT设备的标识和已注册AIoT设备下载AI模型的方式,因此文件服务器可以确定已注册AIoT设备下载AI模型的方式,并采用确定的方式将AI模型下载到已注册AIoT设备,这样不同的AIoT设备都可以采用同样的方式从文件服务器下载AI模型,AIoT设备从文件服务器下载AI模型不会受到智能终端设备、系统平台、应用场景等限制,全部采用统一的流程进行,不需要由人工一台一台进行。
步骤S206,根据已注册AIoT设备的反馈情况,确定第一AI模型在已注册AIoT设备上是否更新成功。
其中,反馈情况可以为已注册AIoT设备反馈的情况,也可以为已注册AIoT设备未在设定时长内反馈的情况。
具体地,若控制服务器在设定时长内接收到已注册AIoT设备反馈的情况,则确定第一AI模型在已注册AIoT设备上更新成功;若控制服务器未在设定时长内接收到已注册AIoT设备反馈的情况,则确定第一AI模型在已注册AIoT设备上更新失败。
在本实施例中,控制服务器根据已注册AIoT设备的反馈情况,确定第一AI模型在已注册AIoT设备上是否更新成功,进而确定已注册AIoT设备运行的AI模型,有利于已注册AIoT设备的整体管理。
上述AIoT设备更新方法中,通过向存储有多种AI模型的文件服务器发送更新文件,更新文件包括已注册AIoT设备的标识和已注册AIoT设备下载AI模型的方式,并向已注册AIoT设备发送更新通知。这样已注册AIoT设备可以根据更新通知向文件服务器请求下载第一AI模型,第一AI模型为文件服务器存储的多种AI模型中的一个,而文件服务器可以根据更新文件采用已注册AIoT设备下载AI模型的方式将第一AI模型下载到已注册AIoT设备。已注册AIoT设备采用下载到的第一AI模型进行更新并反馈情况,进而根据已注册AIoT设备的反馈情况,确定第一AI模型在已注册AIoT设备上是否更新成功。整个过程适用于不同的智能终端设备、不同的系统平台、以及不同的应用场景。也就是说,本申请对AIoT设备下载AI模型制定有统一的规范,可以无差别地对不同的AIoT设备更新AI模型,实现不同AIoT设备更新AI模型的统一管理,从而大幅减少人力消耗,有效管控实现成本。
在一个实施例中,步骤S206包括:若在发送更新通知之后的第一设定时长内接收到已注册AIoT设备反馈的更新状态,且在接收到更新状态之后的第二设定时长内接收到已注册AIoT设备反馈的运行结果,则判定第一AI模型在已注册AIoT设备上更新成功;若在发送更新通知之后的第一设定时长内未接收到已注册AIoT设备反馈的更新状态,或者在接收到更新状态之后的第二设定时长内未接收到已注册AIoT设备反馈的运行结果,则判定第一AI模型在已注册AIoT设备上更新失败。
其中,更新状态是已注册AIoT设备在将第一AI模型代替已有的第二AI模型之后反馈的,运行结果是已注册AIoT设备在接收到第一AI模型的运行结果之后反馈的。
具体地,第一设定时长大于已注册AIoT设备从接收到更新通知到下载第一AI模型并进行更新的时间,第二设定时长大于已注册AIoT设备从反馈更新状态到运行第一AI模型并获取到运行结果的时间。
控制服务器向已注册AIoT设备发送更新通知,已注册AIoT设备先根据更新通知从文件服务器下载第一AI模型,并在第一AI模型下载后向控制服务器反馈更新状态;再将下载的第一AI模型代替已有的第二AI模型运行,并在获取到运行结果后向控制服务器反馈运行结果。
如果控制服务器在发送更新通知之后的第一设定时长内接收到已注册AIoT设备反馈的更新状态,则说明已注册AIoT设备已根据更新通知从文件服务器下载第一AI模型。反之,如果控制服务器未在发送更新通知之后的第一设定时长内接收到已注册AIoT设备反馈的更新状态,则说明已注册AIoT设备未根据更新通知从文件服务器下载第一AI模型,此时可以判定第一AI模型在已注册AIoT设备上更新失败。
如果控制服务器在发送更新通知之后的第一设定时长内接收到已注册AIoT设备反馈的更新状态,且在接收到更新状态之后的第二设定时长内接收到已注册AIoT设备反馈的运行结果,则说明已注册AIoT设备已根据更新通知从文件服务器下载第一AI模型,并且下载的第一AI模型已成功代替已有的第二AI模型运行,此时可以判定第一AI模型在已注册AIoT设备上更新成功。反之,如果控制服务器在发送更新通知之后的第一设定时长内接收到已注册AIoT设备反馈的更新状态,但在接收到更新状态之后的第二设定时长内未接收到已注册AIoT设备反馈的运行结果,则说明已注册AIoT设备虽然已根据更新通知从文件服务器下载第一AI模型,但是下载的第一AI模型不能代替已有的第二AI模型运行,此时可以判定第一AI模型在已注册AIoT设备上更新失败。
在上述实施例中,通过已注册AIoT设备在将第一AI模型代替已有的第二AI模型之后反馈更新状态,这样控制服务器在接收到已注册AIoT设备反馈的更新状态时,即可确定已注册AIoT设备已成功从文件服务器下载第一AI模型。通过已注册AIoT设备在接收到第一AI模型的运行结果之后反馈运行结果,这样控制服务器在接收到已注册AIoT设备反馈的运行结果时,即可确定已注册AIoT设备已成功将下载的第一AI模型代替已有的第二AI模型运行。
在其他实施例中,步骤S206包括:若已注册AIoT设备反馈的运行结果与设定结果相同,则判定第一AI模型在已注册AIoT设备上更新成功;若已注册AIoT设备反馈的运行结果与设定结果不同,则判定第一AI模型在已注册AIoT设备上更新失败。
在上述实施例中,进一步将已注册AIoT设备反馈的运行结果与设定结果进行比较,如果两者相同,则说明已注册AIoT设备反馈的运行正常,此时可以判定第一AI模型在已注册AIoT设备上更新成功;如果两者不同,则说明已注册AIoT设备反馈的运行异常,此时可以判定第一AI模型在已注册AIoT设备上更新失败。
示例性地,该方法还包括:若判定第一AI模型在已注册AIoT设备上更新失败,则将已注册AIoT设备的状态从已注册修改为重置。
具体地,AIoT设备的状态包括未注册状态(Unregister State)、已注册状态(Registered Management State)和重置状态(Reset State)。
处于未注册状态的AIoT设备未向控制服务器发送过注册请求,控制服务器没有AIoT设备的信息,因此也不会对AIoT设备进行更新。
处于已注册状态的AIoT设备已向控制服务器发送过注册请求,控制服务器存储有AIoT设备的信息,并且AIoT设备受到控制服务器的管理,控制服务器可以根据需要对AIoT设备进行更新。
处于重置状态的AIoT设备曾向控制服务器发送过注册请求,控制服务器存储有AIoT设备的信息,但是AIoT设备处于特殊状况,如更新失败、陷入死循环、离线等,此时无法受到控制服务器的管理,控制服务器不能对AIoT设备进行更新。
如图3所示,处于未注册状态的AIoT设备在注册之后,变成已注册状态。处于已注册状态的AIoT设备在更新失败之后,变成重置状态。处于重置状态的AIoT设备在与控制服务器重新建立连接之后,变成未注册状态。
在上述实施例中,在判定第一AI模型在已注册AIoT设备上更新失败时,将AIoT设备的状态从已注册修改为重置,有利于AIoT设备自行恢复,避免影响其它设备的正常运行。
在一个实施例中,该方法还包括:接收AIoT设备发送的注册请求,注册请求包括AIoT设备的标识;根据注册请求,确定AIoT设备下载AI模型的方式,并将AIoT设备的状态设定为已注册。
在上述实施例中,通过AIoT设备向控制服务器发送注册请求,控制服务器可以获取AIoT设备的信息,进而对AIoT设备进行更新。
在一个实施例中,该方法还包括:接收AIoT设备采集的数据。
在上述实施例中,通过各个AIoT设备采集数据并发送给控制服务器,控制服务器可以收集来自不同维度的、海量的数据,再通过大数据分析,以及更高形式对的人工智能,实现万物数据化、万物智联化。
具体地,控制服务器上设有人机交互接口,如GUI,可以展示AIoT设备发送的各种信息,可以但不限于AIoT设备采集的数据或者反馈的情况,如检测的温湿度、识别的车牌号码、AI模型在AIoT设备上是否更新成功、AI模型在AIoT设备上的运行时间、AIoT设备运行的AI模型等。
示例性地,当AIoT设备与控制服务器通过中间件通信时,可以基于消息队列遥测传输(英文:Message Queuing Telemetry Transpor,简称:MQTT)协议传输信息。另外,中间件可以分别接收各个AIoT设备采集的数据,并将所有AIoT设备采集的数据集中发送给控制服务器。
在一个实施例中,如图4所示,提供了一种AIoT设备更新方法,以该方法应用于图1中的AIoT设备为例进行说明,包括以下步骤:
步骤S402,接收控制服务器发送的更新通知。
其中,更新通知包括已注册AIoT设备的标识。
在本实施例的一种实现方式中,已注册AIoT设备直接接收到控制服务器发送的更新通知。
在本实施例的另一种实现方式中,中间件接收到控制服务器发送的更新通知,并将更新通知转发给AIoT设备,使已注册AIoT设备接收到控制服务器发送的更新通知。
示例性地,更新通知还可以包括第一AI模型的标识。
步骤S404,根据更新通知,从文件服务器下载第一AI模型并进行更新。
其中,文件服务器存储有多种AI模型且接收过文件服务器发送的更新文件,更新文件包括已注册AIoT设备的标识和已注册AIoT设备下载AI模型的方式。第一AI模型为文件服务器存储的多种AI模型中的一个。
具体地,已注册AIoT设备根据更新通知向文件服务器发送下载请求,下载请求包括已注册AIoT设备的标识。文件服务器根据下载请求,在更新文件中搜索已注册AIoT设备的标识对应的下载AI模型的方式,并根据搜索到的下载AI模型的方式,将存储的第一AI模型下载到已注册AIoT设备。
在本实施例中的一种实现方式中,更新通知还包括第一AI模型的标识,此时下载请求也包括第一AI模型的标识,文件服务器根据下载请求中第一AI模型的标识,在存储的AI模型中搜索第一AI模型并下载到已注册AIoT设备。
在本实施例的另一种实现方式中,更新文件还包括第一AI模型的标识,此时文件服务器根据更新文件中第一AI模型的标识,在存储的AI模型中搜索第一AI模型并下载到已注册AIoT设备。
步骤S406,根据第一AI模型的更新情况向控制服务器反馈,使控制服务器确定第一AI模型在已注册AIoT设备上是否更新成功。
在一个实施例中,步骤S404包括:根据更新通知,从文件服务器下载第一AI模型;将第一AI模型代替已有的第二AI模型运行,并获取第一AI模型的运行结果;若获取到第一AI模型的运行结果,则删除第二AI模型;若未获取到第一AI模型的运行结果,则将第二AI模型重新运行。
具体地,已注册AIoT设备将第一AI模型代替已有的第二AI模型运行之后,产生触发条件唤醒第一AI模型,如果第一AI模型被唤醒,则说明第一AI模型运行正常;如果第一AI模型未被唤醒,则说明第一AI模型运行异常。
在上述实施例中,已注册AIoT设备根据更新通知从文件服务器下载第一AI模型,将第一AI模型代替已有的第二AI模型运行并获取第一AI模型的运行结果,若获取到第一AI模型的运行结果,则说明第一AI模型运行正常,此时删除第二AI模型,可以节省存储空间,并且避免对第一AI模型的运行产生干扰;若未获取到第一AI模型的运行结果,则说明第一AI模型的运行异常,此时将第二AI模型重新运行,可以维持已注册AIoT设备的正常工作。
在其他实施例中,若第一AI模型的运行结果与设定结果相同,则删除第二AI模型;若第一AI模型的运行结果与设定结果不同,则将第二AI模型重新运行。
在上述实施例中,进一步将第一AI模型的运行结果与设定结果进行比较,如果两者相同,则说明第一AI模型的运行正常,此时可以判定第一AI模型在已注册AIoT设备上更新成功,可以删除第二AI模型;如果两者不同,则说明第一AI模型的运行异常,此时可以判定第一AI模型在已注册AIoT设备上更新失败,需要将第二AI模型重新运行。
示例性地,步骤S406包括:在将第一AI模型代替已有的第二AI模型运行之后,向控制服务器反馈更新状态;在获取到第一AI模型的运行结果之后,向控制服务器反馈运行结果。
在上述实施例中,通过已注册AIoT设备在将第一AI模型代替已有的第二AI模型之后反馈更新状态,这样控制服务器在接收到已注册AIoT设备反馈的更新状态时,即可确定已注册AIoT设备已成功从文件服务器下载第一AI模型。通过已注册AIoT设备在接收到第一AI模型的运行结果之后反馈运行结果,这样控制服务器在接收到已注册AIoT设备反馈的运行结果时,即可确定已注册AIoT设备已成功将下载的第一AI模型代替已有的第二AI模型运行。
在一个实施例中,该方法还包括:采集数据并发送给控制服务器。
示例性地,已注册AIoT设备每隔第三设定时长采集一次数据并发送给控制服务器,如30s。
在一个实施例中,如图5所示,提供了一种AIoT设备更新方法,包括以下步骤:
步骤S502,AIoT设备向控制服务器发送注册请求,变成已注册AIoT设备。
步骤S504,控制服务器向文件服务器发送更新文件。
步骤S506,控制服务器向已注册AIoT设备发送更新通知。
步骤S508,已注册AIoT设备根据更新通知,从文件服务器下载第一AI模型。
步骤S510,已注册AIoT设备将第一AI模型代替已有的第二AI模型运行,并向控制服务器反馈更新状态。
步骤S512,已注册AIoT设备获取第一AI模型的运行结果,并向控制服务器反馈运行结果。
步骤S514,控制服务器根据已注册AIoT设备的反馈情况,确定第一AI模型在已注册AIoT设备上是否更新成功。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的AIoT设备更新方法的AIoT设备更新装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个AIoT设备更新装置实施例中的具体限定可以参见上文中对于AIoT设备更新方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种AIoT设备更新装置600,包括:文件发送模块601、通知发送模块602和更新确定模块603,其中:
文件发送模块601,用于向文件服务器发送更新文件,文件服务器存储有多种AI模型,更新文件包括已注册AIoT设备的标识和已注册AIoT设备下载AI模型的方式。
通知发送模块602,用于向已注册AIoT设备发送更新通知,使已注册AIoT设备从文件服务器下载第一AI模型并进行更新,第一AI模型为文件服务器存储的多种AI模型中的一个。
更新确定模块603,用于根据已注册AIoT设备的反馈情况,确定第一AI模型在已注册AIoT设备上是否更新成功。
在一个实施例中,更新确定模块603用于,若在发送更新通知之后的第一设定时长内接收到已注册AIoT设备反馈的更新状态,且在接收到更新状态之后的第二设定时长内接收到已注册AIoT设备反馈的运行结果,则判定第一AI模型在已注册AIoT设备上更新成功;若在发送更新通知之后的第一设定时长内未接收到已注册AIoT设备反馈的更新状态,或者在接收到更新状态之后的第二设定时长内未接收到已注册AIoT设备反馈的运行结果,则判定第一AI模型在已注册AIoT设备上更新失败;其中,更新状态是已注册AIoT设备在将第一AI模型代替已有的第二AI模型运行之后反馈的,运行结果是已注册AIoT设备在接收到第一AI模型的运行结果之后反馈的。
在一个实施例中,该装置还包括状态修改模块,其中:状态修改模块,用于当判定第一AI模型在已注册AIoT设备上更新失败时,将已注册AIoT设备的状态从已注册修改为重置。
在一个实施例中,该装置还包括请求接收模块和设备注册模块,其中:请求接收模块,用于接收AIoT设备发送的注册请求,注册请求包括AIoT设备的标识;设备注册模块,用于根据注册请求,确定AIoT设备下载AI模型的方式,并将AIoT设备的状态设定为已注册。
在一个实施例中,通知发送模块602用于,向中间件发送更新通知,使中间件向已注册AIoT设备发送更新通知。
在一个实施例中,如图7所示,提供了一种AIoT设备更新装置700,包括:通知接收模块701、模型更新模块702和更新反馈模块703,其中:
通知接收模块701,用于接收控制服务器发送的更新通知,更新通知包括已注册AIoT设备的标识。
模型更新模块702,用于根据更新通知,从文件服务器下载第一AI模型并进行更新,文件服务器存储有多种AI模型且接收过文件服务器发送的更新文件,更新文件包括已注册AIoT设备的标识和已注册AIoT设备下载AI模型的方式,第一AI模型为文件服务器存储的多种AI模型中的一个。
更新反馈模块703,用于根据第一AI模型的更新情况向控制服务器反馈,使控制服务器确定第一AI模型在已注册AIoT设备上是否更新成功。
在一个实施例中,模型更新模块702用于,根据更新通知,从文件服务器下载第一AI模型;将第一AI模型代替已有的第二AI模型运行,并获取第一AI模型的运行结果;若获取到第一AI模型的运行结果,则删除第二AI模型;若未获取到第一AI模型的运行结果,则将第二AI模型重新运行。
在一个实施例中,更新反馈模块703用于,在将第一AI模型代替已有的第二AI模型运行之后,向控制服务器反馈更新状态;在获取到第一AI模型的运行结果之后,向控制服务器反馈运行结果。
上述AIoT设备更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是控制服务器或者AIoT设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种AIoT设备更新方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。