CN113259161A - 应用管理方法及装置、电子设备和存储介质 - Google Patents

应用管理方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113259161A
CN113259161A CN202110512399.1A CN202110512399A CN113259161A CN 113259161 A CN113259161 A CN 113259161A CN 202110512399 A CN202110512399 A CN 202110512399A CN 113259161 A CN113259161 A CN 113259161A
Authority
CN
China
Prior art keywords
application
configuration information
configuration
installation package
deployment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110512399.1A
Other languages
English (en)
Other versions
CN113259161B (zh
Inventor
刘智恒
张帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sensetime International Pte Ltd
Original Assignee
Sensetime International Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sensetime International Pte Ltd filed Critical Sensetime International Pte Ltd
Priority to CN202110512399.1A priority Critical patent/CN113259161B/zh
Publication of CN113259161A publication Critical patent/CN113259161A/zh
Application granted granted Critical
Publication of CN113259161B publication Critical patent/CN113259161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及一种应用管理方法及装置、电子设备和存储介质,所述方法包括:从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,配置信息是由云端服务器发布的、针对终端设备的目标应用的信息,配置信息包括目标应用的标识及版本号;根据目标应用的标识及版本号,以及终端设备中已部署应用的标识及版本号,确定待配置应用及待配置应用的配置类别,配置类别包括应用部署、应用卸载及应用更新;根据待配置应用的配置类别,执行针对待配置应用的配置操作。本公开实施例可实现提高云端服务器的处理效率,可扩展性高。

Description

应用管理方法及装置、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种应用管理方法及装置、电子设备和存储介质。
背景技术
随着物联网技术的发展,以及边端设备(如智能摄像头)的计算、存储能力不断提升,越来越多的处理任务(比如人脸识别)从发送到云端服务器执行,转移到具有计算存储能力的边端设备上执行,从而降低请求回复的延迟,提高任务处理效率,这就要实现对边端设备上的应用进行应用管理,如部署应用、更新应用及卸载应用等。
发明内容
本公开提出了一种应用管理技术方案。
根据本公开的一方面,提供了一种应用管理方法,应用于终端设备,包括:从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,所述配置信息是由云端服务器发布的、针对所述终端设备的目标应用的信息,所述配置信息包括所述目标应用的标识及版本号;根据所述目标应用的标识及版本号,以及所述终端设备中已部署应用的标识及版本号,确定待配置应用及所述待配置应用的配置类别,所述配置类别包括应用部署、应用卸载及应用更新;根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作。通过该方式,有效地实现对大量终端设备的应用管理,如部署应用、更新应用以及卸载应用,而不会对云端服务器带来较大的访问压力,有利于提高云端服务器的处理效率,可扩展性高
在一种可能的实现方式中,所述配置信息还包括所述目标应用的部署方式以及所述目标应用的安装包下载路径,在所述配置类别为应用部署或应用更新的情况下,所述根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作,包括:根据所述配置信息,确定所述待配置应用的部署方式及安装包下载路径;根据所述待配置应用的安装包下载路径或所述待配置应用的标识及版本号,获取所述待配置应用的安装包;根据所述待配置应用的部署方式,运行所述待配置应用的安装包,以将所述待配置应用部署在所述终端设备上或更新所述终端设备上的所述待配置应用。通过该方式,能够将待配置应用的部署、更新等处理逻辑,放在终端设备上执行,从而可以高效实现待配置应用的部署、更新,缓解了云端服务器的处理压力。
在一种可能的实现方式中,根据所述待配置应用的安装包下载路径或所述待配置应用的标识及版本号,获取所述待配置应用的安装包,包括:根据所述待配置应用的安装包下载路径,从存储服务器中下载所述待配置应用的安装包;或,根据所述待配置应用的标识及版本号,从缓存设备中获取所述待配置应用的安装包,所述缓存设备中存储有所述存储服务器预下传的安装包。通过该方式,可实现支持在线或离线的方式获取待配置应用的安装包,从而有效实现待配置应用的部署和/或更新。
在一种可能的实现方式中,所述根据所述待配置应用的部署方式,运行所述待配置应用的安装包,包括:根据所述待配置应用的部署方式,分配运行所述待配置应用的安装包所需的资源,所述部署方式包括虚拟机部署和/或容器部署,所述资源包括所述终端设备的计算资源、网络资源以及存储资源;在已分配所述资源的情况下,运行所述待配置应用的安装包。通过该方式,能够针对配置类别为应用部署或应用更新的待配置应用,有效实现待配置应用的部署操作、更新操作,有利于实现对大量终端设备的应用管理。
在一种可能的实现方式中,在所述配置类别为应用卸载的情况下,所述根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作,包括:根据所述待配置应用的标识,卸载所述终端设备上的所述待配置应用。通过该方式,能够针对配置类别为应用卸载的待配置应用,有效实现待配置应用的卸载操作,有利于实现对大量终端设备的应用管理。
在一种可能的实现方式中,所述从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,包括:在所述终端设备与所述MQTT代理服务器之间启动通信连接的情况下,从所述MQTT代理服务器的第一消息主题中,获取所述配置信息。能够在网络不稳定的情况下,支持终端设备有效地从MQT代理服务器中获取最新的配置信息。
在一种可能的实现方式中,在根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作后,所述方法还包括:确定所述配置操作的执行结果;将所述执行结果发布至所述MQTT代理服务器的第二消息主题中,以使所述云端服务器从所述第二消息主题中获取并记录所述执行结果。通过该方式,能够将配置操作的执行结果,有效地同步至云端服务器,从而便于用户查询配置终端设备的应用状态,配置操作的执行状态等信息。
根据本公开的一方面,提供了一种应用管理方法,应用于云端服务器,包括:响应于针对终端设备的目标应用的配置操作,确定所述终端设备对应的配置信息,所述配置信息包括所述目标应用的标识、版本号、部署方式以及安装包下载路径;将所述配置信息发布至MQTT代理服务器的第一消息主题中,以使所述终端设备从所述第一消息主题中获取所述配置信息,基于所述配置信息确定出待配置应用,并执行针对待配置应用的配置操作。通过该方式,可使大量终端设备基于同步的配置信息有效地实现应用管理,如部署应用、更新应用以及卸载应用,而不会对云端服务器带来较大的访问压力,有利于提高云端服务器的处理效率,可扩展性高。
在一种可能的实现方式中,响应于针对终端设备的目标应用的配置操作,确定所述终端设备对应的配置信息,包括:响应于针对终端设备的目标应用的配置操作,确定所述终端设备的目标应用的标识、版本号以及部署方式;根据所述目标应用的标识及版本号,从存储服务器中获取所述目标应用的安装包下载路径。通过该方式,能够有效地确定出终端设备的配置信息,从而便于终端设备基于配置信息确定出待配置应用,并执行针对待配置应用的配置操作。
在一种可能的实现方式中,所述将所述配置信息发布至MQTT代理服务器的第一消息主题中,包括:根据所述终端设备的设备标签,从设备管理服务器中获取与所述终端设备对应的第一消息主题;根据预设的信息发布时刻,将所述配置信息发布至所述MQTT代理服务器的第一消息主题中。通过该方式,能够满足用户对大量不同终端设备的应用管理,并且能够满足用户针对配置信息的发布需求。
在一种可能的实现方式中,所述方法还包括:按照预设的时间周期,从所述MQTT代理服务器的第二消息主题中,获取并记录所述终端设备发布的执行结果,所述执行结果包括执行针对待配置应用的配置操作的结果。通过该方式,能够即时获取并记录终端设备发布的执行结果,从而便于用户查看配置操作的执行结果。
根据本公开的一方面,提供了一种应用管理装置,应用于终端设备,包括:获取模块,用于从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,所述配置信息是由云端服务器发布的、针对所述终端设备的目标应用的信息,所述配置信息包括所述目标应用的标识及版本号;确定模块,用于根据所述目标应用的标识及版本号,以及所述终端设备中已部署应用的标识及版本号,确定待配置应用及所述待配置应用的配置类别,所述配置类别包括应用部署、应用卸载及应用更新;执行模块,用于根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作。
在一种可能的实现方式中,所述配置信息还包括所述目标应用的部署方式以及所述目标应用的安装包下载路径,在所述配置类别为应用部署或应用更新的情况下,所述执行模块,包括:下载路径确定子模块,用于根据所述配置信息,确定所述待配置应用的部署方式及安装包下载路径;安装包获取子模块,用于根据所述待配置应用的安装包下载路径或所述待配置应用的标识及版本号,获取所述待配置应用的安装包;运行子模块,用于根据所述待配置应用的部署方式,运行所述待配置应用的安装包,以将所述待配置应用部署在所述终端设备上或更新所述终端设备上的所述待配置应用。
在一种可能的实现方式中,根据所述待配置应用的安装包下载路径或所述待配置应用的标识及版本号,获取所述待配置应用的安装包,包括:根据所述待配置应用的安装包下载路径,从存储服务器中下载所述待配置应用的安装包;或,根据所述待配置应用的标识及版本号,从缓存设备中获取所述待配置应用的安装包,所述缓存设备中存储有所述存储服务器预下传的安装包。
在一种可能的实现方式中,所述根据所述待配置应用的部署方式,运行所述待配置应用的安装包,包括:根据所述待配置应用的部署方式,分配运行所述待配置应用的安装包所需的资源,所述部署方式包括虚拟机部署和/或容器部署,所述资源包括所述终端设备的计算资源、网络资源以及存储资源;在已分配所述资源的情况下,运行所述待配置应用的安装包。
在一种可能的实现方式中,在所述配置类别为应用卸载的情况下,所述执行模块,包括:卸载子模块,用于根据所述待配置应用的标识,卸载所述终端设备上的所述待配置应用。
在一种可能的实现方式中,所述从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,包括:在所述终端设备与所述MQTT代理服务器之间启动通信连接的情况下,从所述MQTT代理服务器的第一消息主题中,获取所述配置信息。
在一种可能的实现方式中,在根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作后,所述装置还包括:结果确定模块,用于确定所述配置操作的执行结果;结果发布模块,用于将所述执行结果发布至所述MQTT代理服务器的第二消息主题中,以使所述云端服务器从所述第二消息主题中获取并记录所述执行结果。
根据本公开的一方面,提供了一种应用管理装置,应用于云端服务器,包括:处理模块,响应于针对终端设备的目标应用的配置操作,确定所述终端设备对应的配置信息,所述配置信息包括所述目标应用的标识、版本号、部署方式以及安装包下载路径;发布模块,将所述配置信息发布至MQTT代理服务器的第一消息主题中,以使所述终端设备从所述第一消息主题中获取所述配置信息,基于所述配置信息确定出待配置应用,并执行针对待配置应用的配置操作。
在一种可能的实现方式中,处理模块,包括:配置子模块,用于响应于针对终端设备的目标应用的配置操作,确定所述终端设备的目标应用的标识、版本号以及部署方式;路径获取子模块,用于根据所述目标应用的标识及版本号,从存储服务器中获取所述目标应用的安装包下载路径。
在一种可能的实现方式中,所述发布模块,包括:主题获取子模块,用于根据所述终端设备的设备标签,从设备管理服务器中获取与所述终端设备对应的第一消息主题;发布子模块,用于根据预设的信息发布时刻,将所述配置信息发布至所述MQTT代理服务器的第一消息主题中。
在一种可能的实现方式中,所述装置还包括:结果获取模块,用于按照预设的时间周期,从所述MQTT代理服务器的第二消息主题中,获取并记录所述终端设备发布的执行结果,所述执行结果包括执行针对待配置应用的配置操作的结果。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,能够在网络不稳定的情况下,基于MQTT高效地实现发布/订阅模式下配置信息同步的一致性,并基于同步的配置信息有效地实现对大量终端设备的应用管理,如部署应用、更新应用以及卸载应用,而不会对云端服务器带来较大的访问压力,有利于提高云端服务器的处理效率,可扩展性高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的应用管理系统的示意图。
图2示出根据本公开实施例的应用管理方法的流程图。
图3示出根据本公开实施例的应用管理方法的流程图。
图4示出根据本公开实施例的离线应用部署系统的示意图。
图5示出根据本公开实施例的在线应用部署系统的示意图。
图6示出根据本公开实施例的云侧应用管理系统的示意图。
图7示出根据本公开实施例的应用管理装置的框图。
图8示出根据本公开实施例的应用管理装置的框图。
图9示出根据本公开实施例的一种电子设备的框图。
图10示出根据本公开实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”及“第三”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
随着物联网技术的发展,以及边端设备(如智能摄像头)的计算、存储能力不断提升,越来越多的处理任务(比如人脸识别)从发送到云端服务器执行,转移到具有计算存储能力的边端设备上执行,从而降低请求回复的延迟,提高任务处理效率,这就要实现对边端设备上的应用进行应用管理,如部署应用、更新应用及卸载应用等。而相关技术中通过HTTP请求指示终端设备进行应用管理的方式,在网络不稳定的情况下,无法保证信息同步的一致性,容易使云端服务器访问负载过高,处理效率降低,可扩展性不高。
图1示出根据本公开实施例的应用管理系统的示意图,如图1所示,该应用管理系统包括云端服务器,MQTT代理服务器以及多个终端设备。其中,云端服务器将针对终端设备的配置信息发布至MQTT代理服务的第一消息主题中,利用MQTT协议中的消息保留机制保留第一消息主题中的配置信息,配置信息可是用户在云端服务器中预先配置的针对终端设备的目标应用的信息,可反映用户针对终端设备的应用管理需求;各终端设备可在设备启动时,从MQTT代理服务器的第一消息主题中获取配置信息,进而基于获取的配置信息确定出待配置应用,并执行针对待配置应用的配置操作。应理解的是,云端服务器,MQTT代理服务器以及多个终端设备之间可通过网络连接。
根据本公开的实施例,通过基于配置信息确定出待配置应用,并执行针对待配置应用的配置操作,云端服务器相当于告知终端设备一种目标状态,该目标状态也即声明式状态,可理解为,声明终端设备所要实现的目标,而非向终端设备发出命令,这样可使终端设备为达到该目标状态执行配置操作,从而缓解了云端服务器的运算处理压力,便于实现针对大量终端设备的应用管理;以及通过MQTT代理服务器进行配置信息的同步,可有利于减少大量终端设备对云端服务器带来的访问压力,适应于网络不稳定场景中的应用管理,可扩展性高,处理效率高。
图2示出根据本公开实施例的应用管理方法的流程图,如图2所示,所述应用管理方法,应用于终端设备,所述方法包括:
在步骤S11中,从消息队列遥测传输MQTT(Message Queuing TelemetryTransport)代理服务器的第一消息主题中,获取配置信息,配置信息是由云端服务器发布的、针对终端设备的目标应用的信息,配置信息包括目标应用的标识及版本号;
在步骤S12中,根据目标应用的标识及版本号,以及终端设备中已部署应用的标识及版本号,确定待配置应用及待配置应用的配置类别,配置类别包括应用部署、应用卸载及应用更新;
在步骤S13中,根据待配置应用的配置类别,执行针对待配置应用的配置操作。
在一种可能的实现方式中,所述应用管理方法可以由终端设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备、智能摄像头,物联网场景下的边端设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
在一种可能的实现方式中,终端设备与云端服务器之间可通过MQTT协议建立通信连接。应理解的是,终端设备可包括多个,各终端设备在MQTT代理服务器(MQTT broker)可分别对应不同的消息主题,这样云端服务器可将配置信息发布至各消息主题中,进而便于各终端设备从对应的消息主题中获取配置信息。通过该方式,可便于云端服务器对大量终端设备实现应用管理,有利于减少大量终端设备对云端服务器的访问压力,提高云端服务器的处理速度。
可知晓的是,MQTT协议是一种基于消息发布/订阅模式的消息传输协议。消息发布/订阅模式,可以理解为,消息发布者向特定的消息主题发布消息,多个消息订阅者在订阅该消息主题后,可以获取消息队列主题中的消息。基于此,第一消息主题与终端设备对应,也即第一消息主题是终端设备在MQTT代理服务器中订阅的消息主题,第一消息主题中的配置信息也即为该第一消息主题中的消息。
应理解的是,发布/订阅模式的消息传输协议,相较于,请求-响应模式的HTTP传输协议,由于是异步的数据传输,可以不依赖网络连接情况,能够在网络状况较差、网络连接不稳定等情况下,实现高效一致的配置信息同步,从而满足物联网场景下的信息同步的一致性需求。基于此,在本公开实施例中,通过采用MQTT代理服务器实现终端设备与云端设备之间的基于发布/订阅模式下的信息传输,从而能够保证在网络状况较差、网络连接不稳定等情况下,将配置信息高效地同步至终端设备。
在一种可能的实现方式中,在步骤S11中,针对终端设备的目标应用,可理解为,针对终端设备预先配置的、期望处于目标状态下的应用。其中,目标状态,可理解为,用户期望终端设备上应用所达到的状态,如,已部署的应用更新到指定版本,部署指定版本的新应用等。换句话说,针对终端设备的目标应用,可反映用户对终端设备上应用的管理需求。
在一种可能的实现方式中,配置信息可是预先配置的用于指示终端设备进行部署应用、卸载应用及更新应用等操作的声明式配置信息。声明式配置信息,相当于给出应用的目标状态,进而由终端设备基于目标状态执行对应的处理,相较于命令式配置信息,可将处理逻辑放在终端设备实现,减轻了云端服务器的处理压力,同时可使用户便捷地配置出针对终端设备的配置信息。应理解的是,配置信息可在云端服务器进行配置,并发布至MQTT代理服务器的第一消息主题中。
在一种可能的实现方式中,终端设备上的已部署应用,可指终端设备上当前已部署的应用程序。待配置应用可包括待部署应用、待更新应用及待卸载应用中的至少一种,分别对应的配置类别可为应用部署、应用更新及应用卸载。
其中,待更新应用可理解为已部署应用中要更新版本的应用,更新版本可是版本升级,也可是版本降级,对此本公开实施例不作限制;待部署应用可理解为终端设备中要部署的新应用,新应用也即为当前未在终端设备上部署的应用程序;待卸载应用可理解为已部署应用中要卸载的应用。
在一种可能的实现方式中,在步骤S12中,根据配置信息中目标应用的标识及版本号与已部署应用的标识及版本号,确定待配置应用及待配置应用的配置类别,可包括:比较目标应用与已部署应用的标识,从目标应用中确定出待部署应用,以及从已部署应用中确定出待卸载应用;比较目标应用与已部署应用的版本号,从已部署应用中确定出待更新应用。其中,确定出的待部署应用、待更新应用及待卸载应用,也即确定出的待配置应用以及待配置应用的配置类别。
举例来说,假设配置信息中包括目标应用为{A-01,B-02,C-01},终端设备中的已部署应用为{B-01,C-01,D-01},其中,A、B、C、D指示标识,01、02指示版本号;那么比较目标应用与已部署应用之间的标识及版本号,可确定出待配置应用为A-01、B-01及D-01,分别对应的配置类别为应用部署、应用更新及应用卸载。
在一种可能的实现方式中,在步骤S13中,根据待配置应用的配置类别,执行针对待配置应用的配置操作,可包括:在配置类别为应用部署的情况下,在终端设备上执行部署该待配置应用的操作;在配置类别为应用卸载的情况下,在终端设备上执行卸载该待配置应用的操作;在配置类别为应用更新的情况下,在终端设备上执行更新该待配置应用的操作。
应理解的是,配置操作包括针对待配置应用的部署、更新以及卸载中的至少一种操作。其中,可采用本领域已知的技术,实现针对待配置应用的部署、更新以及卸载的操作,对此本公开实施例不作限制。
在本公开实施例中,能够在网络不稳定的情况下,基于MQTT高效地实现发布/订阅模式下的配置信息同步的一致性,并基于同步的配置信息有效地实现对大量终端设备的应用管理,如部署应用、更新应用以及卸载应用,而不会对云端服务器带来较大的访问压力,有利于提高云端服务器的处理效率,可扩展性高。
需要说明的是,本公开的实施例中的应用,可指应用程序(Application)。应理解的是,应用程序可泛指能安装在终端设备上的软件、插件等程序。对于应用程序所实现的功能,可依据实际需求设定,例如可是用于进行人脸识别的应用程序,对此本公开实施例不作限制。
考虑到,执行待配置应用的部署、更新等操作时,可知晓部署方式以及获得对应的安装包。在一种可能的实现方式中,配置信息还包括目标应用的部署方式以及目标应用的安装包下载路径,在配置类别为应用部署或应用更新的情况下,在步骤S13中,根据待配置应用的配置类别,执行针对待配置应用的配置操作,包括:
根据配置信息,确定待配置应用的部署方式及安装包下载路径;
根据待配置应用的安装包下载路径或待配置应用的标识及版本号,获取待配置应用的安装包;
根据待配置应用的部署方式,运行待配置应用的安装包,以将待配置应用部署在终端设备上或更新终端设备上的待配置应用。
在一种可能的实现方式中,部署方式可包括虚拟机部署和/或容器部署。部署方式可指示终端设备分配实现部署或更新应用程序的所需资源。应理解的是,不同的部署方式所需的资源不同,例如,容器部署所需的资源可包括:容器镜像地址、磁盘类型、磁盘大小等;虚拟机部署所需的资源可包括:虚拟机镜像地址、磁盘类型、磁盘大小等。其中,虚拟机部署和容器部署均是已知的部署方式,对于不同部署方式下应用程序的部署过程,本公开实施例不作限制。
如上所述,配置信息可是声明式配置信息,相当于给出应用的目标状态,进而由终端设备基于目标状态执行对应的处理,相较于命令式配置信息,可将处理逻辑放在终端设备实现,减轻了云端服务器的处理压力,同时可使用户便捷地配置出针对终端设备的配置信息。
在本公开实施例中,能够将待配置应用的部署、更新等处理逻辑,放在终端设备上执行,从而可以高效实现待配置应用的部署、更新,缓解了云端服务器的处理压力。
在一种可能的实现方式中,根据待配置应用的安装包下载路径或待配置应用的标识及版本号,获取待配置应用的安装包,可包括:
根据待配置应用的安装包下载路径,从存储服务器中下载待配置应用的安装包;或,根据待配置应用的标识及版本号,从缓存设备中获取待配置应用的安装包,缓存设备中存储有存储服务器预下传的安装包。
其中,安装包下载路径,例如可通过统一资源定位(Uniform Resource Locator,URL)链接表示,可用于从存储服务器中下载待配置应用的安装包。其中,存储服务器中可存储有应用程序的安装包,安装包下载路径可指示安装包在存储服务器中的存储路径。根据待配置应用的安装包下载路径,从存储服务器中下载待配置应用的安装包,可实现高效地在线下载安装包,便于在线部署或在线更新应用程序。
应理解的是,终端设备与缓存设备之间可通过有线连接,也可无线连接,对此本公开实施例不作限制。其中,缓存设备中可存储有从存储服务器预下传的安装包,缓存设备可设置在与终端设备距离较近的位置。如上所述,终端设备可包括多个,多个终端设备,可从该缓存设备中获取待配置应用的安装包。通过该方式,能够实现离线下载安装包,并可减轻大量终端设备对存储服务器的访问压力。
如上所述,存储服务器中存储有应用程序的安装包,存储服务器可向指定的缓存设备中预下传安装包。应理解的是,下传至缓存设备的安装包,可是存储服务器中存储的部分或全部安装包;可在存储服务器中有新增的安装包时,触发将新增的安装包下传给缓存设备,也可定期将新增的安装包下传给缓存设备。当然,缓存设备也可主动向存储服务器中发送请求,以获取应用程序的安装包,对此本公开实施例不作限制。
根据本公开实施例,可实现支持在线或离线的方式获取待配置应用的安装包,从而有效实现待配置应用的部署和/或更新。
在一种可能的实现方式中,根据待配置应用的部署方式,运行待配置应用的安装包,可包括:
根据待配置应用的部署方式,指示终端设备分配运行待配置应用的安装包所需的资源;在已分配资源的情况下,运行待配置应用的安装包。通过该方式,能够实现根据不同的部署方式,有效地运行待配置应用的安装包。
其中,资源包括终端设备的计算资源、网络资源以及存储资源。应理解的是,在向终端设备指示部署方式后,终端设备可实现自动分配资源,对于终端设备的资源分配过程,本公开实施例不作限制。
考虑到,安装包通常是压缩后的可执行文件,在一种可能的实现方式中,在运行待配置应用的安装包前,可对安装包进行解压,进而运行解压后的安装包。
应理解的是,在配置类别为应用部署的情况下,运行待配置应用的安装包,能够实现将待配置应用部署在终端设备上;在配置类别为应用更新的情况下,运行待配置应用的安装包,能够实现更新终端设备上的待配置应用。
在一种可能的实现方式中,在运行待配置应用的安装包,将待部署应用部署在终端设备上或更新终端设备上的待部署应用后,还可删除该待配置应用的安装包,从而节省终端设备的存储资源。
在本公开实施例中,能够针对配置类别为应用部署或应用更新的待配置应用,有效实现待配置应用的部署操作、更新操作,有利于实现对大量终端设备的应用管理。
如上所述,配置类别可包括应用卸载。在一种可能的实现方式中,在配置类别为应用卸载的情况下,在步骤S13中,根据待配置应用的配置类别,执行针对待配置应用的配置操作,包括:
根据待配置应用的标识,卸载终端设备上的待配置应用。通过该方式,能够针对配置类别为应用卸载的待配置应用,有效实现待配置应用的卸载操作,有利于实现对大量终端设备的应用管理。
如上文所述,可通过比较目标应用与已部署应用的标识,从已部署应用中确定出待卸载应用,进而可根据待配置应用的标识,执行卸载终端设备上的待配置应用的操作。
应理解的是,可采用已知的应用卸载技术,实现卸载终端设备上的待配置应用,对此本公开实施例不作限制。
在一种可能的实现方式中,在步骤S11中,从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,包括:
在终端设备与MQTT代理服务器之间启动通信连接的情况下,从MQTT代理服务器的第一消息主题中,获取配置信息。通过该方式,可便于终端设备获取最新的配置信息。
其中,终端设备与MQTT代理服务器之间启动通信连接,可理解为,启动终端设备并与MQTT代理服务器进行通信连接。其中,启动终端设备,可是首次启动,也可是重新启动,对此本公开实施例不作限制。
如上所述,终端设备与第一消息主题对应,或者说,终端设备与在MQTT代理服务器上订阅的第一消息主题对应。这样在终端设备启动时,可从对应的第一消息主题中获取配置信息。
在一种可能的实现方式中,在终端设备在启动后,还可监听MQTT代理服务器的第一消息主题中的配置信息是否更新,来获取配置信息,例如,可在监听到第一消息主题中的配置信息发生更新的情况下,从第一消息主题中获取更新的配置信息;还可定时从第一消息主题中获取配置信息等。对于从第一消息主题中获取配置信息的方式,可依据实际需求设定,对此本公开实施例不作限制。
在一种可能的实现方式中,在终端设备启动,并获取到配置信息后,还可执行对终端设备的健康检查,例如,检查终端设备的部件是否存在故障,终端设备的已部署应用是否存在故障等,并在检查出存在故障的情况下,将故障信息(如部件的标识、应用的标识)通过MQTT协议发送至云端服务器,以便于用户对终端设备进行维护。
在本公开实施例中,能够在网络不稳定的情况下,支持终端设备有效地从MQTT代理服务器中获取最新的配置信息。
在一种可能的实现方式中,在根据待配置应用的配置类别,执行针对待配置应用的配置操作后,所述方法还包括:
确定配置操作的执行结果;将执行结果发布至MQTT代理服务器的第二消息主题中,以使云端服务器从所述第二消息主题中获取并记录执行结果。
如上所述,终端设备与云端服务器之间可通过MQTT建立通信连接。云端服务器也可在MQTT代理服务器中订阅第二消息主题,这样终端设备可将配置操作的执行结果发布至第二消息主题中,从而实现同步配置操作的执行结果。
其中,配置操作的执行结果,可包括执行配置操作过程中的结果,例如可包括安装包下载是否成功,安装包的下载进度,待配置应用的部署是否成功,待配置应用的更新是否成功,待配置应用的卸载是否成功等。对于执行结果包含的内容,可根据实际需求设定,对此本公开实施例不作限制。
在一种可能的实现方式中,终端设备可将执行结果发布到云端服务器在MQTT代理服务器订阅的第二消息主题上,并设置为保留消息,也即可利用MQTT协议的消息保留机制,在第二消息主题中保留发布的执行结果。其中,在云端服务器从第二消息主题中获取到执行结果的情况下,可将该云端服务器已获取到的执行结果,从第二消息主题中移除,这样第二消息主题中存储的可是云端服务器未获取到的执行结果,便于实现执行结果的一致性同步。
在本公开实施例中,能够将配置操作的执行结果,有效地同步至云端服务器,从而便于用户查询配置终端设备的应用状态,配置操作的执行状态等信息。
图3示出根据本公开实施例的应用管理方法的流程图,如图3所示,所述应用管理方法,应用于云端服务器,所述方法包括:
在步骤S21中,响应于针对终端设备的目标应用的配置操作,确定终端设备对应的配置信息,配置信息包括目标应用的标识、版本号、部署方式以及安装包下载路径;
在步骤S22中,将配置信息发布至MQTT代理服务器的第一消息主题中,以使终端设备从第一消息主题中获取配置信息,基于配置信息确定出待配置应用,并执行针对待配置应用的配置操作。
在一种可能的实现方式中,云端服务器可为单个服务器,也可为多个服务器组成的服务器集群,对此本公开实施例不作限制。
在一种可能的实现方式中,云端服务器可以提供一系列接口,可便于用户进行针对终端设备的目标应用的配置操作。应理解的是,用户可通过前端界面,实现针对终端设备的目标应用的配置操作;也可以是后台调用云端服务器提供的接口,实现针对终端设备的目标应用的配置操作,对此本公开实施例不作限制。
应理解的是,针对终端设备的目标应用的配置操作,可进行不止一次,可对每次确定出的配置信息添加标识,便于用户管理配置信息。由于配置信息中内容较多,在一种可能的实现方式中,当前的配置操作可针对上次确定出的配置信息进行,也即,可通过调整已确定出的配置信息,得到当前所需的配置信息。通过该方式,可便于用户高效地配置出满足用户需求的配置信息。
如上所述,针对终端设备的目标应用,可理解为,针对终端设备预先配置的、期望处于目标状态下的应用。其中,目标状态,可理解为,用户期望终端设备上应用所达到的状态,如,已部署的应用更新到指定版本,部署指定版本的新应用等。换句话说,目标应用可反映用户对终端设备上应用的管理需求。
如上所述,配置信息可是声明式配置信息,相当于给出应用的目标状态,进而由终端设备基于目标状态执行对应的处理,相较于命令式配置信息,可将处理逻辑放在终端设备实现,减轻了云端服务器的处理压力,同时可使用户便捷地配置出针对终端设备的配置信息。
如上所述,终端设备与MQTT代理服务器订阅的第一消息主题对应。在一种可能的实现方式中,云端服务器可将配置信息发布到终端设备在该MQTT代理服务器订阅的第一消息主题上,并设置为保留消息,也即可利用MQTT协议的消息保留机制,在第一消息主题中保留该发布的配置信息。
应理解的是,当配置信息发布到第一消息主题上,可以对第一消息主题上原有的配置信息进行覆盖更新,这样第一消息主题中的配置信息,为当前最新的配置信息。
可知晓的是,MQTT是一种基于消息发布/订阅模式的消息传输协议。消息发布/订阅模式,可以理解为,消息发布者向特定的消息队列主题发布消息,多个消息订阅者在订阅该消息队列主题后,可以接收到消息队列主题中的消息。基于此,第一消息主题是终端设备在MQTT代理服务器中订阅的消息主题,第一消息主题中的配置信息也即为该第一消息主题中的消息。基于此,在本公开实施例中,通过采用MQTT代理服务器实现终端设备与云端设备之间的基于发布/订阅模式下的信息传输,从而能够保证在网络状况较差、网络连接不稳定等情况下,将配置信息高效地同步至终端设备。
如上所述,终端设备可以包括多个,对应的第一消息主题可包括多个。将配置信息发布至MQTT代理服务器的第一消息主题中,可是将配置信息发布至多个第一消息主题中。通过该方式,订阅第一消息主题的终端设备,均可以接收到云端服务器发布的配置信息,从而能够支持大量的终端设备接入,而不会对云端服务器带来访问压力,可扩展性高。
其中,终端设备从第一消息主题中获取配置信息,基于配置信息确定出待配置应用,并执行针对待配置应用的配置操作,可参照上述本公开实施例中公开的内容,对此本公开实施例不作限制。
在本公开实施例中,能够在网络不稳定的情况下,基于MQTT高效地实现发布/订阅模式下的配置信息同步的一致性,并可使大量终端设备基于同步的配置信息有效地实现应用管理,如部署应用、更新应用以及卸载应用,而不会对云端服务器带来较大的访问压力,有利于提高云端服务器的处理效率,可扩展性高。
在一种可能的实现方式中,在步骤S21中,响应于针对终端设备的目标应用的配置操作,确定终端设备对应的配置信息,包括:
响应于针对终端设备的目标应用的配置操作,确定终端设备的目标应用的标识、版本号以及部署方式;根据目标应用的标识及版本号,从存储服务器中获取目标应用的安装包下载路径。
其中,目标应用的标识及版本号,可根据实际需求设定,对此本公开实施例不作限制。如上所述,部署方式可包括虚拟机部署和/或容器部署。在一种可能的实现方式中,标识、版本号以及部署方式可通过字符串的形式表示。对于标识、版本号以及部署方式的表示形式,本公开实施例不作限制。
如上所述,存储服务器可存储有应用程序的安装包,安装包下载路径可指示安装包在存储服务器中的存储路径,安装包下载路径,例如可通过统一资源定位(UniformResource Locator,URL)链接表示。
在本公开实施例中,能够有效地确定出终端设备的配置信息,从而便于终端设备基于配置信息确定出待配置应用,并执行针对待配置应用的配置操作。
在一种可能的实现方式中,在步骤S22中,将配置信息发布至MQTT代理服务器的第一消息主题中,包括:
根据终端设备的设备标签,从设备管理服务器中获取与终端设备对应的第一消息主题;根据预设的信息发布时刻,将配置信息发布至MQTT代理服务器的第一消息主题中。
其中,设备管理服务器用于存储云端服务器所管理的终端设备的相关信息,例如,终端设备所在的场景区域(如小区,公交线路等),终端设备对应的分组(如某小区内摄像头为同一组),终端设备的对应的缓存设备(如某小区内摄像头对应的缓存设备),终端设备对应的配置信息(如多次配置的配置信息),终端设备对应的消息主题等。通过存储终端设备的相关信息,可便于实现针对大量不同终端设备的应用管理。
应理解的是,用户可从管理的全部终端设备中,选择部分或全部终端设备进行应用管理,也即,可针对选择的部分或全部终端设备下发配置信息,从而实现针对该部分或全部终端设备的应用管理。在一种可能的实现方式中,用户可基于设备标签,设置所要下发配置信息的终端设备,其中,设备标签可指示一个或多个终端设备,还可指示一组或多组终端设备,对此本公开实施例不作限制。
在一种可能的实现方式中,信息发布时刻,可是预先设置的用于触发配置信息发布的时刻,例如,4月1日24点。应理解的是,用户可根据实际需求设定信息发布时刻,对此本公开实施例不作限制。通过该方式,用户可在设定的信息发布时刻,触发配置信息的发布,从而能够满足用户针对配置信息的发布需求。
在本公开实施例中,能够满足用户对大量不同终端设备的应用管理,并且能够满足用户针对配置信息的发布需求。
在一种可能的实现方式中,所述方法还包括:
按照预设的时间周期,从MQTT代理服务器的第二消息主题中,获取并记录终端设备发布的执行结果,执行结果包括执行针对待配置应用的配置操作的结果。
如上文所述,终端设备可将配置操作的执行结果同步至云端服务器,以便于用户实时查看配置操作的执行结果。其中,用户可通过云端服务器提供的接口,实现查看配置操作的执行结果。
如上所述,配置操作的执行结果,可包括执行配置操作过程中的结果,例如可包括安装包下载是否成功,安装包的下载进度,待配置应用的部署是否成功,待配置应用的更新是否成功,待配置应用的卸载是否成功等。对于执行结果包含的内容,可根据实际需求设定,对此本公开实施例不作限制。
在一种可能的实现方式中,预设的时间周期,可根据实际需求设定,例如,可设为每5分钟,触发从第二消息主题中获取执行结果,对此本公开实施例不作限制。应理解的是,也可实时监控第二消息主题中是否有更新的执行结果,来即时获取执行结果,对此本公开实施例不作限制。
在一种可能的实现方式中,可将获取的执行结果通过日志的形式记录下来,可存储至数据库、可读存储介质中,从而便于用户查看执行结果。对于执行结果的记录方式,本公开实施例不作限制。
在本公开实施例中,能够即时获取并记录终端设备发布的执行结果,从而便于用户查看配置操作的执行结果。
图4示出根据本公开实施例的离线应用部署系统的示意图,如图4所示,该离线应用部署系统包括:
缓存设备、管理模块、代理应用模块,资源调配驱动以及数据库,其中,管理模块、代理应用模块,资源调配驱动以及数据库设置在终端设备上,管理模块通过代理应用管理接口调用代理应用模块;终端设备与缓存设备之间可通过有线或无线连接,终端设备的管理模块与缓存设备之间通过代理应用管理接口进行交互。
在一种可能的实现方式中,管理模块,通过代理应用管理接口向存储服务器发出上传安装包至缓存设备的指示,其中,存储服务器中存储有应用程序的安装包;在存储服务器将安装包上传至缓存设备的情况下,缓存设备通过代理应用管理接口向管理模块返回安装包上传结果;该过程可循环进行,以从云端服务器中预先连续获取应用程序的安装包。
在一种可能的实现方式中,管理模块,通过代理应用管理接口向代理应用模块发送应用实例(也即应用程序、待配置应用)部署请求;其中,管理模块可在通过上述本公开实施例的应用管理方法确定出待配置应用的配置类型为应用部署和/或应用更新的情况下,触发通过代理应用管理接口向代理应用模块发送应用实例部署请求。
在一种可能的实现方式中,代理应用模块,在接收到应用实例部署请求的情况下,指示终端设备本地的数据库创建存储任务,从缓存设备中获取安装包至终端设备本地的目标文件夹,并向资源调配驱动发送应用实例的部署指示。
其中,存储任务包括数据库分配用于运行安装包所需的存储资源的任务;从缓存设备中获取安装包,至终端设备本地的目标文件夹,包括:代理应用模块向缓存设备发送获取安装包至目标文件夹的请求,缓存设备返回安装包至终端设备的目标文件夹。
在一种可能的实现方式中,资源调配驱动,在接收到应用实例的部署指示的情况下,调配终端设备的计算资源、网络资源等,解压并运行目标文件夹中安装包,以实现部署应用,并向代理应用模块返回部署结果。
在一种可能的实现方式中,在部署结果指示已完成部署的情况下,指示数据库删除完成的存储任务,也即释放分配的存储资源;数据库向代理应用模块返回资源释放结果。
在一种可能的实现方式中,代理应用模块,在接收到资源释放结果为已释放存储资源的情况下,通过代理应用管理接口向管理模块返回部署结果,部署结果可包括部署应用成功。
应理解的是,本公开实施例的离线应用部署系统,也可用于对终端设备上的待更新应用进行更新。
根据本公开的实施例,能够实现待配置应用的离线部署,由于缓存设备中存储有从云端服务器中预下传的安装包,从而减少大量终端设备给存储服务器带来的访问压力。
图5示出根据本公开实施例的在线应用部署系统的示意图,如图5所示,该在线应用部署系统包括:
管理模块、下载模块、代理应用模块,资源调配驱动以及数据库,其中,管理模块、下载模块、代理应用模块,资源调配驱动以及数据库设置在终端设备上,管理模块通过代理应用管理接口调用代理应用模块。
在一种可能的实现方式中,管理模块,通过代理应用管理接口向代理应用模块发送应用实例部署请求;其中,管理模块可在通过上述本公开实施例的应用管理方法确定出待配置应用的配置类型为应用部署和/或应用更新的情况下,触发通过代理应用管理接口向代理应用模块发送应用实例部署请求。
在一种可能的实现方式中,代理应用模块,在接收到应用实例部署请求的情况下,指示终端设备本地的数据库创建存储任务,指示下载模块从存储服务器中下载安装包至终端设备本地的目标文件夹,并向资源调配驱动发送应用实例的部署指示。
其中,存储任务包括数据库分配用于运行安装包所需的存储资源的任务;从存储服务器中下载安装包,至终端设备本地的目标文件夹,可包括:根据待配置应用的安装包下载路径,从存储服务器中下载安装包至终端设备本地的目标文件夹;应理解的是,待配置应用可不止一个,对应的安装包也不止一个,因此下载安装包的过程可循环进行;
在一种可能的实现方式中,资源调配驱动,在接收到应用实例的部署指示的情况下,调配终端设备的计算资源、网络资源等,解压并运行目标文件夹中安装包,以实现部署应用,并向代理应用模块返回部署结果。
在一种可能的实现方式中,在部署结果指示已完成部署的情况下,指示数据库删除完成的存储任务,也即释放分配的存储资源;数据库,向代理应用模块返回资源释放结果。
在一种可能的实现方式中,代理应用模块,在接收到资源释放结果为已释放存储资源的情况下,通过代理应用管理接口向管理模块返回部署结果。
应理解的是,本公开实施例的在线应用部署系统,也可用于对终端设备上的待更新应用进行更新。
根据本公开的实施例,能够实现待配置应用的在线部署,从而在终端设备周围未设有缓存设备的情况下,也可实现待配置应用的部署。
图6示出根据本公开实施例的云侧应用管理系统的示意图,如图6所示,所述系统包括:
客户端、云端服务器、存储服务器、MQTT代理服务器以及设备管理服务器,其中,云端服务器包括接口服务模块、应用模块、版本模块、安装包模块以及发布管理模块,客户端与云端服务器通过接口服务模块进行交互。
在一种可能的实现方式中,客户端向云端服务器发送针对终端设备的部署请求(也可为更新请求);该部署请求指示接口服务模块,调用版本模块获取应用的版本信息,如应用的标识及版本号。
应理解的是,客户端可指用户(如运维人员、技术人员等)持有的设备上安装的客户端程序,通过客户端调用接口服务模块可便于用户配置针对终端设备的配置信息。当然,用户也可通过远程控制,直接调用接口服务模块,配置针对终端设备的配置信息,对此本公开实施例不作限制。
在一种可能的实现方式中,接口服务模块,调用安装包模块获取安装包列表并生成安装包下载路径;其中,通过安装包模块从存储服务器中获取安装包下载路径;接口服务器模块,调用应用模块创建配置信息;应用模块,通过接口服务器模块向客户端返回配置结果。
在一种可能的实现方式中,应用模块,向发布管理模块指示配置信息发布任务;发布管理模块,在接收到该指示的配置信息发布任务的情况下,从设备管理服务器中存储的终端设备的相关信息中,获取与用户预先设置的设备标识对应的终端设备的相关信息,例如,终端设备对应的第一消息主题。
在一种可能的实现方式中,发布管理模块,根据设置的信息下发时刻,触发从应用模块获取配置信息,并将配置信息发布至MQTT代理服务器的第一消息主题中;发布管理模块,监听MQTT代理服务器的第二消息主题中的执行结果,获取并记录的执行结果,其中,执行结果是终端设备发布至第二消息主题中的针对待配置应用的配置操作的执行结果。
在本公开实施例中,可在云端服务器生成针对终端设备的配置信息,并基于MQTT协议实现配置信息的同步,从而可高效的将声明式的配置信息同步到边侧的终端设备,并可适应网络不稳定、保证信息的一致性、可接入大量终端设备,可扩展性高。
根据本公开的实施例,能够实现基于MQTT协议的配置信息同步并利用声明式的配置信息,实现针对大量终端设备的应用管理。由于MQTT是异步操作,订阅了第一消息主题的终端设备,都能收到发布的配置信息,从而实现支持大量终端设备的接入。MQTT长连接更轻量,更适合弱网(网络不稳定)场景。在弱网场景下,终端设备启动重连时,会获取MQTT里保留的最新消息(配置信息),保证了配置信息同步的一致性。
根据本公开的实施例,云端服务器将声明式的配置信息(类似于定义一个应用配置),通过MQTT下发到边侧的终端设备。边侧的终端设备在接收到配置信息之后,执行应用包下载,解压,部署等操作,从而实现应用管理同步。
根据本公开的实施例,实时性高,每一个应用管理的任务,都能在分钟级甚至于秒级同步到边侧的终端设备。能够在弱网(网络中断、网络带宽变化等)条件,支持应用升级的场景。能够保证同步信息的一致性。可扩展性高,能够支持云端服务器同时与大量(>2000)边侧的终端设备进行配置信息的同步。
根据本公开的实施例,可应用于公交地铁刷脸乘车等场景中,例如针对该场景下人脸识别设备上的应用管理。其中,当需要部署可识别戴口罩人脸的新版本应用时,可使所有人脸识别设备注册到MQTT代理服务器上,云端服务器接收到部署请求时,将配置信息通过MQTT同步分发到所有人脸识别设备上,从而完成新版本应用的更新和/或部署。根据本公开的实施例,可在弱网环境下,保证所有人脸识别设备可以更新到该新版本应用,同时,还可支持海量人脸识别设备的应用部署。
相关技术中,是基于HTTP的状态机同步,分别通过一次HTTP请求才能获取配置信息,并通过云端服务器调用接口API同步命令式的配置信息。根据本公开的实施例,是基于MQTT的信息同步,可利用MQTT的保留消息机制,保证边侧的终端设备上信息同步的一致性,以及同步的是声明式的配置信息,这样可通过下发期望的应用状态配置,从而释放云端服务器的处理压力,以及便于用户配置出针对终端设备的配置信息。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了应用管理装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种应用管理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图7示出根据本公开实施例的应用管理装置的框图,如图7所示,所述装置应用于终端设备,所述装置包括:
获取模块101,用于从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,所述配置信息是由云端服务器发布的、针对所述终端设备的目标应用的信息,所述配置信息包括所述目标应用的标识及版本号;
确定模块102,用于根据所述目标应用的标识及版本号,以及所述终端设备中已部署应用的标识及版本号,确定待配置应用及所述待配置应用的配置类别,所述配置类别包括应用部署、应用卸载及应用更新;
执行模块103,用于根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作。
在一种可能的实现方式中,所述配置信息还包括所述目标应用的部署方式以及所述目标应用的安装包下载路径,在所述配置类别为应用部署或应用更新的情况下,所述执行模块103,包括:下载路径确定子模块,用于根据所述配置信息,确定所述待配置应用的部署方式及安装包下载路径;安装包获取子模块,用于根据所述待配置应用的安装包下载路径或所述待配置应用的标识及版本号,获取所述待配置应用的安装包;运行子模块,用于根据所述待配置应用的部署方式,运行所述待配置应用的安装包,以将所述待配置应用部署在所述终端设备上或更新所述终端设备上的所述待配置应用。
在一种可能的实现方式中,根据所述待配置应用的安装包下载路径或所述待配置应用的标识及版本号,获取所述待配置应用的安装包,包括:根据所述待配置应用的安装包下载路径,从存储服务器中下载所述待配置应用的安装包;或,根据所述待配置应用的标识及版本号,从缓存设备中获取所述待配置应用的安装包,所述缓存设备中存储有所述存储服务器预下传的安装包。
在一种可能的实现方式中,所述根据所述待配置应用的部署方式,运行所述待配置应用的安装包,包括:根据所述待配置应用的部署方式,分配运行所述待配置应用的安装包所需的资源,所述部署方式包括虚拟机部署和/或容器部署,所述资源包括所述终端设备的计算资源、网络资源以及存储资源;在已分配所述资源的情况下,运行所述待配置应用的安装包。
在一种可能的实现方式中,在所述配置类别为应用卸载的情况下,所述执行模块,包括:卸载子模块,用于根据所述待配置应用的标识,卸载所述终端设备上的所述待配置应用。
在一种可能的实现方式中,所述从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,包括:在所述终端设备与所述MQTT代理服务器之间启动通信连接的情况下,从所述MQTT代理服务器的第一消息主题中,获取所述配置信息。
在一种可能的实现方式中,在根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作后,所述装置还包括:结果确定模块,用于确定所述配置操作的执行结果;结果发布模块,用于将所述执行结果发布至所述MQTT代理服务器的第二消息主题中,以使所述云端服务器从所述第二消息主题中获取并记录所述执行结果。
在本公开实施例中,能够在网络不稳定的情况下,基于MQTT高效地实现发布/订阅模式下配置信息同步的一致性,并基于同步的配置信息有效地实现对大量终端设备的应用管理,如部署应用、更新应用以及卸载应用,而不会对云端服务器带来较大的访问压力,有利于提高云端服务器的处理效率,可扩展性高。
图8示出根据本公开实施例的应用管理装置的框图,如图8所示,所述装置应用于云端服务器,所述装置包括:
处理模块201,响应于针对终端设备的目标应用的配置操作,确定所述终端设备对应的配置信息,所述配置信息包括所述目标应用的标识、版本号、部署方式以及安装包下载路径;
发布模块202,将所述配置信息发布至MQTT代理服务器的第一消息主题中,以使所述终端设备从所述第一消息主题中获取所述配置信息,基于所述配置信息确定出待配置应用,并执行针对待配置应用的配置操作。
在一种可能的实现方式中,处理模块201,包括:配置子模块,用于响应于针对终端设备的目标应用的配置操作,确定所述终端设备的目标应用的标识、版本号以及部署方式;路径获取子模块,用于根据所述目标应用的标识及版本号,从存储服务器中获取所述目标应用的安装包下载路径。
在一种可能的实现方式中,所述发布模块202,包括:主题获取子模块,用于根据所述终端设备的设备标签,从设备管理服务器中获取与所述终端设备对应的第一消息主题;发布子模块,用于根据预设的信息发布时刻,将所述配置信息发布至所述MQTT代理服务器的第一消息主题中。
在一种可能的实现方式中,所述装置还包括:结果获取模块,用于按照预设的时间周期,从所述MQTT代理服务器的第二消息主题中,获取并记录所述终端设备发布的执行结果,所述执行结果包括执行针对待配置应用的配置操作的结果。
在本公开实施例中,能够在网络不稳定的情况下,基于MQTT高效地实现发布/订阅模式下配置信息同步的一致性,并基于同步的配置信息有效地实现对大量终端设备的应用管理,如部署应用、更新应用以及卸载应用,而不会对云端服务器带来较大的访问压力,有利于提高云端服务器的处理效率,可扩展性高。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的应用管理方法的指令。
本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的应用管理方法的操作。
电子设备可以被提供为终端、服务器或其它形态的设备。
图9示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
参照图9,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如互补金属氧化物半导体(CMOS)或电荷耦合装置(CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如无线网络(WiFi),第二代移动通信技术(2G)或第三代移动通信技术(3G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图10示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图10,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OSXTM),多用户多进程的计算机操作系统(UnixTM),自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (15)

1.一种应用管理方法,其特征在于,应用于终端设备,包括:
从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,所述配置信息是由云端服务器发布的、针对所述终端设备的目标应用的信息,所述配置信息包括所述目标应用的标识及版本号;
根据所述目标应用的标识及版本号,以及所述终端设备中已部署应用的标识及版本号,确定待配置应用及所述待配置应用的配置类别,所述配置类别包括应用部署、应用卸载及应用更新;
根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作。
2.根据权利要求1所述的方法,其特征在于,所述配置信息还包括所述目标应用的部署方式以及所述目标应用的安装包下载路径,
在所述配置类别为应用部署或应用更新的情况下,所述根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作,包括:
根据所述配置信息,确定所述待配置应用的部署方式及安装包下载路径;
根据所述待配置应用的安装包下载路径或所述待配置应用的标识及版本号,获取所述待配置应用的安装包;
根据所述待配置应用的部署方式,运行所述待配置应用的安装包,以将所述待配置应用部署在所述终端设备上或更新所述终端设备上的所述待配置应用。
3.根据权利要求2所述的方法,其特征在于,根据所述待配置应用的安装包下载路径或所述待配置应用的标识及版本号,获取所述待配置应用的安装包,包括:
根据所述待配置应用的安装包下载路径,从存储服务器中下载所述待配置应用的安装包;或,
根据所述待配置应用的标识及版本号,从缓存设备中获取所述待配置应用的安装包,所述缓存设备中存储有所述存储服务器预下传的安装包。
4.根据权利要求2所述的方法,其特征在于,所述根据所述待配置应用的部署方式,运行所述待配置应用的安装包,包括:
根据所述待配置应用的部署方式,分配运行所述待配置应用的安装包所需的资源,所述部署方式包括虚拟机部署和/或容器部署,所述资源包括所述终端设备的计算资源、网络资源以及存储资源;
在已分配所述资源的情况下,运行所述待配置应用的安装包。
5.根据权利要求1所述的方法,其特征在于,在所述配置类别为应用卸载的情况下,所述根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作,包括:
根据所述待配置应用的标识,卸载所述终端设备上的所述待配置应用。
6.根据权利要求1所述的方法,其特征在于,所述从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,包括:
在所述终端设备与所述MQTT代理服务器之间启动通信连接的情况下,从所述MQTT代理服务器的第一消息主题中,获取所述配置信息。
7.根据权利要求1所述的方法,其特征在于,在根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作后,所述方法还包括:
确定所述配置操作的执行结果;
将所述执行结果发布至所述MQTT代理服务器的第二消息主题中,以使所述云端服务器从所述第二消息主题中获取并记录所述执行结果。
8.一种应用管理方法,其特征在于,应用于云端服务器,包括:
响应于针对终端设备的目标应用的配置操作,确定所述终端设备对应的配置信息,所述配置信息包括所述目标应用的标识、版本号、部署方式以及安装包下载路径;
将所述配置信息发布至MQTT代理服务器的第一消息主题中,以使所述终端设备从所述第一消息主题中获取所述配置信息,基于所述配置信息确定出待配置应用,并执行针对待配置应用的配置操作。
9.根据权利要求8所述的方法,其特征在于,响应于针对终端设备的目标应用的配置操作,确定所述终端设备对应的配置信息,包括:
响应于针对终端设备的目标应用的配置操作,确定所述终端设备的目标应用的标识、版本号以及部署方式;
根据所述目标应用的标识及版本号,从存储服务器中获取所述目标应用的安装包下载路径。
10.根据权利要求8所述的方法,其特征在于,所述将所述配置信息发布至MQTT代理服务器的第一消息主题中,包括:
根据所述终端设备的设备标签,从设备管理服务器中获取与所述终端设备对应的第一消息主题;
根据预设的信息发布时刻,将所述配置信息发布至所述MQTT代理服务器的第一消息主题中。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
按照预设的时间周期,从所述MQTT代理服务器的第二消息主题中,获取并记录所述终端设备发布的执行结果,所述执行结果包括执行针对待配置应用的配置操作的结果。
12.一种应用管理装置,其特征在于,应用于终端设备,包括:
获取模块,用于从消息队列遥测传输MQTT代理服务器的第一消息主题中,获取配置信息,所述配置信息是由云端服务器发布的、针对所述终端设备的目标应用的信息,所述配置信息包括所述目标应用的标识及版本号;
确定模块,用于根据所述目标应用的标识及版本号,以及所述终端设备中已部署应用的标识及版本号,确定待配置应用及所述待配置应用的配置类别,所述配置类别包括应用部署、应用卸载及应用更新;
执行模块,用于根据所述待配置应用的配置类别,执行针对所述待配置应用的配置操作。
13.一种应用管理装置,其特征在于,应用于云端服务器,包括:
处理模块,响应于针对终端设备的目标应用的配置操作,确定所述终端设备对应的配置信息,所述配置信息包括所述目标应用的标识、版本号、部署方式以及安装包下载路径;
发布模块,将所述配置信息发布至MQTT代理服务器的第一消息主题中,以使所述终端设备从所述第一消息主题中获取所述配置信息,基于所述配置信息确定出待配置应用,并执行针对待配置应用的配置操作。
14.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至11中任意一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至11中任意一项所述的方法。
CN202110512399.1A 2021-05-11 2021-05-11 应用管理方法及装置、电子设备和存储介质 Active CN113259161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110512399.1A CN113259161B (zh) 2021-05-11 2021-05-11 应用管理方法及装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110512399.1A CN113259161B (zh) 2021-05-11 2021-05-11 应用管理方法及装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113259161A true CN113259161A (zh) 2021-08-13
CN113259161B CN113259161B (zh) 2024-03-19

Family

ID=77222739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110512399.1A Active CN113259161B (zh) 2021-05-11 2021-05-11 应用管理方法及装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113259161B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113872808A (zh) * 2021-09-27 2021-12-31 北京百度网讯科技有限公司 应用处理方法及装置
CN114826979A (zh) * 2022-04-07 2022-07-29 中国联合网络通信集团有限公司 网络链路质量获取方法、装置、系统、设备及存储介质
CN115604114A (zh) * 2022-09-29 2023-01-13 北京亚控科技发展有限公司(Cn) 应用程序的运维方法及计算机可读存储介质
WO2023024435A1 (zh) * 2021-08-25 2023-03-02 上海商汤智能科技有限公司 设备注册方法及装置、电子设备、存储介质和计算机程序产品
CN116405906A (zh) * 2023-01-05 2023-07-07 北京清丰智行科技有限公司 一种车路云一体化的时序数据管理系统及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170346924A1 (en) * 2016-05-31 2017-11-30 Actiontec Electronics, Inc. System and method for providing reliable and efficient data transfer
US20180213378A1 (en) * 2014-07-21 2018-07-26 Convida Wireless, Llc Service layer interworking using mqtt protocol
CN109271779A (zh) * 2018-10-24 2019-01-25 维沃移动通信有限公司 一种安装包检测方法、终端设备及服务器
CN110908683A (zh) * 2019-10-22 2020-03-24 深圳市广和通无线通信软件有限公司 硬件模块的软件系统升级方法、装置、存储介质和终端
CN111026408A (zh) * 2019-10-25 2020-04-17 上海商米科技集团股份有限公司 一种管理应用的方法、装置和计算机存储介质
CN112148326A (zh) * 2020-08-31 2020-12-29 山东省科学院自动化研究所 一种物联网设备固件远程更新方法、装置及系统
CN112256294A (zh) * 2019-07-22 2021-01-22 中科云谷科技有限公司 终端应用的部署方法、云平台、系统及存储介质
CN112333115A (zh) * 2020-08-19 2021-02-05 深圳Tcl新技术有限公司 数据传输方法、终端设备、服务器及存储介质
CN112711635A (zh) * 2020-12-29 2021-04-27 深圳杰睿联科技有限公司 一种分布式物联设备跨区域数据一致性的方法和服务集群

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180213378A1 (en) * 2014-07-21 2018-07-26 Convida Wireless, Llc Service layer interworking using mqtt protocol
US20170346924A1 (en) * 2016-05-31 2017-11-30 Actiontec Electronics, Inc. System and method for providing reliable and efficient data transfer
CN109271779A (zh) * 2018-10-24 2019-01-25 维沃移动通信有限公司 一种安装包检测方法、终端设备及服务器
CN112256294A (zh) * 2019-07-22 2021-01-22 中科云谷科技有限公司 终端应用的部署方法、云平台、系统及存储介质
CN110908683A (zh) * 2019-10-22 2020-03-24 深圳市广和通无线通信软件有限公司 硬件模块的软件系统升级方法、装置、存储介质和终端
CN111026408A (zh) * 2019-10-25 2020-04-17 上海商米科技集团股份有限公司 一种管理应用的方法、装置和计算机存储介质
CN112333115A (zh) * 2020-08-19 2021-02-05 深圳Tcl新技术有限公司 数据传输方法、终端设备、服务器及存储介质
CN112148326A (zh) * 2020-08-31 2020-12-29 山东省科学院自动化研究所 一种物联网设备固件远程更新方法、装置及系统
CN112711635A (zh) * 2020-12-29 2021-04-27 深圳杰睿联科技有限公司 一种分布式物联设备跨区域数据一致性的方法和服务集群

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HSIANG WEN CHEN: "Converging MQTT Resources in ETSI Standards Based M2M Platform", 《2014 IEEE INTERNATIONAL CONFERENCE ON INTERNET OF THINGS (ITHINGS), AND IEEE GREEN COMPUTING AND COMMUNICATIONS (GREENCOM) AND IEEE CYBER, PHYSICAL AND SOCIAL COMPUTING (CPSCOM)》 *
卢阿丽;顾德林;张剑书;霍瑛;: "基于MQTT和ILZ4压缩法的智慧能源云平台", 控制工程, no. 01 *
方霞;: "基于MQTT协议的农业物联网消息推送系统", 计算机技术与发展, no. 09 *
江鹏;冯永强;钟良骥;: "关于物联网云平台的技术探讨与实施", 湖北科技学院学报, no. 1 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023024435A1 (zh) * 2021-08-25 2023-03-02 上海商汤智能科技有限公司 设备注册方法及装置、电子设备、存储介质和计算机程序产品
CN113872808A (zh) * 2021-09-27 2021-12-31 北京百度网讯科技有限公司 应用处理方法及装置
CN113872808B (zh) * 2021-09-27 2023-08-08 北京百度网讯科技有限公司 应用处理方法及装置
CN114826979A (zh) * 2022-04-07 2022-07-29 中国联合网络通信集团有限公司 网络链路质量获取方法、装置、系统、设备及存储介质
CN114826979B (zh) * 2022-04-07 2023-08-15 中国联合网络通信集团有限公司 网络链路质量获取方法、装置、系统、设备及存储介质
CN115604114A (zh) * 2022-09-29 2023-01-13 北京亚控科技发展有限公司(Cn) 应用程序的运维方法及计算机可读存储介质
CN116405906A (zh) * 2023-01-05 2023-07-07 北京清丰智行科技有限公司 一种车路云一体化的时序数据管理系统及方法
CN116405906B (zh) * 2023-01-05 2023-09-08 北京清丰智行科技有限公司 一种车路云一体化的时序数据管理系统及方法

Also Published As

Publication number Publication date
CN113259161B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
CN113259161B (zh) 应用管理方法及装置、电子设备和存储介质
CN110247951B (zh) 一种文件传输控制方法、装置、设备及存储介质
WO2017020521A1 (zh) 航班通知方法、航班设置方法及装置
CN106991018B (zh) 界面换肤的方法及装置
US11184305B2 (en) Method and apparatus for updating group member data, and terminal, system and storage medium
CN108667871B (zh) 基于p2p的传输方法和装置
CN113377465A (zh) 基于服务的sdk调用方法及装置、电子设备和存储介质
CN113177093A (zh) 数据同步方法及装置、电子设备和存储介质
US11196778B2 (en) NBMP workflow management in 5G flus
CN113596175A (zh) 场景同步方法、终端、服务器及系统
CN112925788A (zh) 一种数据集管理方法及系统、装置、电子设备和存储介质
CN113709235A (zh) 设备注册方法及装置、电子设备和存储介质
CN111857763B (zh) 数据处理方法、装置、电子设备及存储介质
CN112839065B (zh) 信息处理方法、装置、第一设备及存储介质
CN110489244B (zh) 信息处理方法、系统、装置和计算机可读存储介质
CN109976872B (zh) 数据处理方法、装置、电子设备及存储介质
CN110865823A (zh) 预装应用控制方法、预装应用控制装置及存储介质
CN112437090B (zh) 资源加载方法及装置、电子设备和存储介质
CN113691526A (zh) 基于WebRTC的推流方法、装置、系统、设备和介质
CN114465997A (zh) 数据同步方法及装置、电子设备和存储介质
CN112181453A (zh) 固件升级方法、装置及存储介质
CN114051024A (zh) 文件后台续传方法、装置、存储介质及电子设备
CN114090303A (zh) 软件模块调度方法、装置、电子设备、存储介质及产品
CN115134231B (zh) 一种通信方法、装置和用于通信的装置
CN113821244B (zh) 离线包更新方法、装置、系统、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant