终端边缘应用程序远程传输及动态加载方法及设备与流程

文档序号:22757267发布日期:2020-10-31 09:54阅读:123来源:国知局
终端边缘应用程序远程传输及动态加载方法及设备与流程

本发明实施例涉及互联网技术领域,尤其涉及一种终端边缘应用程序远程传输及动态加载方法及设备。



背景技术:

随着物联网的发展,越来越多的设备都接入了互联网,大量的设备每天都会产生海量的数据,边缘应用程序(如边缘计算)凭借实时计算,可靠性高,性价比高等特点应运而生。边缘计算方式将小程序放到了终端运行,直接获得结果,并将计算结果传回后台服务器。大多数边缘计算应用程序被固化于终端中,一台终端只能实现一种或一组边缘计算功能,无法进行程序迭代和算法更新升级,限制了物联网设备的计算能力。此外,终端无法实现多种算法复用,每种算法都需要一台终端支持,增大了边缘计算的硬件成本。边缘计算应用程序升级困难,程序可靠性差,维护成本高,效率低。少数采用的是终端主动请求模式,而终端只有在程序启动时才会进行请求,导致许多现场问题无法及时解决,这导致无法实现边缘应用程序动态加载。因此,开发一种终端边缘应用程序远程传输及动态加载方法,可以有效克服上述相关技术中的缺陷,就成为业界亟待解决的技术问题。



技术实现要素:

针对现有技术存在的上述问题,本发明实施例提供了一种终端边缘应用程序远程传输及动态加载方法及设备。

第一方面,本发明的实施例提供了一种终端边缘应用程序远程传输及动态加载方法,包括:以第一形式数据向终端发出询问指令,若所述终端在线,则接收所述终端以第二形式数据回复的终端状态及当前边缘应用程序版本信息;若所述终端处于运行状态,且当前边缘应用程序版本较低,则以第一形式数据下发远程传输指令,最新版本的边缘应用程序以第二形式数据传输至所述终端进行动态加载。

在上述方法实施例内容的基础上,本发明实施例中提供的终端边缘应用程序远程传输及动态加载方法,还包括:采用第一协议传输第一形式数据,采用第二协议传输第二形式数据,所述第一形式数据与第二形式数据异步传输,互不干涉。

在上述方法实施例内容的基础上,本发明实施例中提供的终端边缘应用程序远程传输及动态加载方法,还包括:若所述终端不在线,则待所述终端上线后,接收所述终端以第二形式数据回复的终端状态及当前边缘应用程序版本信息。

在上述方法实施例内容的基础上,本发明实施例中提供的终端边缘应用程序远程传输及动态加载方法,所述最新版本的边缘应用程序以第二形式数据传输至所述终端进行动态加载,包括:根据mqtt数据通道接收的程序加载指令修改monit配置文件,根据monit内置命令,对最新版本的边缘应用程序进行增加、删除、启动或停止。

第二方面,本发明的实施例提供了一种终端边缘应用程序远程传输及动态加载装置,包括:

通讯建立模块,用于以第一形式数据向终端发出询问指令,若所述终端在线,则接收所述终端以第二形式数据回复的终端状态及当前边缘应用程序版本信息;

传输及加载模块,用于若所述终端处于运行状态,且当前边缘应用程序版本较低,则以第一形式数据下发远程传输指令,最新版本的边缘应用程序以第二形式数据传输至所述终端进行动态加载。

在上述装置实施例内容的基础上,本发明实施例中提供的终端边缘应用程序远程传输及动态加载装置,还包括:数据传输协议模块,用于采用第一协议传输第一形式数据,采用第二协议传输第二形式数据,所述第一形式数据与第二形式数据异步传输,互不干涉。

在上述装置实施例内容的基础上,本发明实施例中提供的终端边缘应用程序远程传输及动态加载装置,还包括:终端不在线处理模块,用于若所述终端不在线,则待所述终端上线后,接收所述终端以第二形式数据回复的终端状态及当前边缘应用程序版本信息。

在上述装置实施例内容的基础上,本发明实施例中提供的终端边缘应用程序远程传输及动态加载装置,还包括:动态加载模块,用于根据mqtt数据通道接收的程序加载指令修改monit配置文件,根据monit内置命令,对最新版本的边缘应用程序进行增加、删除、启动或停止。

第三方面,本发明的实施例提供了一种电子设备,包括:

至少一个处理器;以及

与处理器通信连接的至少一个存储器,其中:

存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方面的各种实现方式中任一种实现方式所提供的终端边缘应用程序远程传输及动态加载方法。

