CN114978902B - 信息处理方法、装置、设备、存储介质及程序产品 - Google Patents

信息处理方法、装置、设备、存储介质及程序产品 Download PDF

Info

Publication number
CN114978902B
CN114978902B CN202210552039.9A CN202210552039A CN114978902B CN 114978902 B CN114978902 B CN 114978902B CN 202210552039 A CN202210552039 A CN 202210552039A CN 114978902 B CN114978902 B CN 114978902B
Authority
CN
China
Prior art keywords
application
information
terminal equipment
updated
version
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.)
Active
Application number
CN202210552039.9A
Other languages
English (en)
Other versions
CN114978902A (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.)
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba China Co Ltd
Alibaba Cloud Computing 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 Alibaba China Co Ltd, Alibaba Cloud Computing Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210552039.9A priority Critical patent/CN114978902B/zh
Publication of CN114978902A publication Critical patent/CN114978902A/zh
Application granted granted Critical
Publication of CN114978902B publication Critical patent/CN114978902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

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

Abstract

本申请实施例提供信息处理方法、装置、设备、存储介质及程序产品,其方法包括:接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,所述反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个;将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用。能够解决现有技术存在局限性的问题,实现可跨产品、跨平台的升级需求,进而节约资源的同时,减少错误率。

Description

信息处理方法、装置、设备、存储介质及程序产品
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种信息处理方法、装置、设备、存储介质及程序产品。
背景技术
在物联网设备中,许多物联网设备的应用都有独立升级需求,因应用受操作系统限制多数都无法跨平台升级,比如,一套方案只简单更换图片资源就形成一个新产品,还有使用python语言开发的应用,如果使用常规系统,这些应用升级就需要一个产品创建一个升级包。
然而,简单更换图片资源就形成一个新产品等这类产品上的应用大多数都是相同的,另外,使用python语言开发的应用,其实跟平台无关;但是这些应用升级就需要一个产品创建一个升级包,一旦产品量级大时,容易出现错误。
因此,现有技术无法实现可跨产品、跨平台的升级需求,具有局限性,并且在浪费资源的同时,容易出现错误。
发明内容
本申请实施例提供一种信息处理方法、装置、设备、存储介质及程序产品,以解决现有技术存在局限性的问题,实现可跨产品、跨平台的升级需求,进而节约资源的同时,减少错误率。
第一方面,本申请实施例提供一种信息处理方法,应用于服务端,所述服务端与多类终端设备通信连接;所述方法包括:
接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,所述反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个;
将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用。
可选的,所述查询请求中包括所述终端设备上包含的所有应用的信息;所述根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息,包括:
针对各类所述终端设备,执行下述步骤:
根据所述终端设备上包含的所有应用的信息中的各个应用版本号,通过数据库查询生成的各个应用对应的待推送的终端设备类型中是否存在所述终端设备的类型;
若存在所述终端设备的类型,则从生成的各个应用的应用版本信息中查询是否含有特殊标识符和/或高于所述终端设备上包含的至少一个应用的应用版本号;其中,所述特殊标识符用于表示优先分发含有所述特殊标识符的应用版本信息;
若含有所述特殊标识符和/或高于所述终端设备上包含的至少一个应用的应用版本号,则确定所述终端设备存在更新信息。
可选的,所述若确定所述终端设备存在所述更新信息,则根据生成的各个应用的应用版本信息,确定反馈信息,包括:
若确定至少一个第一目标应用的应用版本信息中含有所述特殊标识符,则根据所述至少一个第一目标应用的应用版本信息,确定所述至少一个第一目标应用对应的关联信息,其中,所述至少一个第一目标应用为所述待更新的应用;
若确定至少一个第二目标应用的应用版本信息中不含有所述特殊标识符且含有高于所述终端设备上包含的对应的第二目标应用的应用版本号,则从所述至少一个第二目标应用的应用版本信息中获取各个所述第二目标应用对应的最高版本号,并根据所述至少一个第二目标应用的应用版本信息,确定各个所述第二目标应用的最高版本号对应的关联信息;其中,所述至少一个第二目标应用为所述待更新的应用;
将所述关联信息作为所述反馈信息;
其中,所述关联信息包括下述至少一项:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
可选的,所述方法还包括:
接收前端发送的用于表示创建产品的第一信息,所述第一信息包括待推送的终端设备类型;
根据所述第一信息,获取所述待推送的终端设备类型对应的产品信息,并将所述产品信息发送至所述前端,以使所述前端根据所述产品信息,确定待更新的终端设备的数量以及升级方式;
接收所述前端发送的用于表示申请终端设备的第二信息,根据所述第二信息,生成待更新的终端设备对应的三元组,并将所述三元组发送至所述前端,以使所述前端根据所述三元组,创建相应的应用;
接收所述前端发送的用于表示创建相应的应用的第三信息,根据所述第三信息,生成应用信息,并将所述应用信息发送至所述前端,以使所述前端根据所述应用信息,创建应用版本;
接收所述前端发送的用于表示创建应用版本的第四信息,根据所述第四信息,生成所述应用版本信息;其中,所述应用版本信息包括下述至少一项:应用ID、应用名称、待推送的终端设备类型、待更新的终端设备的数量、升级方式、待更新的终端设备对应的三元组、待更新的应用版本号、待更新的应用下载地址、待更新的应用大小以及特殊标识符;所述升级方式包括下述至少一项:升级的指定时间、设备是否需要重启。
可选的,所述方法还包括:
将所述应用版本信息发送至所述前端;
若接收到所述前端发送的发布升级的消息,则将所述应用版本信息存储至数据库。
可选的,所述将所述关联信息发送至所述终端设备,包括:
通过私有协议,将所述关联信息发送至所述终端设备;
其中,所述私有协议中包含所述关联信息。
第二方面,本申请实施例提供一种信息处理方法,应用于终端设备,所述终端设备与所述服务端通信连接;所述方法包括:
向所述服务端发送查询请求,以使所述服务端根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
获取所述服务端发送的反馈信息;
若所述反馈信息包括待更新的应用的关联信息,则根据所述关联信息,更新所述待更新的应用;其中,所述关联信息是由所述服务端确定存在所述更新信息时,根据获取到的各个应用的应用版本信息确定的;所述待更新的应用为至少一个。
可选的,所述获取所述服务端发送的反馈信息,包括:
根据订阅的服务,通过私有协议,获取所述服务端发送的待更新的应用的关联信息;
其中,所述私有协议中包含所述关联信息,所述关联信息包括下述至少一项:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
可选的,所述根据所述关联信息,更新所述待更新的应用,包括:
根据升级的指定时间,通过所述升级包的下载地址,下载升级包;
若下载成功,则对所述升级包的哈希值进行校验;
若所述升级包的哈希值完整,则对升级包的签名进行校验;
若签名正确,则对终端设备类型进行校验;
若类型匹配,则对升级包的应用版本号进行校验;
若版本号匹配成功,则安装新应用,直到升级结束。
第三方面,本申请实施例提供一种信息处理装置,应用于服务端,所述服务端与多类终端设备通信连接;所述装置包括:
第一处理模块,用于接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
第二处理模块,用于针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,所述反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个;
第三处理模块,用于将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用。
第四方面,本申请实施例提供一种信息处理装置,应用于终端设备,所述终端设备与所述服务端通信连接;所述方法包括:
第一处理模块,用于向所述服务端发送查询请求,以使所述服务端根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
第二处理模块,用于获取所述服务端发送的反馈信息;
第三处理模块,用于在所述反馈信息包括待更新的应用的关联信息时,根据所述关联信息,更新所述待更新的应用;其中,所述关联信息是由所述服务端确定存在所述更新信息时,根据获取到的各个应用的应用版本信息确定的;所述待更新的应用为至少一个。
第五方面,本申请实施例提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面以及第二方面任一项所述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面以及第二方面任一项所述的方法。
第七方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如第一方面以及第二方面任一项所述的方法。
本申请实施例提供的信息处理方法、装置、设备、存储介质及程序产品,该方法中,服务端可以接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,这里的反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个;然后将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用。当各类终端设备发出查询请求时,针对每类终端设备均可以实现:服务端只需判断是否存在该类终端设备的升级需求即可,如果该类终端设备存在更新信息,服务端将通过生成的应用版本信息为该类终端设备匹配能够更新的内容,无需重复创建更新的内容,将对应的关联信息下发至相应的终端设备,节约了资源,同时能够减少出现的错误,能够使得终端设备上的应用包可跨产品、跨平台升级。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的信息处理方法的场景示意图;
图2为本申请实施例提供的信息处理系统的框架示意图;
图3为本申请实施例提供的信息处理方法的数据流转示意图;
图4为本申请实施例提供的信息处理方法的流程示意图;
图5为本申请另一实施例提供的信息处理方法的数据流转示意图;
图6为本申请实施例提供的应用分发的示意图;
图7为本申请再一实施例提供的信息处理方法的流程示意图;
图8为本申请实施例提供的应用升级的流程示意图;
图9为本申请实施例提供的应用升级过程中的状态流转示意图;
图10为本申请实施例提供的信息处理装置的结构示意图;
图11为本申请再一实施例提供的信息处理装置的结构示意图;
图12为本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例还能够包括除了图示或描述的那些实例以外的其他顺序实例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前,有的方案只简单更换图片资源就形成一个新产品,这类产品上的应用其实都是相同的,还有使用python开发的应用,它们与平台无关,但是如果使用常规系统,这些应用升级就需要一个产品创建一个升级包,一旦产品量级大时,容易出现错误,同时耗费OSS(即云对象存储(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性,多种存储类型供选择,全面优化存储成本)资源更多,升级包过多,操作复杂,不易管理,而且无法查看全部终端设备的总体升级进度。因此,现有技术浪费资源、容易出现错误,无法实现可跨产品、跨平台的升级需求,具有局限性。
为了解决上述问题,本申请的发明构思为:服务端在创建应用升级包时选择推送给哪些类型的终端设备,这样终端设备来请求时访问的其实都是同一个链接,就可以做到一个应用升级包链接推送给N个类型的终端设备的目的,使得终端设备上的应用可以跨产品、跨平台升级,解决了局限性问题;同时,这样存储空间就有N份减少至1份,节约了资源,并且操作人员只用关注一个升级任务即可,不用维护N的任务,减少了错误率。
图1为本申请实施例提供的信息处理方法的场景示意图。服务端即为云端,比如应用分发平台;终端设备可以是物联网(Internet of Things,IoT)设备,比如点读笔、智能手表、故事机等。不同类型的物联网设备可能对应不同的应用分发平台,但是不同类型的物联网设备上的应用可能相同(比如点读笔、智能手表、故事机上均有闹钟这个应用),或者,不同的应用可能使用相同的配置信息(比如智能手表上播报时间的配置和故事机上播报天气的配置存在相同的信息),为了实现一个升级包可以跨平台、跨应用,服务端在创建应用分发任务时,选择要推送的目标产品(即多种类型的终端设备或多类终端设备)(可多选且不限制设备端的芯片和系统),并根据需求设置要升级设备的数量和方式(可选指定时间、设备数量、百分比)等。
示例性的,用户通过web端向服务端发布升级消息,服务端将相应的应用版本信息存储至数据库中。IoT设备通过5G\4G\3G\2G\wifi联网成功后,使用消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)或websocket协议同服务端建立长链接,IoT设备同服务端鉴权成功后,通过私有协议发送查询请求给应用分发平台(即服务端),服务端查询数据库后通知该IoT设备(比如发送用于表示有升级),IoT设备根据订阅的服务(比如任务分发或应用升级的监听服务),获取服务端的反馈信息,这里的反馈信息可以是以数组的形式存在,数组中的每个元素对应一个应用的关联信息,可以包括:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值(即升级包的MD5值,这里的MD5(Message-Digest Algorithm),是一种密码散列函数,可以产生出一个128位(16字节)的散列值(hash value即哈希值),用于确保信息传输完整一致)、特殊标识符、升级的指定时间以及设备是否需要重启。IoT设备解析json字符串,根据需要决定升级时机,进而升级相应的应用。
具体地,参见图2所示的信息处理系统的框架示意图,该信息处理系统可以包括前端(包括应用分发用户控制台(即网页控制台)、管理控制台(即应用分发服务的管理平台))、接口层(包括One-Portal(即云端接口配置平台)、IoT PaaS Admin(即管理平台的管理员操作控制台))、业务层(包括应用分发、基础能力;应用分发:应用管理、版本管理、升级管理、状态流转、结果统计、主动推送;基础能力:产品管理、设备管理、物模型、账号管理、账号加密、日志服务、规则管理、权限管理、一型一密、云云协议、端云协议、缓存机制)、云基础设施、设备端。其中,前端与接口层通过HTTPS(Hyper Text Transfer Protocol overSecureSocket Layer)(即是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性)通信,接口层与业务层之间通过分布式RPC服务框架(High-Speed Service Framework,HSF)实现,业务层通过消息队列(Message Queue,MQ)与云基础设施的边缘管理平台(Edge Management Platform,EMP)实现(其中,通过MQ实现的松耦合架构设计可以提高系统可用性以及可扩展性),云基础设施与设备端通过MQTT通信。其中,结合图2,参见图3所示的信息处理方法的数据流转示意图。其中,用户前端即为应用分发用户控制台,小二前端即为管理控制台,二方服务为预定义的服务。
其中,云基础设施中LP为物联网平台的网关(Link Platform);SLS为云日志服务,是云原生观测分析平台,为Log/Metric/Trace等数据提供大规模、低成本、实时平台化服务;CDN为内容分发网络(Content Delivery Network)是建立并覆盖在承载网上,由不同区域的服务器组成的分布式网络,将源站资源缓存到各地的边缘服务器,供用户就近获取,降低源站压力;RDS为云关系型数据库(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务;Redis为云数据库,是一种全托管、兼容Redis协议的内存数据库服务,包含社区版Redis和企业版Tair,支持主从、集群和读写分离架构,具备低延迟、大吞吐、弹性扩缩容的特点;XFlush为监控云服务的平台。
本申请,集前端\后端\IoT设备为一体,让IoT应用开发者实现应用升级,并具备跨产品、跨硬件、跨平台能力。下面以具体实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图4为本申请实施例提供的信息处理方法的流程示意图,本实施例的方法可以由服务端执行,所述服务端可以与多类终端设备通信连接;这里的服务端可以为云端(比如应用分发平台)。如图4所示,本实施例的方法,可以包括:
S401、接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息。
其中,查询请求触发的条件可以是终端设备开机即可触发,或者,终端设备启动某个应用时触发。当终端设备开机触发发送查询请求时,服务端会基于查询请求的所有应用列表来查询终端设备上每个应用是否存在升级信息,并反馈信息,这里反馈信息可以是数组,数组中每个元素对应一个应用的关联信息,如果存在没有更新的应用,则关联信息为空或0,在此不做具体限定,可以对没有更新信息的应用对应的元素进行自定义;当终端设备启动某个应用触发发送查询请求时,服务端会查询该应用是否存在升级信息,并反馈信息,这里的反馈信息和上述开机触发得到的反馈信息都是数组,但该反馈信息中其他元素对应的信息均为存在没有更新的应用对应的信息,比如均为0或空。
服务端可以接收各类终端设备发送的查询请求,然后判断各类终端设备的类型是否与待推送的终端设备类型存在匹配的项,如果存在,说明这个应用的升级包可以推送给该类终端设备,如果升级包对应的版本高于该类终端设备中相应应用的版本号或是有特殊标识符,进而说明该类终端设备存在更新信息。这里的更新信息可以包括升级信息。
S402、针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,所述反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个。
本实施例中,针对每类终端设备,均可以执行以下步骤:如果确定终端设备存在更新信息,然后基于服务端生成的各个应用的应用版本信息,通知终端设备哪些应用可以升级,以及升级哪个版本。
S403、将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用。
可选的,所述将所述关联信息发送至所述终端设备,可以通过以下步骤实现:
通过私有协议,将所述关联信息发送至所述终端设备;
其中,所述私有协议中包含所述关联信息。
本实施例中,服务端通过私有协议与终端设备进行数据传输,终端设备通过私有协议获取通知的反馈信息并解析字符串,得到至少一个待更新的应用的关联信息,比如:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
具体地,当服务端接收到终端设备发送的查询请求时,服务端查询该终端设备的类型是否有升级信息,比如是否有发布新版本;如果有,服务端会根据发布的信息(即应用版本信息)来确定推送给该终端设备的目标应用信息(即待更新的应用的关联信息)。这里的应用版本信息是由服务端基于前端网页创建或生成的,创建的时候可以创建至少一个待更新的应用,且创建至少一条更新内容),当终端设备有对应应用的升级需求时,直接将相应的关联信息下发给该终端设备即可,无需不断地重新创建。
实现了一个应用升级包OSS链接(比如关联信息)推送给N个产品(即N个类型的终端设备)的目的,这样OSS存储空间就有N份减少至1份,操作人员(即用户)只用关注一个升级任务即可,不用维护N的任务。因此,让IoT设备上的应用包可跨产品、跨平台升级。
本申请提供的信息处理方法,服务端可以接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,这里的反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个;然后将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用。当各类终端设备发出查询请求时,针对每类终端设备均可以实现:服务端只需判断是否存在该类终端设备的升级需求即可,如果该类终端设备存在更新信息,服务端将通过生成的应用版本信息为该类终端设备匹配能够更新的内容,无需重复创建更新的内容,将对应的关联信息下发至相应的终端设备,节约了资源,同时能够减少出现的错误,能够使得终端设备上的应用包可跨产品、跨平台升级。
可选的,查询请求中包括所述终端设备上包含的所有应用的信息;所述根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息,可以通过以下步骤实现:
针对各类所述终端设备,执行下述步骤:
步骤a1、根据所述终端设备上包含的所有应用的信息中的各个应用版本号,通过数据库查询生成的各个应用对应的待推送的终端设备类型中是否存在所述终端设备的类型;
步骤a2、若存在所述终端设备的类型,则从生成的各个应用的应用版本信息中查询是否含有特殊标识符和/或高于所述终端设备上包含的至少一个应用的应用版本号;其中,所述特殊标识符用于表示优先分发含有所述特殊标识符的应用版本信息;
步骤a3、若含有所述特殊标识符和/或高于所述终端设备上包含的至少一个应用的应用版本号,则确定所述终端设备存在更新信息。
本实施例中,如果服务端接收到某类终端设备发送的查询请求后,首先针对创建每个应用,来确定创建的该应用的应用版本信息中是否含有该类终端设备的推送配置,如果该类终端设备属于待推送的终端设备类型中的一种,则继续查询是否满足升级需求,比如一个应用存储有多个版本,首先查询是否有标注特殊标识符(这里的特殊标识符可以为里程碑,即milestone)和/或高于终端设备中相应应用对应的当前版本号的应用版本号,如果有,则说明存在更新信息,比如有升级应用的信息。
可选的,所述若确定所述终端设备存在所述更新信息,则根据生成的各个应用的应用版本信息,确定反馈信息,可以通过以下步骤实现:
步骤b1、若确定至少一个第一目标应用的应用版本信息中含有所述特殊标识符,则根据所述至少一个第一目标应用的应用版本信息,确定所述至少一个第一目标应用对应的关联信息,其中,所述至少一个第一目标应用为所述待更新的应用;
步骤b2、若确定至少一个第二目标应用的应用版本信息中不含有所述特殊标识符且含有高于所述终端设备上包含的对应的第二目标应用的应用版本号,则从所述至少一个第二目标应用的应用版本信息中获取各个所述第二目标应用对应的最高版本号,并根据所述至少一个第二目标应用的应用版本信息,确定各个所述第二目标应用的最高版本号对应的关联信息;其中,所述至少一个第二目标应用为所述待更新的应用;
步骤b3、将所述关联信息作为所述反馈信息;
其中,所述关联信息包括下述至少一项:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
本实施例中,首先查询是否有标注特殊标识符(这里的特殊标识符可以为里程碑,即milestone),如果有,则需要将标注有特殊标识符的版本对应的关联信息发给该类终端设备,这里的特殊标识符无论配置在低版本还是高版本中,均优先下发该版本。
如果没有标注特殊标识符,则查找多个版本中最高版本号,并将该最好版本号的版本信息对应的关联信息发送给对应的终端设备。能够为每类终端设备匹配到能够更新的内容,由于是服务端事先创建好的放在了数据库中,因此当各类终端设备请求时,无需重复创建,只需判断是否存在该类终端设备的升级需求,如存在,则将对应的关联信息下发。
可选的,所述信息处理方法,还可以通过以下步骤实现:
步骤c1、接收前端发送的用于表示创建产品的第一信息,所述第一信息包括待推送的终端设备类型;
步骤c2、根据所述第一信息,获取所述待推送的终端设备类型对应的产品信息,并将所述产品信息发送至所述前端,以使所述前端根据所述产品信息,确定待更新的终端设备的数量以及升级方式;
步骤c3、接收所述前端发送的用于表示申请终端设备的第二信息,根据所述第二信息,生成待更新的终端设备对应的三元组,并将所述三元组发送至所述前端,以使所述前端根据所述三元组,创建相应的应用;
步骤c4、接收所述前端发送的用于表示创建相应的应用的第三信息,根据所述第三信息,生成应用信息,并将所述应用信息发送至所述前端,以使所述前端根据所述应用信息,创建应用版本;
步骤c5、接收所述前端发送的用于表示创建应用版本的第四信息,根据所述第四信息,生成所述应用版本信息;其中,所述应用版本信息包括下述至少一项:应用ID、应用名称、待推送的终端设备类型、待更新的终端设备的数量、升级方式、待更新的终端设备对应的三元组、待更新的应用版本号、待更新的应用下载地址、待更新的应用大小以及特殊标识符;所述升级方式包括下述至少一项:升级的指定时间、设备是否需要重启。
可选的,所述信息处理方法还可以通过以下步骤实现:
步骤c6、将所述应用版本信息发送至所述前端;
步骤c7、若接收到所述前端发送的发布升级的消息,则将所述应用版本信息存储至数据库。
本实施例中,结合图5所示的信息处理方法的数据流转示意图。首先web端推送oss给服务端,服务端将存储oss的地址下发给web端。具体地,通过web端创建产品(比如用户在web端输入终端设备的类型,比如点读笔、故事机等)提交给云端后台(即应用分发平台或服务端),服务端获取各类终端设备的产品信息并发送给web端,web端向服务端申请设备(比如设备的数量等),服务端向web端返回三元组(即设备名称、设备秘钥、产品Key三个字符串的统称),web端开始创建应用,服务端生成应用信息,web端创建版本,服务端生成版本信息并反馈给web端,web端向服务端发布升级,服务端完成存储落库即存储该发布升级的应用版本信息。
如果终端设备(即设备端)订阅服务,则可以接收到服务端发送的通知,进而解析并执行升级。具体地,设备端向LP发布事件升级查询(即event_upgrade_query),LP(自定义Topic)转发至云流转(即MQ),MQ将json数据(或字符串)发给服务端并进行解析,服务端对LP进行服务升级推送,LP推送相应的json至设备端,设备端进行解析并执行升级操作,然后发布事件升级结果至LP,由LP将其结果推送给MQ,MQ将json数据发给服务端并进行解析,服务端将解析内容存储在数据库。
具体地,在网页控制台上,用户先创建自己的应用,确定应用ID、名称,上传应用文件,保存在OSS上。当用户创建应用分发任务时选择,要推送的目标产品(可多选且不限制设备端的芯片和系统),并根据需求设置要升级设备的数量和方式(可选指定时间、设备数量、百分比),在应用升级过程中,升级操作者(即用户)可以在任意时间内在网页控制台修改任务状态,为了方便用户操作除正常的发布、取消、上架、下架操作以外,还额外设计了冻结、解冻操作,让用户可全程控制,做到对同一任务随时停止和启动,无需多次创建。其中,升级进度和结果都可以在前端控制台页面查看,可以参见图5所示。
其中,云端首先可以申请云服务器(Elastic Compute Service,ECS)和RDB(即数据库)资源,然后根据上一步前端提交的版本添加到数据库中,云端数据流可以参见图3所示。当IoT设备通过5G\4G\3G\2G\wifi联网成功后,使用MQTT或websocket协议同服务端建立长链接,设备同服务端鉴权成功后,通过私有协议发送请求给应用分发平台,云端查询数据库后通知设备端,设备端根据订阅的服务获取云端反馈信息,终端侧解析json字符串,根据需要决定升级时机,进而执行升级操作。
此外,应用升级包也可以不用在线下载的方式,可以把应用升级包放到类似u盘的设备中,在设备上固定按某些按钮的组合,升级时直接使用类似u盘设备中的升级包。应用升级包,可以是zip格式,但不限于zip格式,也可以是特殊定制的格式,只要使用的系统能够正确识别并读取升级所需数据。
云端在创建应用升级包时选择推送给哪几个产品(这里的产品至终端设备的类型,比如智能手表、故事机、点读笔等),这样设备端通过私有协议来请求时访问的其实都是同一个OSS链接,就可以做到一个应用升级包OSS链接推送给N个产品的目的,这样OSS存储空间就有N份减少至1份,操作者只用关注一个升级任务即可,不用维护N的任务,参见图6所示,比如,应用A升级包可以分分发给产品1、产品2、…、产品100等。
本申请中,集前端\后端\IoT设备为一体,让IoT应用开发者实现应用升级,并具备跨产品、跨硬件、跨平台能力。同时支持设备分组、批量(按个数或百分比)、定时等维度的升级,并为应用升级制定完整的流程,让其具备测试、灰度、预发布、正式发布能力,并在升级过程中,可随时一键冻结\解冻、上架\下架升级任务。因此,能够让IoT设备上的应用包可跨产品、跨平台升级,应用升级维度多样化,一般的升级系统只具备定时、分组、灰度、发布、取消功能,除这些外还可以支持一键冻结\解冻功能,并且让用户可全程把控升级进度。同时,跟设备端侧定制一套私有协议,相对开放协议安全性更好。
参见图7所示,图7为本申请再一实施例提供的信息处理方法的流程示意图,本实施例的方法应用于多类终端设备,各类终端设备均可以与服务端建立长链接,实现通信。如图7所示,本实施例的方法,可以包括:
S701、向所述服务端发送查询请求,以使所述服务端根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息。
本实施例中,查询请求触发的条件可以是终端设备开机即可触发,或者,终端设备启动某个应用时触发。当终端设备开机触发发送查询请求时,服务端会基于查询请求的所有应用列表来查询终端设备上每个应用是否存在升级信息,并反馈信息,这里反馈信息可以是数组,数组中每个元素对应一个应用的关联信息,如果存在没有更新的应用,则关联信息为空或0,在此不做具体限定,可以对没有更新信息的应用对应的元素进行自定义;当终端设备启动某个应用触发发送查询请求时,服务端会查询该应用是否存在升级信息,并反馈信息,这里的反馈信息和上述开机触发得到的反馈信息都是数组,但该反馈信息中其他元素对应的信息均为存在没有更新的应用对应的信息,比如均为0或空。
服务端可以接收各类终端设备发送的查询请求,然后判断各类终端设备的类型是否与待推送的终端设备类型存在匹配的项,如果存在,说明这个应用的升级包可以推送给该类终端设备,如果升级包对应的版本高于该类终端设备中相应应用的版本号或是有特殊标识符,进而说明该类终端设备存在更新信息。这里的更新信息可以包括升级信息。
S702、获取所述服务端发送的反馈信息。
可选的,获取所述服务端发送的反馈信息,可以通过以下步骤实现:
根据订阅的服务,通过私有协议,获取所述服务端发送的待更新的应用的关联信息;
其中,所述私有协议中包含所述关联信息,所述关联信息包括下述至少一项:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
本实施例中,服务端通过私有协议与终端设备进行数据传输,终端设备通过私有协议获取通知的反馈信息并解析字符串,得到至少一个待更新的应用的关联信息,比如:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
S703、若所述反馈信息包括待更新的应用的关联信息,则根据所述关联信息,更新所述待更新的应用;其中,所述关联信息是由所述服务端确定存在所述更新信息时,根据获取到的各个应用的应用版本信息确定的;所述待更新的应用为至少一个。
具体地,当服务端接收到终端设备发送的查询请求时,服务端查询该终端设备的类型是否有升级信息,比如是否有发布新版本;如果有,服务端会根据发布的信息(即应用版本信息)来确定推送给该终端设备的目标应用信息(即待更新的应用的关联信息)。这里的应用版本信息是由服务端基于前端网页创建或生成的,创建的时候可以创建至少一个待更新的应用,且创建至少一条更新内容),当终端设备有对应应用的升级需求时,直接将相应的关联信息下发给该终端设备,终端设备获取关联信息,无需不断地重新创建。
实现了一个应用升级包OSS链接(比如关联信息)推送给N个产品(即N个类型的终端设备)的目的,这样OSS存储空间就有N份减少至1份,操作者只用关注一个升级任务即可,不用维护N的任务。因此,让IoT设备上的应用包可跨产品、跨平台升级。
本申请提供的信息处理方法,向所述服务端发送查询请求,以使所述服务端根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;获取所述服务端发送的反馈信息;若所述反馈信息包括待更新的应用的关联信息,则根据所述关联信息,更新所述待更新的应用;其中,所述关联信息是由所述服务端确定存在所述更新信息时,根据获取到的各个应用的应用版本信息确定的;所述待更新的应用为至少一个。当各类终端设备发出查询请求时,针对每类终端设备均可以实现:服务端只需判断是否存在该类终端设备的升级需求即可,如果该类终端设备存在更新信息,服务端将通过生成的应用版本信息为该类终端设备匹配能够更新的内容,无需重复创建更新的内容,将对应的关联信息下发至相应的终端设备,节约了资源,同时能够减少出现的错误,能够使得终端设备上的应用包可跨产品、跨平台升级。
可选的,所述根据所述关联信息,更新所述待更新的应用,可以通过以下步骤实现:
步骤d1、根据升级的指定时间,通过所述升级包的下载地址,下载升级包;
步骤d2、若下载成功,则对所述升级包的哈希值进行校验;
步骤d3、若所述升级包的哈希值完整,则对升级包的签名进行校验;
步骤d4、若签名正确,则对终端设备类型进行校验;
步骤d5、若类型匹配,则对升级包的应用版本号进行校验;
步骤d6、若版本号匹配成功,则安装新应用,直到升级结束。
其中,这里签名是由云端和设备端约定好使用的同一种文件加密的算法,比如SHA256、HMAC256等,在此不做具体限定。
本实施例中,参见图8所示的应用升级的流程示意图,以一个设备的应用升级为例,设备(即终端设备)开机,可以通过5G\4G\3G\2G\wifi联网成功后,使用MQTT或websocket协议同服务端建立长链接,然后将设备状态上报至云端,然后判断是否有升级任务,如果没有升级任务,则运行业务逻辑;如果有升级任务,则解析升级协议,获取url、版本等信息,然后下载升级包,如果下载(升级)包失败,则将失败信息上报至云端;如果下载包成功,则完整性校验MD5,如果包不完整,则将失败信息上报至云端,如果完整,则对包签名校验,如果签名不匹配,则将失败信息上报至云端,如果签名正确,则对产品信息校验,如果产品不匹配,则将失败信息上报至云端,如果产品信息正确,则对版本号校验,如果版本号不匹配,则将失败信息上报至云端,如果版本号匹配,则安装新应用包,并将升级结果通知云端,同时,判断应用是否在运行中,如果没有运行,则升级结束,如果在运行中,则判断是否重启应用,如果不重启,则升级结束,如果重启,则应用重启动,升级结束。
其中,参见图9所示的应用升级过程中的状态流转示意图,在创建版本过程中,首先创建测试-测试中,如果测试通过,进入测试通过状态,然后全量发布,进入已发状态,同时,测试通过后,进行灰度发布,进入灰度发布中状态(当灰度计划完成设备覆盖100%,则进入已发布状态;当灰度计划完成覆盖未达100%,进入灰度完成状态,然后全量发布,进入已完成状态),通过批次完成,然后继续灰度,进入灰度发布中状态。创建完以后,可以冻结,进入已冻结状态,可以对解冻,继续创建版本;同时,还可以废弃版本,进入已废弃状态。
本申请中,集前端\后端\IoT设备为一体,让IoT应用开发者实现应用升级,并具备跨产品、跨硬件、跨平台能力。同时支持设备分组、批量(按个数或百分比)、定时等维度的升级,并为应用升级制定完整的流程,让其具备测试、灰度、预发布、正式发布能力,并在升级过程中,可随时一键冻结\解冻、上架\下架升级任务。因此,能够让IoT设备上的应用包可跨产品、跨平台升级,应用升级维度多样化,一般的升级系统只具备定时、分组、灰度、发布、取消功能,除这些外还可以支持一键冻结\解冻功能,并且让用户可全程把控升级进度。同时,跟设备端侧定制一套私有协议,相对开放协议安全性更好。
基于同样的思路,本申请实施例还提供了上述方法对应的装置,如图10所示,图10为本申请实施例提供的信息处理装置的结构示意图。该信息处理装置应用于服务端,所述服务端与多类终端设备通信连接;信息处理装置可以包括:
第一处理模块1001,用于接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
第二处理模块1002,用于针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,所述反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个;
第三处理模块1003,用于将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用。
本实施例中,通过设置第一处理模块1001、第二处理模块1002以及第三处理模块1003,用于接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,这里的反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个;然后将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用。当各类终端设备发出查询请求时,针对每类终端设备均可以实现:服务端只需判断是否存在该类终端设备的升级需求即可,如果该类终端设备存在更新信息,服务端将通过生成的应用版本信息为该类终端设备匹配能够更新的内容,无需重复创建更新的内容,将对应的关联信息下发至相应的终端设备,节约了资源,同时能够减少出现的错误,能够使得终端设备上的应用包可跨产品、跨平台升级。
可选的,所述查询请求中包括所述终端设备上包含的所有应用的信息;所述第一处理模块,具体用于:
针对各类所述终端设备,执行下述步骤:
根据所述终端设备上包含的所有应用的信息中的各个应用版本号,通过数据库查询生成的各个应用对应的待推送的终端设备类型中是否存在所述终端设备的类型;
若存在所述终端设备的类型,则从生成的各个应用的应用版本信息中查询是否含有特殊标识符和/或高于所述终端设备上包含的至少一个应用的应用版本号;其中,所述特殊标识符用于表示优先分发含有所述特殊标识符的应用版本信息;
若含有所述特殊标识符和/或高于所述终端设备上包含的至少一个应用的应用版本号,则确定所述终端设备存在更新信息。
可选的,第二处理模块,具体用于:
若确定至少一个第一目标应用的应用版本信息中含有所述特殊标识符,则根据所述至少一个第一目标应用的应用版本信息,确定所述至少一个第一目标应用对应的关联信息,其中,所述至少一个第一目标应用为所述待更新的应用;
若确定至少一个第二目标应用的应用版本信息中不含有所述特殊标识符且含有高于所述终端设备上包含的对应的第二目标应用的应用版本号,则从所述至少一个第二目标应用的应用版本信息中获取各个所述第二目标应用对应的最高版本号,并根据所述至少一个第二目标应用的应用版本信息,确定各个所述第二目标应用的最高版本号对应的关联信息;其中,所述至少一个第二目标应用为所述待更新的应用;
将所述关联信息作为所述反馈信息;
其中,所述关联信息包括下述至少一项:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
可选的,该信息处理装置还可以包括:第四处理模块,用于:
接收前端发送的用于表示创建产品的第一信息,所述第一信息包括待推送的终端设备类型;
根据所述第一信息,获取所述待推送的终端设备类型对应的产品信息,并将所述产品信息发送至所述前端,以使所述前端根据所述产品信息,确定待更新的终端设备的数量以及升级方式;
接收所述前端发送的用于表示申请终端设备的第二信息,根据所述第二信息,生成待更新的终端设备对应的三元组,并将所述三元组发送至所述前端,以使所述前端根据所述三元组,创建相应的应用;
接收所述前端发送的用于表示创建相应的应用的第三信息,根据所述第三信息,生成应用信息,并将所述应用信息发送至所述前端,以使所述前端根据所述应用信息,创建应用版本;
接收所述前端发送的用于表示创建应用版本的第四信息,根据所述第四信息,生成所述应用版本信息;其中,所述应用版本信息包括下述至少一项:应用ID、应用名称、待推送的终端设备类型、待更新的终端设备的数量、升级方式、待更新的终端设备对应的三元组、待更新的应用版本号、待更新的应用下载地址、待更新的应用大小以及特殊标识符;所述升级方式包括下述至少一项:升级的指定时间、设备是否需要重启。
可选的,该信息处理装置还可以包括:第五处理模块,用于:
将所述应用版本信息发送至所述前端;
若接收到所述前端发送的发布升级的消息,则将所述应用版本信息存储至数据库。
可选的,第三处理模块,具体用于:
通过私有协议,将所述关联信息发送至所述终端设备;
其中,所述私有协议中包含所述关联信息。
本申请实施例提供的装置,可以实现上述如上述应用于服务端对应的实施例的方法,其实现原理和技术效果类似,此处不再赘述。
如图11所示,图11为本申请再一实施例提供的信息处理装置的结构示意图。该信息处理装置应用于多类终端设备,各类所述终端设备与服务端通信连接;信息处理装置可以包括:
第一处理模块1101,用于向所述服务端发送查询请求,以使所述服务端根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
第二处理模块1102,用于获取所述服务端发送的反馈信息;
第三处理模块1103,用于在所述反馈信息包括待更新的应用的关联信息时,根据所述关联信息,更新所述待更新的应用;其中,所述关联信息是由所述服务端确定存在所述更新信息时,根据获取到的各个应用的应用版本信息确定的;所述待更新的应用为至少一个。
本实施例中,通过设置第一处理模块1101、第二处理模块1102以及第三处理模块1103,用于向所述服务端发送查询请求,以使所述服务端根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;获取所述服务端发送的反馈信息;若所述反馈信息包括待更新的应用的关联信息,则根据所述关联信息,更新所述待更新的应用;其中,所述关联信息是由所述服务端确定存在所述更新信息时,根据获取到的各个应用的应用版本信息确定的;所述待更新的应用为至少一个。当各类终端设备发出查询请求时,针对每类终端设备均可以实现:服务端只需判断是否存在该类终端设备的升级需求即可,如果该类终端设备存在更新信息,服务端将通过生成的应用版本信息为该类终端设备匹配能够更新的内容,无需重复创建更新的内容,将对应的关联信息下发至相应的终端设备,节约了资源,同时能够减少出现的错误,能够使得终端设备上的应用包可跨产品、跨平台升级。
可选的,第二处理模块,具体用于:
根据订阅的服务,通过私有协议,获取所述服务端发送的待更新的应用的关联信息;
其中,所述私有协议中包含所述关联信息,所述关联信息包括下述至少一项:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
可选的,第三处理模块,具体用于:
根据升级的指定时间,通过所述升级包的下载地址,下载升级包;
若下载成功,则对所述升级包的哈希值进行校验;
若所述升级包的哈希值完整,则对升级包的签名进行校验;
若签名正确,则对终端设备类型进行校验;
若类型匹配,则对升级包的应用版本号进行校验;
若版本号匹配成功,则安装新应用,直到升级结束。
本申请实施例提供的装置,可以实现上述应用于终端设备对应的实施例的方法,其实现原理和技术效果类似,此处不再赘述。
图12为本申请实施例提供的电子设备的硬件结构示意图。如图12所示,本实施例提供的设备1200包括:处理器1201,以及与所述处理器通信连接的存储器。其中,处理器1201、存储器1202通过总线1203连接。
在具体实现过程中,处理器1201执行所述存储器1202存储的计算机执行指令,使得处理器1201执行上述方法实施例中的方法。
处理器1201的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图12所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述方法实施例的信息处理方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上所述的信息处理方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (13)

