CN111556488A - 一种终端设备ota升级方法及系统 - Google Patents
一种终端设备ota升级方法及系统 Download PDFInfo
- Publication number
- CN111556488A CN111556488A CN202010286395.1A CN202010286395A CN111556488A CN 111556488 A CN111556488 A CN 111556488A CN 202010286395 A CN202010286395 A CN 202010286395A CN 111556488 A CN111556488 A CN 111556488A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- terminal equipment
- upgrade
- request
- ota
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012795 verification Methods 0.000 claims description 20
- 230000003111 delayed effect Effects 0.000 claims description 7
- 238000002360 preparation method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 30
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000011800 void material Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种一种终端设备OTA升级方法,包括如下步骤:终端设备发送软件升级请求;平台接收所述软件升级请求,返回升级任务信息给所述终端设备,所述升级任务信息包括:版本号信息、升级包下载URL地址、升级模式;所述终端设备根据升级模式提示用户,并接收用户的升级操作指示;所述终端设备根据所述升级操作指示和升级包下载URL地址下载软件升级包;所述终端设备下载完成后,依据所述软件升级包执行升级操作。相应提供了一种升级系统。本发明中升级方法,能够提供给终端设备主动提请升级的方式,进行任务查询,升级方式灵活。
Description
技术领域
本发明涉及软件升级领域,具体而言,涉及一种终端设备OTA升级方法及系统。
背景技术
系统升级是指官方对终端设备的内部软件系统进行升级,以解决前版的一些缺陷或发布一些新功能。
目前主流的系统升级方式有两种:
(1)一种是刷机升级,一般情况下终端设备出现系统被损坏,造成功能失效或无法开机,这种无法通过在线解决的,只能通过刷机解决。这种方式的缺陷也比较明显,刷机之前会对终端设备原有的所有数据进行清空,而且对操作人员有技术要求,最大的问题是效率低,操作人员必须现场操作,这就需要客户将设备寄给操作人员或操作人员进行上门服务。
(2)另一种是OTA升级。OTA是英文全称Over-the-Air Technology的缩写,是一项软件或系统采用无线升级的技术。OTA升级相比传统的刷机升级,OTA升级可以直接在终端设备中在线完成,只需要借助移动网络或者WIFI网络即可,并且升级无需备份数据,一般升级完成后,自动重启设备即可完成。但需要终端提前预装升级SDK,用于和升级平台进行交互以获取升级包。一般平台采用的是一款终端对应一个升级平台,平台进行全网推送升级任务的形式下发策略单一,终端开机去获取任务请求策略单一。
发明内容
为了解决现有升级系统中需要全网推送升级策略单一的问题,提供了一种终端设备OTA升级方法及系统,允许终端设备主动提起升级要求,并进行处理。具体地,第一方面,提供了一种终端设备OTA升级方法,包括如下步骤:
S110、终端设备发送软件升级请求;
S120、平台接收所述软件升级请求,返回升级任务信息给所述终端设备,所述升级任务信息包括但不仅限于版本号信息、升级包下载URL地址、升级模式;
S130、所述终端设备根据升级模式提示用户,并接收用户的升级操作指示;
S140、所述终端设备根据所述升级操作指示和升级包下载URL地址下载软件升级包;
S150、所述终端设备下载完成后,依据所述软件升级包执行升级操作。
进一步地,所述步骤S110中,所述终端设备采用如下协议:HTTP、HTTPS、MQTT、TR069中的一种或多种进行发送所述软件升级请求。
进一步地,还包括,所述平台根据产品市场需求设定所述终端设备发送所述软件升级请求的时间区间值和\或周期值,所述终端设备接收所述时间区间值和\或周期值,所述终端设备按照时间区间值和\或周期值发送所述软件升级请求。
进一步地,所述终端设备发起软件升级请求之前,所述方法还包括:
所述终端设备向所述平台发起报备请求,所述平台对所述终端设备进行报备,并将与所述终端设备对应的产品安全验证值发送给所述终端设备;
所述平台接收所述软件升级请求,返回升级任务信息给所述终端设备的步骤包括:
所述平台从所述软件升级请求中获取所述产品安全验证值并进行验证;
所述平台将验证后的软件升级请求转发到消息中间件中,OTA集群服务器监听所述消息中间件获取软件升级请求;
所述OTA集群服务器根据软件升级请求中的设备唯一标识进行查询获取与所述终端设备对应的所述升级任务信息。
进一步地,所述升级模式包括:强制升级、非强制升级、静默升级;在强制升级模式下,所述终端设备提示用户升级,并为用户提供多次延后升级的选择;在非强制升级模式下,所述终端设备提示用户,用户可选择取消不升级该次任务;在静默升级模式下,所述终端设备在后台执行升级。
进一步地,所述OTA集群服务器根据软件升级请求中的设备唯一标识进行查询获取与所述终端设备对应的所述升级任务信息的步骤中,所述OTA集群服务器采用ElasticSearch技术与Redis数据库结合的技术进行搜索。
第二方面,本发明实施例提供了一种终端设备OTA升级系统,包括终端设备和平台,其中,终端设备被配置为发送软件升级请求;平台被配置为接收所述软件升级请求,返回升级任务信息给所述终端设备,所述升级任务信息包括但不仅限于版本号信息、升级包下载URL地址、升级模式;所述终端设备被配置为根据升级模式提示用户,并接收用户的升级操作指示;所述终端设备被配置为根据所述升级操作指示和升级包下载URL地址下载软件升级包;所述终端设备下载完成后,被配置为依据所述软件升级包执行升级操作。
进一步地,所述平台还被配置为根据产品市场需求设定所述终端设备发送所述软件升级请求的时间区间值和\或周期值,所述终端设备被配置为接收所述时间区间值和\或周期值,按照时间区间值和\或周期值发送所述软件升级请求。
进一步地,所述终端设备发起软件升级请求之前,所述终端设备被配置为向所述平台发起报备请求,所述平台被配置为对所述终端设备进行报备,并将与所述终端设备对应的产品安全验证值发送给所述终端设备;
所述平台被配置为从所述软件升级请求中获取所述产品安全验证值并进行验证;
所述平台被配置为将验证后的软件升级请求转发到消息中间件中,所述平台的OTA集群服务器监听所述消息中间件获取软件升级请求;
所述OTA集群服务器被配置为根据软件升级请求中的设备唯一标识进行查询获取与所述终端设备对应的所述升级任务信息。
进一步地,所述升级模式包括:强制升级、非强制升级、静默升级;在强制升级模式下,所述终端设备被配置为提示用户升级,并为用户提供多次延后升级的选择;在非强制升级模式下,所述终端设备被配置为提示用户升级,用户可选择取消不升级该次任务;在静默升级模式下,所述终端设备被配置为在后台执行升级。
本发明实施例提供的OTA升级算法,极大改善了现有终端和平台交互的升级流程,灵活性更强,其具有的有益效果如下:一款终端SDK支持多种型号的终端设备,适配功能强。请求策略灵活,请求方式可选,请求时间可配。升级对象精控,分省市、分型号、分厂商等。平台升级适用于各种终端设备,例如安卓设备,Linux设备(适用于手机,音箱,机顶盒,网关,电视,手表,固定电话,4G模组,5G模组,Linux各类固件ROM)。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1为本发明一些实施例中的OTA升级方法的流程示意图;
图2为本发明一些实施例中的OTA升级方法功能模块图;
图3为本发明一些实施例中的OTA升级方法中终端设备报备的流程示意图;
图4为本发明一些实施例中的OTA升级方法中进行任务查询的流程示意图;
图5为本发明一些实施例中的OTA升级方法中终端设备进行升级的流程示意图;
图6为本发明另一些实施例中的OTA升级方法的流程示意图;
图7为本发明一些实施例中的OTA升级系统的系统架构图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本发明实施例中的终端设备OTA升级软件的方法和系统是对网络和设备特点,结合自身在设备和业务管理系统多年的开发和使用的经验,推出的一套统一、集中、多终端的OTA升级方案,是集中管控设备、动态扩展业务、优化性能和配件的基础功能软件。所述终端设备包括:网关、手机模组、芯片、音箱。所述终端设备多为linux设备,进行周期检测升级任务,下载升级包,进行断电续传,校验升级包完整性,进行https加密传输,按照升级方式执行。
图1示出了终端和平台交互的一般流程图,图2示出了设备OTA升级软件的功能模块图。
其具体步骤如下:
步骤1:设备请求,相对于现有上其它产品单一的请求策略,本发明实施例设计的请求策略更加灵活、更加智能、扩展性强、适用性广。
1)请求方式灵活:平台支持设备用HTTP/HTTPS请求,也支持MQTT协议请求。终端设备可以根据设备本身的功耗性能以及其它需求灵活决定采用何种请求方式。HTTP请求方式适合和平台交互少,远程实时性要求不高的设备。MQTT请求方式适合和平台交互场景多,实时性或准实时要求比较高的终端设备,例如监控设备、低功耗的模组等。
2)请求时间可配:开机上报、周期上报和区间上报,开机上报又细分为开机立即上报和开机延迟上报;周期上报的周期值默认为5天,后期可通过平台获取;区间上报对设备请求时间粒度控制地更加精细,精确到分钟,如晚上[20:00–22:00],即活跃设备只会在这个时间段和OTA平台进行交互,进一步节约设备功耗。周期值和区间值都可以在平台端依据设备的版本信息及升级需求灵活配置。
步骤2:平台接收请求并返回升级任务信息,平台端会根据设备上报的信息依次进行校验、信息入库、任务查询、返回结果。
首先,从安全角度过滤非对象范围内的设备,所有接入的产品信息需在适配阶段提前向平台报备,详细报备流程参见图3,报备后平台分配对应的产品公私钥及型号等key值。根据产品上报的公钥结合事先约定的盐、访问时间戳、设备唯一标识等信息进行解密验证,通过的请求会继续往下执行。
其次,信息入库,将请求信息转发到Kafka消息中间件指定的Topic主题,OTA集群服务器监听该主题并进行消费处理,这样能达到异步解耦和缩短请求响应时间,提高服务器能承载的QPS,消息中间件:不限于Kafka,也可采用Rabbit MQ、Rocket MQ等消息中间件。
然后,任务查询,根据设备唯一标识、设备型号、设备版本信息、设备区域、厂商、工厂等信息,采用ElasticSearch技术结合Redis数据库技术进行搜索,参见图4,主要用来存储所有生效的任务信息,自动添加新任务,过滤下线过时任务,能够快速查询到满足该设备的多条升级任务,再根据任务的使用范围,版本迭代的规律找到最优的算法,锁定最佳的一条升级任务。
版本迭代的规律算法:平台侧针对每款产品建立一个专用的系统平台号,平台号下面关联设备具体的版本号,每个版本号对应一个版本序列号,版本序列号根据录入时间递增,这种算法不仅有效地解决了很多设备版本号命名不规则导致判断版本号先后难的问题,而且可以让同一产品的版本基于多条维护基线进行版本维护,只需创建多个平台号,每个平台号添加指定维护的版本号。
最后,返回结果,将上一步获取的结果返回给终端设备,具体信息含有版本号信息,升级包下载URL地址,升级模式等信息。
步骤3:终端设备接收到平台返回的升级任务信息,根据升级模式(强制升级、非强制升级、静默升级)来判断以何种方式展现给用户。强制升级提示用户升级,用户由3次延后升级的机会,这样用户可以在合适的时间自主选择升级,不影响用户的使用体验;非强制升级也会提示用户,不同于强制升级用户可以选择取消不升级该次任务;静默升级是一种在后台执行,用户无感知的一种平滑升级模式。终端下载升级包支持HTTPS加密传输、断点续传、完整性校验等一系列功能。
步骤4:下载完成后终端执行升级操作,使用到标准C库,Curl库,Json库,等标准库。
在基于Curl的程序里,主要采用callback function(回调函数)的形式完成传输任务,用户在启动传输前设置好各类参数和回调函数,当满足条件时curl将调用用户的回调函数实现特定功能。图5展示了利用curl完成传输任务的流程:
调用curl_global_init()初始化curl
调用curl_easy_init()函数得到easy interface型指针
调用curl_easy_setopt()设置传输选项
根据curl_easy_setopt()设置的传输选项,实现回调函数以完成用户特定任务
调用curl_easy_perform()函数完成传输任务
调用curl_easy_cleanup()释放内存
在整过过程中设置curl_easy_setopt()参数是最关键的,几乎所有的libcurl程序都要使用它。
1、CURLcode curl_global_init(long flags);
这个函数只能用一次。
如果这个函数在curl_easy_init函数调用时还没调用,它将由curl库自动调用,所以多线程下最好主动调用该函数以防止在线程中curl_easy_init时多次调用。
注意:虽然curl是线程安全的,但curl_global_init是不能保证线程安全的,所以不要在每个线程中都调用curl_global_init,应该将该函数的调用放在主线程中。
参数:flags
CURL_GLOBAL_ALL//初始化所有的可能的调用。
CURL_GLOBAL_SSL//初始化支持安全套接字层。
CURL_GLOBAL_WIN32//初始化win32套接字库。
CURL_GLOBAL_NOTHING//没有额外的初始化。
2、void curl_global_cleanup(void);
在结束curl使用的时候,用来对curl_global_init做的工作清理。类似于close的函数。
注意:虽然curl是线程安全的,但curl_global_cleanup是不能保证线程安全的,所以不要在每个线程中都调用curl_global_init,应该将该函数的调用放在主线程中。
3、char*curl_version();
打印当前libcurl库的版本。
4、CURL*curl_easy_init();
curl_easy_init用来初始化一个CURL的指针(有些像返回FILE类型的指针一样)。相应的在调用结束时要用curl_easy_cleanup函数清理。
一般curl_easy_init意味着一个会话的开始。它会返回一个easy_handle(CURL*对象),一般都用在easy系列的函数中。
5、void curl_easy_cleanup(CURL*handle);
这个调用用来结束一个会话,与curl_easy_init配合着用。
CURL类型的指针。
6、CURLcode curl_easy_setopt(CURL*handle,CURLoption option,parameter);
这个函数最重要了。几乎所有的curl程序都要频繁的使用它。它告诉curl库。程序将有如何的行为。参数:1CURL类型的指针2各种CURLoption类型的选项。3parameter这个参数既可以是个函数的指针,也可以是某个对象的指针,也可以是个long型的变量。它用什么这取决于第二个参数。
7、CURLcode curl_easy_perform(CURL*handle);
这个函数在初始化CURL类型的指针以及curl_easy_setopt完成后调用。就像字面的意思所说perform就像是个舞台。让本发明实施例中设置的option运作起来。参数:CURL类型的指针。
8、cJSON使用数据结构链表的方式来存储js对象。
cJSON*cJSON_Parse(const char*value);
将一个JSON数据包,按照cJSON结构体的结构序列化整个数据包,并在堆中开辟一块内存存储cJSON结构体
返回值:成功返回一个指向内存块中的cJSON的指针,失败返回NULL
cJSON*cJSON_GetObjectItem(cJSON*object,const char*string);
作用:获取JSON字符串字段值
返回值:成功返回一个指向cJSON类型的结构体指针,失败返回NULL
char*cJSON_Print(cJSON*item);
作用:将cJSON数据解析成JSON字符串,并在堆中开辟一块char*的内存空间存储JSON字符串
返回值:成功返回一个char*指针该指针指向位于堆中JSON字符串,失败返回NULL
void cJSON_Delete(cJSON*c);
作用:释放位于堆中cJSON结构体内存
返回值:无
本发明实施例提供的OTA升级算法,极大改善了现有终端和平台交互的升级流程,灵活性更强,其具有的有益效果如下:一款终端SDK支持多种型号的终端设备,适配功能强。请求策略灵活,请求方式可选,请求时间可配。升级对象精控,分省市、分型号、分厂商等。平台升级适用于各种终端设备,例如安卓设备,Linux设备。
如图6所示,本发明实施例提供了另一种实施软件升级的方法,具体地,提供了一种终端设备OTA升级方法,包括如下步骤:
S110、终端设备发送软件升级请求;
S120、平台接收所述软件升级请求,返回升级任务信息给所述终端设备,所述升级任务信息包括但不仅限于:版本号信息、升级包下载URL地址、升级模式;
S130、所述终端设备根据升级模式提示用户,并接收用户的升级操作指示;
S140、所述终端设备根据所述升级操作指示和升级包下载URL地址下载软件升级包;
S150、所述终端设备下载完成后,依据所述软件升级包执行升级操作。
进一步的,所述步骤S110中,所述终端设备采用如下协议:HTTP、HTTPS、MQTT、TR069中的一种或多种进行发送所述软件升级请求。
进一步的,还包括,所述平台根据产品市场需求设定所述终端设备发送所述软件升级请求的时间区间值和\或周期值,所述终端设备接收所述时间区间值和\或周期值,所述终端设备按照时间区间值和\或周期值发送所述软件升级请求。
进一步的,所述终端设备发起软件升级请求之前,所述方法还包括:
所述终端设备向所述平台发起报备请求,所述平台对所述终端设备进行报备,并将与所述终端设备对应的产品安全验证值发送给所述终端设备;
所述平台接收所述软件升级请求,返回升级任务信息给所述终端设备的步骤包括:
所述平台从所述软件升级请求中获取所述产品安全验证值并进行验证;
所述平台将验证后的软件升级请求转发到消息中间件中,OTA集群服务器监听所述消息中间件获取软件升级请求;
所述OTA集群服务器根据软件升级请求中的设备唯一标识进行查询获取与所述终端设备对应的所述升级任务信息。
进一步的,所述升级模式包括:强制升级、非强制升级、静默升级;在强制升级模式下,所述终端设备提示用户升级,并为用户提供多次延后升级的选择;在非强制升级模式下,所述终端设备提示用户,用户可选择取消不升级该次任务;在静默升级模式下,所述终端设备在后台执行升级。
进一步的,所述OTA集群服务器根据软件升级请求中的设备唯一标识进行查询获取与所述终端设备对应的所述升级任务信息的步骤中,所述OTA集群服务器采用ElasticSearch技术与Redis数据库结合的技术进行搜索。
基于上述实施例,如图7所示,本发明实施例还提供了一种终端设备OTA升级系统100,包括终端设备110和平台120,其中,终端设备110被配置为发送软件升级请求;平台120被配置为接收所述软件升级请求,返回升级任务信息给所述终端设备110,所述升级任务信息包括但不仅限于版本号信息、升级包下载URL地址、升级模式;所述终端设备110被配置为根据升级模式提示用户,并接收用户的升级操作指示;所述终端设备110被配置为根据所述升级操作指示和升级包下载URL地址下载软件升级包;所述终端设备110下载完成后,被配置为依据所述软件升级包执行升级操作。
进一步地,所述平台120还被配置为根据产品的市场需求设定所述终端设备发送所述软件升级请求的时间区间值和\或周期值,所述终端设备110被配置为接收所述时间区间值和\或周期值,按照时间区间值和\或周期值发送所述软件升级请求。
进一步地,所述终端设备110发起软件升级请求之前,所述终端设备110被配置为向所述平台120发起报备请求,所述平台120被配置为对所述终端设备110进行报备,并将与所述终端设备110对应的产品安全验证值发送给所述终端设备110;
所述平台120被配置为从所述软件升级请求中获取所述产品安全验证值并进行验证;
所述平台120被配置为将验证后的软件升级请求转发到消息中间件中,所述平台120的OTA集群服务器监听所述消息中间件获取软件升级请求;
所述OTA集群服务器被配置为根据软件升级请求中的设备唯一标识进行查询获取与所述终端设备对应的所述升级任务信息。
进一步地,所述升级模式包括:强制升级、非强制升级、静默升级;在强制升级模式下,所述终端设备120被配置为提示用户升级,并为用户提供多次延后升级的选择;在非强制升级模式下,所述终端设备被配置为提示用户升级,用户可选择取消不升级该次任务;在静默升级模式下,所述终端设备120被配置为在后台执行升级。
本发明实施例提供的OTA升级系统,极大改善了现有终端和平台交互的升级流程,灵活性更强,其具有的有益效果如下:一款终端SDK支持多种型号的终端设备,适配功能强。请求策略灵活,请求方式可选,请求时间可配。升级对象精控,分省市、分型号、分厂商等。平台升级适用于各种终端设备,例如安卓设备,Linux设备(适用于手机,音箱,机顶盒,网关,电视,手表,固定电话,4G模组,5G模组,Linux各类固件ROM)。
在本发明中,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种终端设备OTA升级方法,其特征在于,包括如下步骤:
S110、终端设备发送软件升级请求;
S120、平台接收所述软件升级请求,返回升级任务信息给所述终端设备,所述升级任务信息包括但不仅限于版本号信息、升级包下载URL地址、升级模式;
S130、所述终端设备根据升级模式提示用户,并接收用户的升级操作指示;
S140、所述终端设备根据所述升级操作指示和升级包下载URL地址下载软件升级包;
S150、所述终端设备下载完成后,依据所述软件升级包执行升级操作。
2.根据权利要求1所述的终端设备OTA升级方法,其特征在于,所述步骤S110中,所述终端设备采用如下协议:HTTP、HTTPS、MQTT、TR069中的一种或多种进行发送所述软件升级请求。
3.根据权利要求1所述的终端设备OTA升级方法,其特征在于,还包括,所述平台根据产品市场需求设定所述终端设备发送所述软件升级请求时间的区间值和\或周期值,所述终端设备接收所述时间区间值和\或周期值,所述终端设备按照时间区间值和\或周期值发送所述软件升级请求。
4.根据权利要求1所述的终端设备OTA升级方法,其特征在于,所述终端设备发起软件升级请求之前,所述方法还包括:
所述终端设备向所述平台发起报备请求,所述平台对所述终端设备进行报备,并将与所述终端设备对应的产品安全验证值发送给所述终端设备;
所述平台接收所述软件升级请求,返回升级任务信息给所述终端设备的步骤包括:
所述平台从所述软件升级请求中获取所述产品安全验证值并进行验证;
所述平台将验证后的软件升级请求转发到消息中间件中,OTA集群服务器监听所述消息中间件获取软件升级请求;
所述OTA集群服务器根据软件升级请求中的设备唯一标识进行查询获取与所述终端设备对应的所述升级任务信息。
5.根据权利要求1所述的终端设备OTA升级方法,其特征在于,所述升级模式包括:强制升级、非强制升级、静默升级;在强制升级模式下,所述终端设备提示用户升级,并为用户提供多次延后升级的选择;在非强制升级模式下,所述终端设备提示用户,用户可选择取消不升级该次任务;在静默升级模式下,所述终端设备在后台执行升级。
6.根据权利要求4所述的终端设备OTA升级方法,其特征在于,所述OTA集群服务器根据软件升级请求中的设备唯一标识进行查询获取与所述终端设备对应的所述升级任务信息的步骤中,所述OTA集群服务器采用ElasticSearch技术与Redis数据库结合的技术进行搜索。
7.一种终端设备OTA升级系统,其特征在于,包括终端设备和平台,其特征在于,终端设备被配置为发送软件升级请求;平台被配置为接收所述软件升级请求,返回升级任务信息给所述终端设备,所述升级任务信息包括但不仅限于版本号信息、升级包下载URL地址、升级模式;所述终端设备被配置为根据升级模式提示用户,并接收用户的升级操作指示;所述终端设备被配置为根据所述升级操作指示和升级包下载URL地址下载软件升级包;所述终端设备下载完成后,被配置为依据所述软件升级包执行升级操作。
8.根据权利要求7所述的终端设备OTA升级系统,其特征在于,所述平台还被配置为根据产品市场需求设定所述终端设备发送所述软件升级请求的时间区间值和\或周期值,所述终端设备被配置为接收所述时间区间值和\或周期值,按照时间区间值和\或周期值发送所述软件升级请求。
9.根据权利要求7所述的终端设备OTA升级系统,其特征在于,所述终端设备发起软件升级请求之前,所述终端设备被配置为向所述平台发起报备请求,所述平台被配置为对所述终端设备进行报备,并将与所述终端设备对应的产品安全验证值发送给所述终端设备;
所述平台被配置为从所述软件升级请求中获取所述产品安全验证值并进行验证;
所述平台被配置为将验证后的软件升级请求转发到消息中间件中,所述平台的OTA集群服务器监听所述消息中间件获取软件升级请求;
所述OTA集群服务器被配置为根据软件升级请求中的设备唯一标识进行查询获取与所述终端设备对应的所述升级任务信息。
10.根据权利要求7所述的终端设备OTA升级系统,其特征在于,所述升级模式包括:强制升级、非强制升级、静默升级;在强制升级模式下,所述终端设备被配置为提示用户升级,并为用户提供多次延后升级的选择;在非强制升级模式下,所述终端设备被配置为提示用户升级,用户可选择取消不升级该次任务;在静默升级模式下,所述终端设备被配置为在后台执行升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010286395.1A CN111556488A (zh) | 2020-04-13 | 2020-04-13 | 一种终端设备ota升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010286395.1A CN111556488A (zh) | 2020-04-13 | 2020-04-13 | 一种终端设备ota升级方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111556488A true CN111556488A (zh) | 2020-08-18 |
Family
ID=72005697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010286395.1A Pending CN111556488A (zh) | 2020-04-13 | 2020-04-13 | 一种终端设备ota升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111556488A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935323A (zh) * | 2020-10-12 | 2020-11-13 | 江苏润和软件股份有限公司 | 一种远程lxc容器应用动态管理系统及方法 |
CN112114853A (zh) * | 2020-09-28 | 2020-12-22 | 杭州安恒信息技术股份有限公司 | 一种基于ota的软件升级方法、系统及相关装置 |
CN112540783A (zh) * | 2020-12-18 | 2021-03-23 | 航天信息软件技术有限公司 | 客户端升级方法、装置、存储介质及电子设备 |
CN112817680A (zh) * | 2021-02-03 | 2021-05-18 | 青岛海信传媒网络技术有限公司 | 一种升级提示方法及显示设备 |
CN113031986A (zh) * | 2021-03-26 | 2021-06-25 | 重庆紫光华山智安科技有限公司 | 特征比对算法动态加载方法、装置、终端及介质 |
CN113067730A (zh) * | 2021-03-18 | 2021-07-02 | 上海挚想科技有限公司 | 一种物联网终端设备的升级方法、系统及介质 |
CN113254038A (zh) * | 2021-05-25 | 2021-08-13 | 青岛海信移动通信技术股份有限公司 | 一种升级确认方法、服务器、线控器和移动终端 |
CN114466098A (zh) * | 2022-01-19 | 2022-05-10 | 上海黑眸智能科技有限责任公司 | 基于app交互的ota升级方法、系统、设备端以及app端 |
CN115022164A (zh) * | 2022-05-31 | 2022-09-06 | 广州助蜂网络科技有限公司 | 一种基于dos命令的设备远程升级控制方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141463A (zh) * | 2015-09-21 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 基于服务器策略的路由器远程升级系统及方法 |
CN105677363A (zh) * | 2016-02-03 | 2016-06-15 | 四川长虹电器股份有限公司 | Ota升级系统 |
CN105933150A (zh) * | 2016-04-20 | 2016-09-07 | 努比亚技术有限公司 | Ota升级方法、装置及系统 |
CN105978921A (zh) * | 2016-07-29 | 2016-09-28 | 重庆长安汽车股份有限公司 | 一种车载通信终端远程升级方法 |
CN107239302A (zh) * | 2017-05-10 | 2017-10-10 | 努比亚技术有限公司 | 一种固件升级方法、终端和服务器 |
CN109347931A (zh) * | 2018-09-28 | 2019-02-15 | 四川长虹电器股份有限公司 | 一种基于分层交互设计的ota升级下载方法 |
CN110347411A (zh) * | 2019-07-17 | 2019-10-18 | 深圳市英博超算科技有限公司 | 程序安装/升级方法、装置以及系统 |
-
2020
- 2020-04-13 CN CN202010286395.1A patent/CN111556488A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141463A (zh) * | 2015-09-21 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 基于服务器策略的路由器远程升级系统及方法 |
CN105677363A (zh) * | 2016-02-03 | 2016-06-15 | 四川长虹电器股份有限公司 | Ota升级系统 |
CN105933150A (zh) * | 2016-04-20 | 2016-09-07 | 努比亚技术有限公司 | Ota升级方法、装置及系统 |
CN105978921A (zh) * | 2016-07-29 | 2016-09-28 | 重庆长安汽车股份有限公司 | 一种车载通信终端远程升级方法 |
CN107239302A (zh) * | 2017-05-10 | 2017-10-10 | 努比亚技术有限公司 | 一种固件升级方法、终端和服务器 |
CN109347931A (zh) * | 2018-09-28 | 2019-02-15 | 四川长虹电器股份有限公司 | 一种基于分层交互设计的ota升级下载方法 |
CN110347411A (zh) * | 2019-07-17 | 2019-10-18 | 深圳市英博超算科技有限公司 | 程序安装/升级方法、装置以及系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114853A (zh) * | 2020-09-28 | 2020-12-22 | 杭州安恒信息技术股份有限公司 | 一种基于ota的软件升级方法、系统及相关装置 |
CN111935323A (zh) * | 2020-10-12 | 2020-11-13 | 江苏润和软件股份有限公司 | 一种远程lxc容器应用动态管理系统及方法 |
CN112540783A (zh) * | 2020-12-18 | 2021-03-23 | 航天信息软件技术有限公司 | 客户端升级方法、装置、存储介质及电子设备 |
CN112540783B (zh) * | 2020-12-18 | 2024-05-24 | 航天信息软件技术有限公司 | 客户端升级方法、装置、存储介质及电子设备 |
CN112817680A (zh) * | 2021-02-03 | 2021-05-18 | 青岛海信传媒网络技术有限公司 | 一种升级提示方法及显示设备 |
CN113067730A (zh) * | 2021-03-18 | 2021-07-02 | 上海挚想科技有限公司 | 一种物联网终端设备的升级方法、系统及介质 |
CN113031986B (zh) * | 2021-03-26 | 2023-05-12 | 重庆紫光华山智安科技有限公司 | 特征比对算法动态加载方法、装置、终端及介质 |
CN113031986A (zh) * | 2021-03-26 | 2021-06-25 | 重庆紫光华山智安科技有限公司 | 特征比对算法动态加载方法、装置、终端及介质 |
CN113254038A (zh) * | 2021-05-25 | 2021-08-13 | 青岛海信移动通信技术股份有限公司 | 一种升级确认方法、服务器、线控器和移动终端 |
CN113254038B (zh) * | 2021-05-25 | 2024-03-08 | 青岛海信移动通信技术有限公司 | 一种升级确认方法、服务器、线控器和移动终端 |
CN114466098A (zh) * | 2022-01-19 | 2022-05-10 | 上海黑眸智能科技有限责任公司 | 基于app交互的ota升级方法、系统、设备端以及app端 |
CN114466098B (zh) * | 2022-01-19 | 2023-12-26 | 上海黑眸智能科技有限责任公司 | 基于app交互的ota升级方法、系统、设备端以及app端 |
CN115022164A (zh) * | 2022-05-31 | 2022-09-06 | 广州助蜂网络科技有限公司 | 一种基于dos命令的设备远程升级控制方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111556488A (zh) | 一种终端设备ota升级方法及系统 | |
CA2743685C (en) | Firmware upgrade system and method in a device management architecture | |
US7818405B2 (en) | Method and system for providing device-initiated software upgrades | |
US20140282487A1 (en) | Software update for a wireless communication device | |
CN100442901C (zh) | 在设备管理中监控和升级软件的方法及装置 | |
US7881745B1 (en) | Electronic device network employing provisioning techniques to update firmware and/or software in electronic devices | |
US8285864B2 (en) | Service delivery system using intermediary application management subsystem for managing setup provisioning delivery and updating of services | |
JP5391276B2 (ja) | インテリジェント移動体デバイス管理クライアント | |
WO2009003385A1 (fr) | Procédés, appareils et systèmes pour mettre à jour un équipement | |
US20120233299A1 (en) | Managing configurations of system management agents in a distributed environment | |
US20020032754A1 (en) | Method and apparatus for profiling in a distributed application environment | |
WO2017016210A1 (zh) | 软件版本管理方法及装置 | |
US20060200658A1 (en) | Agent framework for mobile devices | |
CN101515926A (zh) | 用于设备管理系统的设备管理方法 | |
CN103019757A (zh) | 一种在多台客户端间同步软件的方法、装置及系统 | |
EP2512064A1 (en) | Data configuration method and apparatus | |
CN113590169B (zh) | 应用部署方法、应用部署系统和计算机可读存储介质 | |
WO2016026329A1 (zh) | 终端的升级方法及装置 | |
KR100713412B1 (ko) | 이동통신단말을 이용한 검색 서비스 방법과 그를 위한 이동통신단말 및 서버 | |
CN115514667A (zh) | 接入服务处理方法、系统、装置、电子设备以及存储介质 | |
CN111770151A (zh) | 用于自定义流程的处理方法、装置、电子设备及存储介质 | |
CN114327519A (zh) | 一种在智能pos设备上安装应用的实现方法及装置 | |
EP1953957B1 (en) | A remote load system of network device and method thereof | |
CN104104701A (zh) | 在线服务的配置更新的方法和系统 | |
US20100222048A1 (en) | System and method for provisioning mobile communication device upgrades |
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 |