第四方面,本发明的实施例提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的各种实现方式中任一种实现方式所提供的终端边缘应用程序远程传输及动态加载方法。

本发明实施例提供的终端边缘应用程序远程传输及动态加载方法及设备,通过远程传输机制及边缘应用程序的动态加载机制,可以根据客户需求动态加载边缘应用程序,在提供二次开发功能的基础上,扩展了终端的适用范围,快速准确地实现边缘应用程序的迭代升级和算法更新,进而对在线终端和不在线终端的进行升级更新。

附图说明

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

图1为本发明实施例提供的终端边缘应用程序远程传输及动态加载方法流程图;

图2为本发明实施例提供的远程传输机制原理示意图;

图3为本发明实施例提供的服务器询问终端通讯原理示意图;

图4为本发明实施例提供的边缘应用程序动态加载原理示意图;

图5为本发明实施例提供的终端边缘应用程序远程传输及动态加载装置结构示意图;

图6为本发明实施例提供的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

本发明中的技术方案拟采用远程升级流程方法:采用服务器主动发起询问的方式,终端回复设备状态,服务器更据终端回复的状态信息决定是否进行升级;将升级步骤分为两步:下载升级包和使用升级包。远程平台发起升级命令时,终端能够立即进行升级包下载操作,并上报下载进度。终端会根据程序运行情况,在恰当的时机,使用升级包进行程序升级。采用双通道数据交互方式。采用mqtt协议数据通道进行指令交互,采用ftp协议数据通道进行文件交互。两种数据互不干涉,保证程序逻辑层次清晰,执行效率高。采用程序动态加载功能。采用开源工具monit进行程序管理,可以根据mqtt数据通道接收的指令进行边缘应用程序的增加,删除,启动,停止等功能。基于上述思想,本发明实施例提供了一种终端边缘应用程序远程传输及动态加载方法,参见图1,该方法包括:

101、以第一形式数据向终端发出询问指令,若所述终端在线,则接收所述终端以第二形式数据回复的终端状态及当前边缘应用程序版本信息;

102、若所述终端处于运行状态,且当前边缘应用程序版本较低,则以第一形式数据下发远程传输指令,最新版本的边缘应用程序以第二形式数据传输至所述终端进行动态加载。

基于上述方法实施例的内容,作为一种可选的实施例,本发明实施例中提供的终端边缘应用程序远程传输及动态加载方法,还包括:采用第一协议传输第一形式数据,采用第二协议传输第二形式数据,所述第一形式数据与第二形式数据异步传输,互不干涉。具体可以参见图2,两个服务器分别与终端(如物联网中的终端)间采用mqtt协议进行指令数据交互,采用ftp协议进行文件数据交互,之后mqtt服务器和ftp服务器再分别与物联网管理平台交互。两种数据互不干涉,异步进行。提高了文件传输的稳定性和指令响应的及时性。其中,mqtt(消息队列遥测传输)是iso标准(iso/iecprf20922)下基于发布/订阅范式的消息协议。ftp(filetransferprotocol,文件传输协议)是用于在网络上进行文件传输的一套标准协议。

基于上述方法实施例的内容,作为一种可选的实施例,本发明实施例中提供的终端边缘应用程序远程传输及动态加载方法,还包括:若所述终端不在线,则待所述终端上线后,接收所述终端以第二形式数据回复的终端状态及当前边缘应用程序版本信息。具体可以参见图3,远程传输采用服务器主动发起询问的方式(即平台发起升级询问)。若终端在线,收到询问指令后立即回复终端状态及程序版本信息(即终端上报信息),服务器根据终端回复的信息决定是否下发远程传输指令(即判断是否满足升级要求)。若终端离线,则等待终端上线后上报信息,后台根据上报的信息自动处理。在符合要求的情况下,发送下载指令信息,终端根据指令信息进行下载,下载成功后进行程序加载。边缘应用程序远程传输到终端后,终端会根据程序运行情况,在恰当的时机(如车辆熄火时、收到指令时),对程序进行重新加载。

基于上述方法实施例的内容,作为一种可选的实施例,本发明实施例中提供的终端边缘应用程序远程传输及动态加载方法,所述最新版本的边缘应用程序以第二形式数据传输至所述终端进行动态加载,包括:根据mqtt数据通道接收的程序加载指令修改monit配置文件,根据monit内置命令,对最新版本的边缘应用程序进行增加、删除、启动或停止。具体可以参见图4,采用开源工具monit进行程序管理,可以根据mqtt数据通道接收的指令(即mqtt指令)修改monit配置文件,再配合monit内置命令,从而实现边缘应用程序的增加,删除,启动,停止等功能。具体为调用monitreload等命令,重新应用配置文件,无需重启终端,实现动态加载应用程序的功能。其中,monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于unix平台。