1.一种信息处理方法,其特征在于,应用于服务端,所述服务端与多类终端设备通信连接;所述方法包括:
接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,所述反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个;
将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用;
接收前端发送的用于表示创建产品的第一信息,所述第一信息包括待推送的终端设备类型;
根据所述第一信息,获取所述待推送的终端设备类型对应的产品信息,并将所述产品信息发送至所述前端,以使所述前端根据所述产品信息,确定待更新的终端设备的数量以及升级方式;
接收所述前端发送的用于表示申请终端设备的第二信息,根据所述第二信息,生成待更新的终端设备对应的三元组,并将所述三元组发送至所述前端,以使所述前端根据所述三元组,创建相应的应用;
接收所述前端发送的用于表示创建相应的应用的第三信息,根据所述第三信息,生成应用信息,并将所述应用信息发送至所述前端,以使所述前端根据所述应用信息,创建应用版本;
接收所述前端发送的用于表示创建应用版本的第四信息,根据所述第四信息,生成所述应用版本信息;其中,所述应用版本信息包括下述至少一项:应用ID、应用名称、待推送的终端设备类型、待更新的终端设备的数量、升级方式、待更新的终端设备对应的三元组、待更新的应用版本号、待更新的应用下载地址、待更新的应用大小以及特殊标识符;所述升级方式包括下述至少一项:升级的指定时间、设备是否需要重启。
2.根据权利要求1所述的方法,其特征在于,所述查询请求中包括所述终端设备上包含的所有应用的信息;所述根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息,包括:
针对各类所述终端设备,执行下述步骤:
根据所述终端设备上包含的所有应用的信息中的各个应用版本号,通过数据库查询生成的各个应用对应的待推送的终端设备类型中是否存在所述终端设备的类型;
若存在所述终端设备的类型,则从生成的各个应用的应用版本信息中查询是否含有特殊标识符和/或高于所述终端设备上包含的至少一个应用的应用版本号;其中,所述特殊标识符用于表示优先分发含有所述特殊标识符的应用版本信息;
若含有所述特殊标识符和/或高于所述终端设备上包含的至少一个应用的应用版本号,则确定所述终端设备存在更新信息。
3.根据权利要求2所述的方法,其特征在于,所述若确定所述终端设备存在所述更新信息,则根据生成的各个应用的应用版本信息,确定反馈信息,包括:
若确定至少一个第一目标应用的应用版本信息中含有所述特殊标识符,则根据所述至少一个第一目标应用的应用版本信息,确定所述至少一个第一目标应用对应的关联信息,其中,所述至少一个第一目标应用为所述待更新的应用;
若确定至少一个第二目标应用的应用版本信息中不含有所述特殊标识符且含有高于所述终端设备上包含的对应的第二目标应用的应用版本号,则从所述至少一个第二目标应用的应用版本信息中获取各个所述第二目标应用对应的最高版本号,并根据所述至少一个第二目标应用的应用版本信息,确定各个所述第二目标应用的最高版本号对应的关联信息;其中,所述至少一个第二目标应用为所述待更新的应用;
将所述关联信息作为所述反馈信息;
其中,所述关联信息包括下述至少一项:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述应用版本信息发送至所述前端;
若接收到所述前端发送的发布升级的消息,则将所述应用版本信息存储至数据库。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述关联信息发送至所述终端设备,包括:
通过私有协议,将所述关联信息发送至所述终端设备;
其中,所述私有协议中包含所述关联信息。
6.一种信息处理方法,其特征在于,应用于多类终端设备,各类所述终端设备与服务端通信连接;所述方法包括:
向所述服务端发送查询请求,以使所述服务端根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
获取所述服务端发送的反馈信息;
若所述反馈信息包括待更新的应用的关联信息,则根据所述关联信息,更新所述待更新的应用;其中,所述关联信息是由所述服务端确定存在所述更新信息时,根据获取到的各个应用的应用版本信息确定的;所述待更新的应用为至少一个;
所述服务端还用于接收前端发送的用于表示创建产品的第一信息,所述第一信息包括待推送的终端设备类型;根据所述第一信息,获取所述待推送的终端设备类型对应的产品信息,并将所述产品信息发送至所述前端,以使所述前端根据所述产品信息,确定待更新的终端设备的数量以及升级方式;接收所述前端发送的用于表示申请终端设备的第二信息,根据所述第二信息,生成待更新的终端设备对应的三元组,并将所述三元组发送至所述前端,以使所述前端根据所述三元组,创建相应的应用;接收所述前端发送的用于表示创建相应的应用的第三信息,根据所述第三信息,生成应用信息,并将所述应用信息发送至所述前端,以使所述前端根据所述应用信息,创建应用版本;接收所述前端发送的用于表示创建应用版本的第四信息,根据所述第四信息,生成所述应用版本信息;其中,所述应用版本信息包括下述至少一项:应用ID、应用名称、待推送的终端设备类型、待更新的终端设备的数量、升级方式、待更新的终端设备对应的三元组、待更新的应用版本号、待更新的应用下载地址、待更新的应用大小以及特殊标识符;所述升级方式包括下述至少一项:升级的指定时间、设备是否需要重启。
7.根据权利要求6所述的方法,其特征在于,所述获取所述服务端发送的反馈信息,包括:
根据订阅的服务,通过私有协议,获取所述服务端发送的待更新的应用的关联信息;
其中,所述私有协议中包含所述关联信息,所述关联信息包括下述至少一项:应用需要升级的个数、应用ID、统一资源定位符url中升级包的应用版本号、升级包的下载地址、升级包大小、升级包的哈希值、特殊标识符、升级的指定时间以及设备是否需要重启。
8.根据权利要求7所述的方法,其特征在于,所述根据所述关联信息,更新所述待更新的应用,包括:
根据升级的指定时间,通过所述升级包的下载地址,下载升级包;
若下载成功,则对所述升级包的哈希值进行校验;
若所述升级包的哈希值完整,则对升级包的签名进行校验;
若签名正确,则对终端设备类型进行校验;
若类型匹配,则对升级包的应用版本号进行校验;
若版本号匹配成功,则安装新应用,直到升级结束。
9.一种信息处理装置,其特征在于,应用于服务端,所述服务端与多类终端设备通信连接;所述装置包括:
第一处理模块,用于接收各类所述终端设备发送的查询请求,并根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
第二处理模块,用于针对各类所述终端设备,若确定所述终端设备存在所述更新信息,则根据各个应用的应用版本信息,确定反馈信息,所述反馈信息包括待更新的应用的关联信息,所述待更新的应用为至少一个;
第三处理模块,用于将所述关联信息发送至所述终端设备,以使所述终端设备根据所述关联信息,更新所述待更新的应用;
第四处理模块,用于:
接收前端发送的用于表示创建产品的第一信息,所述第一信息包括待推送的终端设备类型;
根据所述第一信息,获取所述待推送的终端设备类型对应的产品信息,并将所述产品信息发送至所述前端,以使所述前端根据所述产品信息,确定待更新的终端设备的数量以及升级方式;
接收所述前端发送的用于表示申请终端设备的第二信息,根据所述第二信息,生成待更新的终端设备对应的三元组,并将所述三元组发送至所述前端,以使所述前端根据所述三元组,创建相应的应用;
接收所述前端发送的用于表示创建相应的应用的第三信息,根据所述第三信息,生成应用信息,并将所述应用信息发送至所述前端,以使所述前端根据所述应用信息,创建应用版本;
接收所述前端发送的用于表示创建应用版本的第四信息,根据所述第四信息,生成所述应用版本信息;其中,所述应用版本信息包括下述至少一项:应用ID、应用名称、待推送的终端设备类型、待更新的终端设备的数量、升级方式、待更新的终端设备对应的三元组、待更新的应用版本号、待更新的应用下载地址、待更新的应用大小以及特殊标识符;所述升级方式包括下述至少一项:升级的指定时间、设备是否需要重启。
10.一种信息处理装置,其特征在于,应用于多类终端设备,各类所述终端设备与服务端通信连接;所述装置包括:
第一处理模块,用于向所述服务端发送查询请求,以使所述服务端根据所述查询请求以及生成的各个应用的应用版本信息中的待推送的终端设备类型,确定各类所述终端设备是否存在更新信息;
第二处理模块,用于获取所述服务端发送的反馈信息;
第三处理模块,用于在所述反馈信息包括待更新的应用的关联信息时,根据所述关联信息,更新所述待更新的应用;其中,所述关联信息是由所述服务端确定存在所述更新信息时,根据获取到的各个应用的应用版本信息确定的;所述待更新的应用为至少一个;
所述服务端还用于接收前端发送的用于表示创建产品的第一信息,所述第一信息包括待推送的终端设备类型;根据所述第一信息,获取所述待推送的终端设备类型对应的产品信息,并将所述产品信息发送至所述前端,以使所述前端根据所述产品信息,确定待更新的终端设备的数量以及升级方式;接收所述前端发送的用于表示申请终端设备的第二信息,根据所述第二信息,生成待更新的终端设备对应的三元组,并将所述三元组发送至所述前端,以使所述前端根据所述三元组,创建相应的应用;接收所述前端发送的用于表示创建相应的应用的第三信息,根据所述第三信息,生成应用信息,并将所述应用信息发送至所述前端,以使所述前端根据所述应用信息,创建应用版本;接收所述前端发送的用于表示创建应用版本的第四信息,根据所述第四信息,生成所述应用版本信息;其中,所述应用版本信息包括下述至少一项:应用ID、应用名称、待推送的终端设备类型、待更新的终端设备的数量、升级方式、待更新的终端设备对应的三元组、待更新的应用版本号、待更新的应用下载地址、待更新的应用大小以及特殊标识符;所述升级方式包括下述至少一项:升级的指定时间、设备是否需要重启。
11.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8中任一项所述的信息处理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当处理器执行计算机执行指令时,实现如权利要求1至8任一项所述的信息处理方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-8任一项所述的信息处理方法。
CN202210552039.9A 2022-05-18 2022-05-18 信息处理方法、装置、设备、存储介质及程序产品 Active CN114978902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210552039.9A CN114978902B (zh) 2022-05-18 2022-05-18 信息处理方法、装置、设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210552039.9A CN114978902B (zh) 2022-05-18 2022-05-18 信息处理方法、装置、设备、存储介质及程序产品

Publications (2)

Publication Number Publication Date
CN114978902A CN114978902A (zh) 2022-08-30
CN114978902B true CN114978902B (zh) 2024-05-14

Family

ID=82985271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210552039.9A Active CN114978902B (zh) 2022-05-18 2022-05-18 信息处理方法、装置、设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN114978902B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115827020A (zh) * 2022-11-30 2023-03-21 广州通则康威智能科技有限公司 一种设备的升级测试方法、装置、设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271327A (zh) * 2011-08-30 2011-12-07 大唐移动通信设备有限公司 一种指示软件版本更新的方法及设备
WO2012025011A1 (zh) * 2010-08-27 2012-03-01 腾讯科技(深圳)有限公司 软件升级系统及方法、计算机存储介质
CN106445621A (zh) * 2016-10-31 2017-02-22 乐视控股(北京)有限公司 一种应用软件的升级方法、装置及电子设备
WO2018006677A1 (zh) * 2016-07-06 2018-01-11 中兴通讯股份有限公司 智能升级方法、服务器、终端和系统
CN108845820A (zh) * 2018-09-20 2018-11-20 广东美的暖通设备有限公司 固件批量升级方法、系统和空调器
CN109117158A (zh) * 2018-08-02 2019-01-01 郑州云海信息技术有限公司 固件更新方法和装置
CN111367545A (zh) * 2020-02-13 2020-07-03 北京三快在线科技有限公司 终端升级方法、装置、服务器、终端设备及可读存储介质
CN111625260A (zh) * 2020-05-27 2020-09-04 哈尔滨文投科技有限公司 基于混合移动应用程序升级的方法、系统
CN112788153A (zh) * 2021-01-29 2021-05-11 广州技象科技有限公司 一种物联网设备升级管理方法、装置、设备及存储介质
CN112835616A (zh) * 2021-02-26 2021-05-25 百度在线网络技术(北京)有限公司 一种版本升级方法、装置、电子设备及存储介质
CN114489711A (zh) * 2021-12-17 2022-05-13 北京镁伽科技有限公司 终端升级方法、装置及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764807B (zh) * 2019-10-29 2021-10-29 京东方科技集团股份有限公司 一种升级方法、系统、服务器及终端设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012025011A1 (zh) * 2010-08-27 2012-03-01 腾讯科技(深圳)有限公司 软件升级系统及方法、计算机存储介质
CN102271327A (zh) * 2011-08-30 2011-12-07 大唐移动通信设备有限公司 一种指示软件版本更新的方法及设备
WO2018006677A1 (zh) * 2016-07-06 2018-01-11 中兴通讯股份有限公司 智能升级方法、服务器、终端和系统
CN106445621A (zh) * 2016-10-31 2017-02-22 乐视控股(北京)有限公司 一种应用软件的升级方法、装置及电子设备
CN109117158A (zh) * 2018-08-02 2019-01-01 郑州云海信息技术有限公司 固件更新方法和装置
CN108845820A (zh) * 2018-09-20 2018-11-20 广东美的暖通设备有限公司 固件批量升级方法、系统和空调器
CN111367545A (zh) * 2020-02-13 2020-07-03 北京三快在线科技有限公司 终端升级方法、装置、服务器、终端设备及可读存储介质
CN111625260A (zh) * 2020-05-27 2020-09-04 哈尔滨文投科技有限公司 基于混合移动应用程序升级的方法、系统
CN112788153A (zh) * 2021-01-29 2021-05-11 广州技象科技有限公司 一种物联网设备升级管理方法、装置、设备及存储介质
CN112835616A (zh) * 2021-02-26 2021-05-25 百度在线网络技术(北京)有限公司 一种版本升级方法、装置、电子设备及存储介质
CN114489711A (zh) * 2021-12-17 2022-05-13 北京镁伽科技有限公司 终端升级方法、装置及存储介质