本发明实施例提供的终端边缘应用程序远程传输及动态加载方法,通过远程传输机制及边缘应用程序的动态加载机制,可以根据客户需求动态加载边缘应用程序,在提供二次开发功能的基础上,扩展了终端的适用范围,快速准确地实现边缘应用程序的迭代升级和算法更新,进而对在线终端和不在线终端的进行升级更新。具体来说,可以根据客户需求动态增,删,启,停终端上的边缘计算应用。单个终端可以实现不同边缘计算应用,使终端适用范围更广。能够快速准确的对现有终端中的边缘计算程序进行迭代升级和算法更新。能够处理在线终端和不在线终端的升级情况。能够提供二次开发套件,用户可自行开发自己的边缘应用程序,通过升级平台将边缘应该程序下载到终端中去。

本发明各个实施例的实现基础是通过具有处理器功能的设备进行程序化的处理实现的。因此在工程实际中,可以将本发明各个实施例的技术方案及其功能封装成各种模块。基于这种现实情况,在上述各实施例的基础上,本发明的实施例提供了一种终端边缘应用程序远程传输及动态加载装置,该装置用于执行上述方法实施例中的终端边缘应用程序远程传输及动态加载方法。参见图5,该装置包括:

通讯建立模块501,用于以第一形式数据向终端发出询问指令,若所述终端在线,则接收所述终端以第二形式数据回复的终端状态及当前边缘应用程序版本信息;

传输及加载模块502,用于若所述终端处于运行状态,且当前边缘应用程序版本较低,则以第一形式数据下发远程传输指令,最新版本的边缘应用程序以第二形式数据传输至所述终端进行动态加载。

本发明实施例提供的终端边缘应用程序远程传输及动态加载装置,采用通讯建立模块和传输及加载模块,通过远程传输机制及边缘应用程序的动态加载机制,可以根据客户需求动态加载边缘应用程序,在提供二次开发功能的基础上,扩展了终端的适用范围,快速准确地实现边缘应用程序的迭代升级和算法更新,进而对在线终端和不在线终端的进行升级更新。

需要说明的是,本发明提供的装置实施例中的装置,除了可以用于实现上述方法实施例中的方法外,还可以用于实现本发明提供的其他方法实施例中的方法,区别仅仅在于设置相应的功能模块,其原理与本发明提供的上述装置实施例的原理基本相同,只要本领域技术人员在上述装置实施例的基础上,参考其他方法实施例中的具体技术方案,通过组合技术特征获得相应的技术手段,以及由这些技术手段构成的技术方案,在保证技术方案具备实用性的前提下,就可以对上述装置实施例中的装置进行改进,从而得到相应的装置类实施例,用于实现其他方法类实施例中的方法。例如:

基于上述装置实施例的内容,作为一种可选的实施例,本发明实施例中提供的终端边缘应用程序远程传输及动态加载装置,还包括:数据传输协议模块,用于采用第一协议传输第一形式数据,采用第二协议传输第二形式数据,所述第一形式数据与第二形式数据异步传输,互不干涉。

基于上述装置实施例的内容,作为一种可选的实施例,本发明实施例中提供的终端边缘应用程序远程传输及动态加载装置,还包括:终端不在线处理模块,用于若所述终端不在线,则待所述终端上线后,接收所述终端以第二形式数据回复的终端状态及当前边缘应用程序版本信息。

基于上述装置实施例的内容,作为一种可选的实施例,本发明实施例中提供的终端边缘应用程序远程传输及动态加载装置,还包括:动态加载模块,用于根据mqtt数据通道接收的程序加载指令修改monit配置文件,根据monit内置命令,对最新版本的边缘应用程序进行增加、删除、启动或停止。

本发明实施例的方法是依托电子设备实现的,因此对相关的电子设备有必要做一下介绍。基于此目的,本发明的实施例提供了一种电子设备,如图6所示,该电子设备包括:至少一个处理器(processor)601、通信接口(communicationsinterface)604、至少一个存储器(memory)602和通信总线603,其中,至少一个处理器601,通信接口604,至少一个存储器602通过通信总线603完成相互间的通信。至少一个处理器601可以调用至少一个存储器602中的逻辑指令,以执行本发明各个方法实施例所述的全部或部分步骤。

此外,上述的至少一个存储器602中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个方法实施例所述的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

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

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。基于这种认识,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在本专利中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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