Also Published As

Publication number Publication date
CN114978902A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
CN108551487B (zh) PaaS平台的应用部署方法、装置、服务器及存储介质
CN108874558B (zh) 分布式事务的消息订阅方法、电子装置及可读存储介质
US9182971B2 (en) Distributed control method and apparatus using URL
US10069942B2 (en) Method and apparatus for changing configurations
CN116302719A (zh) 用于启用高可用性受管理故障转移服务的系统和方法
US11741075B2 (en) Methods and system of tracking transactions for distributed ledger
CN104079673A (zh) 一种应用下载中防止dns劫持的方法、装置和系统
CN112867988A (zh) 由移动设备实现合规设置以遵循配置场景
WO2021051747A1 (zh) 数据更新方法、系统、装置、电子设备及计算机存储介质
CN110580305B (zh) 生成标识符的方法、装置、系统和介质
CN108984544B (zh) 一种分布式系统修改配置信息的方法和装置
CN109391673A (zh) 一种管理更新文件的方法、系统及终端设备
CN114978902B (zh) 信息处理方法、装置、设备、存储介质及程序产品
CN111831458A (zh) 一种高并发高解耦数据处理方法及数据中台系统
CN112882738A (zh) 一种微服务架构下的配置信息更新方法、装置及电子设备
CN111031135B (zh) 消息传送方法、装置及电子设备
US11886390B2 (en) Data file partition and replication
CN113590354A (zh) 基于区块链的信息推送方法、装置、设备、介质和程序产品
CN111679842B (zh) 应用程序热更新处理方法、装置及系统
US20210149709A1 (en) Method and apparatus for processing transaction
CN111158716B (zh) 版本升级调用方法、装置、计算机系统及可读存储介质
CN111679850B (zh) 应用程序热更新处理方法、装置及系统
US20230305837A1 (en) Data file partition and replication
CN109375946B (zh) 一种管理节点包管理器的组件包的方法及系统
CA2823085A1 (en) Method and system of implementing data load protocols

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