CN115658096A - 一种客户端软件远程ota升级的集群控制方法、系统和装置 - Google Patents
一种客户端软件远程ota升级的集群控制方法、系统和装置 Download PDFInfo
- Publication number
- CN115658096A CN115658096A CN202210862779.2A CN202210862779A CN115658096A CN 115658096 A CN115658096 A CN 115658096A CN 202210862779 A CN202210862779 A CN 202210862779A CN 115658096 A CN115658096 A CN 115658096A
- Authority
- CN
- China
- Prior art keywords
- ota
- client
- software
- server
- upgrading
- 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
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及软件升级技术领域,尤其涉及一种客户端软件远程OTA升级的集群控制方法、系统和装置,方法包括:客户端OTA引擎与服务端OTA引擎之间进行数据的上报与接收;前端网页调用RestfulApi进入服务端OTA引擎,服务端OTA引擎去数据库中查询软件版本相关数据然后将查询的数据返回给前端;Web网页端上传新的软件包时,请求服务端OTA引擎,服务端OTA引擎存储新包到文件服务器的同时将新的软件包版本储存到数据库;主动升级模式针对全局或针对具体客户端节点设置执行计划,自定义升级模式针对具体客户端节点设置执行计划,执行计划最终转换为Cron表达式存储在数据库中。本发明可以将由于软件OTA升级导致的不可用风险尽可能降低。
Description
技术领域
本发明涉及软件升级技术领域,尤其涉及一种客户端软件远程OTA升级的集群控制方法、系统和装置。
背景技术
现有的对客户端软件进行远程升级的方式,一般是当服务端发布新版本软件升级包时,客户端程序通过比对本地版本和服务器版本,如果小于此版本则进行升级。
但上述升级方式中,升级粒度太粗、一旦新的软件包有重大缺陷,那么就会造成影响面积大的后果,而且现有升级方式不具备自定义策略升级、不能集群集中化管理升级、难以做到去争对具体某个或者某些节点去实施升级、每个客户端软件容易形成孤岛,难以追踪和统计各个客户端软件版本、升级过程和节点链路状态不可跟踪。
鉴于此,如何克服上述现有技术所存在的技术问题是本技术领域亟待解决的难题。
发明内容
本发明的目的之一在于克服上述现有技术中的存在的技术问题,提供一种客户端软件远程OTA升级的集群控制方法、系统和装置,使用Cron表达式、开源作业调度系统Quartz、开源通信框架Supersocket和SignalR建立一套OTA升级集群控制中心,在性能、跨平台、易用性上有高质量的保证;将软件OTA升级过程进行360度全方位信息化管理起来、使软件OTA升级过程可视化、升级失败原因可追踪;通过制定升级策略和选择待升级的客户端来分批次迭代升级,从而将由于软件OTA升级导致的不可用风险尽可能降低。
本发明是这样实现的:
第一方面,本发明提供一种客户端软件远程OTA升级的集群控制方法,包括:
客户端OTA引擎与服务端OTA引擎之间进行数据的上报与接收;
前端网页调用RestfulApi进入服务端OTA引擎,服务端OTA引擎去数据库中查询软件版本相关数据然后将查询的数据返回给前端;
Web网页端上传新的软件包时,请求服务端OTA引擎,服务端OTA引擎存储新包到文件服务器的同时将新的软件包版本储存到数据库;
Web控制中心设置有主动升级模式和自定义升级模式两种模式,所述主动升级模式针对全局或针对具体客户端节点设置执行计划,所述自定义升级模式针对具体客户端节点设置执行计划,执行计划最终转换为Cron表达式存储在数据库中。
进一步的,所述主动升级模式具体包括:
所述服务端OTA引擎检测到有新的软件包部署时,去数据库中查找版本低于服务器版本并且是主动升级模式的客户端节点;
找到这些客户端节点的TCP连接通道后,下发升级指令、是否空闲时候升级的设置、升级包的下载链接地址给对应的客户端OTA引擎;
所述客户端OTA引擎收到升级指令后,下载新的软件包,执行升级动作。
进一步的,所述自定义升级模式具体包括:
通过Web控制中心选择单个或多个客户端节点,制定自定义Cron表达式升级计划;
制定完成后,所述服务端OTA引擎将Cron表达式升级计划持久化到数据库中,同时找到客户端节点对应的TCP连接通道,下发升级计划指令、Cron表达式升级计划、是否空闲时候升级的设置、升级包的下载链接地址给对应的客户端OTA引擎;
所述客户端OTA引擎借助Quartz将Cron表达式生成对应的计划任务,等待达到任务执行时间的时候触发升级动作。
进一步的,对于制定的Cron表达式升级计划,升级成功后所述客户端OTA引擎将任务从Quartz中停止并移除,若升级失败则待达到触发条件继续执行升级。
进一步的,所述升级动作具体包括:
检测客户端软件是否运行;
若正在运行,读取配置判断是否为空闲时候升级;
若配置了空闲时候升级的设置则每隔预设时间定时检测软件是否还在运行,直到软件非运行状态才进行升级,若没有配置空闲时候升级的设置则停止当前软件进程,下载新的软件包覆盖当前软件版本;
实时将升级处理日志通过Tcp连接通道上报至所述服务端OTA引擎,升级完成后将客户端软件版本上报至所述服务端OTA引擎,所述服务端OTA引擎将接收到的数据持久化到数据库中。
进一步的,所述客户端OTA引擎与服务端OTA引擎之间进行数据的上报与接收具体包括:
数据上报:所述客户端OTA引擎将软件代号、软件版本以及客户端的mac地址和ip地址上报到所述服务端OTA引擎,所述服务端OTA引擎将接收到的数据持久化到数据库中;
数据接收:所述客户端OTA引擎接收来自所述服务端OTA引擎的指令和数据,根据指令和数据执行相应的动作。
进一步的,在将新的软件包版本储存到数据库时,如果新的软件包的版本未指定,则数据库自动按照版本号递增规则进行版本指定。
进一步的,所述主动升级模式和所述自定义升级模式都可以选择是否在软件空闲的时候进行升级,所述软件空闲是指待升级的客户端软件是否正在运行,若未运行即为空闲,若正在运行则为不空闲。
第二方面,本发明提供一种客户端软件远程OTA升级的集群控制系统,用于实现如第一方面所述的客户端软件远程OTA升级的集群控制方法,系统包括客户端OTA引擎、服务端OTA引擎以及Web控制中心,其中,所述客户端OTA引擎作为服务宿主运行在客户端系统中,适配windows和linux;所述服务端OTA引擎和所述Web控制中心部署运行在云服务器上,兼容windows和linux;所述Web控制中心采用前端框架Angular开发;所述服务端OTA引擎通过SuperSocket开启TCP协议端口监听服务,接收所述客户端OTA引擎连接建立通道从而进行全双工通信;所述Web控制中心与所述服务端OTA引擎的指令集交互通过SignalR进行双向通信;所述Web控制中心与所述服务端OTA引擎的常规数据集交互通过RestfulApi实现。
第三方面,本发明提供一种客户端软件远程OTA升级的集群控制装置,装置包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器设置为执行如第一方面所述的客户端软件远程OTA升级的集群控制方法。
综上所述,本发明的有益效果为:使用Cron表达式、开源作业调度系统Quartz、开源通信框架Supersocket和SignalR建立一套OTA升级集群控制中心,在性能、跨平台、易用性上有高质量的保证;将软件OTA升级过程进行360度全方位信息化管理起来、使软件OTA升级过程可视化、升级失败原因可追踪;通过制定升级策略和选择待升级的客户端来分批次迭代升级,从而将由于软件OTA升级导致的不可用风险尽可能降低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例1提供的一种客户端软件远程OTA升级的集群控制系统的架构示意图;
图2为本发明实施例1提供的数据上报流程框图;
图3为本发明实施例1提供的主动升级流程框图;
图4为本发明实施例1提供的自定义升级流程框图;
图5为本发明实施例2提供的一种客户端软件远程OTA升级的集群控制方法的流程图;
图6为本发明实施例2提供的主动升级模式具体流程图;
图7为本发明实施例2提供的自定义升级模式具体流程图;
图8为本发明实施例2提供的升级动作具体流程图;
图9为本发明实施例3提供的一种客户端软件远程OTA升级的集群控制装置的结构示意图。
具体实施方式
OTA英文全称是Over-the-Air Technology,即空间下载技术,是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。
简而言之,OTA就是推送更新数据包,当你的手机在联网时,就会收到更新提示。OTA升级是目前智能手机操作系统IOS/Android等提供的标准软件升级方式。它功能强大,可以无损失升级系统,主要通过网络(例如WiFi、3G)自动下载OTA升级包、自动升级,但是也支持通过下载OTA升级包到SD卡升级。
本发明正是基于上述OTA技术提供的一种客户端软件远程OTA升级的集群控制方法、系统和装置。本发明涉及到的缩略语、英文和关键术语定义列表如下:
1、Cron表达式–一种定义时间的特定格式字符串;
2、Quartz–一种作业调度框架;
3、SuperSocket–一种轻量级可扩展的Socket开发框架;
4、Restful风格-一种软件架构风格、设计风格;
5、Https–一种安全性的ssl加密传输协议;
6、Angular-一种前端应用设计框架与开发平台;
7、SignalR-一种开源的库,作用于客户端与服务端之间的相互通信。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明是一种特定功能系统的体系结构,因此在具体实施例中主要说明各结构模组的功能逻辑关系,并不对具体软件和硬件实施方式做限定。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合,各个步骤在符合逻辑、不冲突的情况下也可以调换先后顺序。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1:
如图1所示,本发明实施例1提供一种客户端软件远程OTA升级的集群控制系统,该系统包括客户端OTA引擎、服务端OTA引擎以及Web控制中心,其中,所述客户端OTA引擎作为服务宿主运行在客户端系统中,适配windows和linux;所述服务端OTA引擎和所述Web控制中心部署运行在云服务器上,兼容windows和linux等主流服务器;所述Web控制中心采用主流前端框架Angular开发;所述服务端OTA引擎通过SuperSocket开启TCP协议端口监听服务,接收所述客户端OTA引擎连接建立通道从而进行全双工通信;所述Web控制中心与所述服务端OTA引擎的指令集交互通过SignalR进行双向通信;所述Web控制中心与所述服务端OTA引擎的常规数据集交互通过RestfulApi实现。
继续参考图1,在本发明的系统中,一个服务端对应多个客户端。服务端OTA引擎以及Web控制中心均设置在服务端内,除此之外,服务端内还用于接收以及存储软件升级包。而每个客户端内均包括一个客户端OTA引擎,以通过客户端OTA引擎和服务端OTA引擎进行交互,以获取软件升级包,对客户端内的相应软件进行升级。
基于本实施例的上述系统架构,客户端OTA引擎和服务端OTA引擎之间可以实现数据上报与接收。参考图2所示,数据上报流程如下:客户端OTA引擎将软件代号、软件版本以及客户端的mac地址和ip地址上报服务端OTA引擎,服务端OTA引擎将接收到数据持久化到数据库中。另外,基于本实施例的上述系统架构,Web控制中心提供客户端版本集群查看功能。具体的,由前端网页调用RestfulApi进入服务端OTA引擎,服务端OTA引擎去数据库中查询软件版本相关数据然后将查询的数据返回给前端。数据接收:客户端OTA引擎接收来自服务端OTA引擎的指令和数据,根据指令和数据执行相应的动作。需说明,图2中将客户端OTA引擎简写为客户端引擎,将服务端OTA引擎简写为服务端引擎。
基于本实施例的上述系统架构,升级包的部署过程具体如下:Web网页端上传软件新包,请求服务端OTA引擎,服务端OTA引擎存储新包到文件服务器的同时将新的软件包版本储存到数据库,如果新软件包版本未指定则数据库自动进行版本号递增。
基于本实施例的上述系统架构,其软件升级模式通过Web控制中心进行设置,且可以设置主动升级模式和自定义升级模式两种模式,两种模式都可以选择是否在软件空闲的时候进行升级,软件空闲是指待升级的客户端软件是否正在运行。对于主动升级模式:可以全局设置或针对具体客户端节点去设置,全局设置对所有节点生效。对于自定义升级模式:针对具体客户端节点去设置执行计划,执行计划最终转换Cron表达式存储在数据库中。
参考图3所示,基于本实施例的上述系统架构,对于主动升级模式,具体过程如下:服务端OTA引擎检测到有新的软件包部署,去数据库中查找版本低于服务器版本并且是主动升级模式的客户端节点,找到这些客户端节点的TCP连接通道,下发升级指令、是否空闲时候升级的设置、升级包的下载链接地址给客户端OTA引擎,客户端OTA引擎收到升级指令后,下载新的软件包,执行升级动作。该过程的流程动作由Web控制中心上传新的软件包到服务端OTA引擎,服务端OTA引擎制作出升级包,然后将升级包下发到客户端OTA引擎,客户端OTA引擎对软件立即升级。需说明,图3中将客户端OTA引擎简写为客户端引擎,将服务端OTA引擎简写为服务端引擎。
参考图4所示,基于本实施例的上述系统架构,对于自定义升级模式,具体过程如下:通过Web控制中心选择单个或多个客户端节点,制定自定义Cron表达式升级计划,制定完成后,服务端OTA引擎将Cron表达式升级计划持久化到数据库中,同时找到客户端节点对应的TCP连接通道,下发升级计划指令、Cron表达式升级计划、是否空闲时候升级的设置、升级包下载地址给客户端OTA引擎。客户端OTA引擎借助Quartz将Cron表达式生成对应的计划任务,等待达到任务执行时间时候触发升级动作。该过程的流程动作由Web控制中心上传新的软件包到服务端OTA引擎,服务端OTA引擎制作出升级包,然后将升级包下发到客户端OTA引擎,客户端OTA引擎将Cron表达式升级计划发给计划任务调度器(也即Quartz),借助Quartz对软件触发升级。需说明,图4中将客户端OTA引擎简写为客户端引擎,将服务端OTA引擎简写为服务端引擎。
基于本实施例的上述系统架构,本实施例的升级动作具体如下:检测客户端软件是否运行?如果正在运行,读取配置判断是否是空闲时候升级,若配置了空闲时候升级的设置则每隔5秒定时检测软件是否运行,直到软件非运行状态才进行升级,若没有配置空闲时候升级的设置则停止当前软件进程,下载新的软件包覆盖当前软件版本,实时将升级处理日志通过Tcp连接通道上报至服务端OTA引擎,升级完成后将客户端软件版本上报至服务端OTA引擎,服务端OTA引擎将接收到的数据持久化到数据库中。
基于本实施例的上述系统架构,本实施例制定的Cron表达式升级计划示例如下:例如"0 15 10**?*"表示上午10:15执行升级、"0 0 2**?"表示凌晨2点执行升级,升级成功后客户端引擎将任务从Quartz中停止并移除,升级失败则达到触发条件后继续执行升级。
综上所述,本发明实施例使用Cron表达式、开源作业调度系统Quartz、开源通信框架Supersocket和SignalR建立一套OTA升级集群控制中心,在性能、跨平台、易用性上有高质量的保证;将软件OTA升级过程进行360度全方位信息化管理起来、使软件OTA升级过程可视化、升级失败原因可追踪;通过制定升级策略和选择待升级的客户端来分批次迭代升级,从而将由于软件OTA升级导致的不可用风险尽可能降低。
实施例2:
本发明实施例2提供一种客户端软件远程OTA升级的集群控制方法,以用于实施例1提供的客户端软件远程OTA升级的集群控制系统,如图5所示,本实施例的方法包括如下步骤。
步骤101:客户端OTA引擎与服务端OTA引擎之间进行数据的上报与接收。
步骤102:前端网页调用RestfulApi进入服务端OTA引擎,服务端OTA引擎去数据库中查询软件版本相关数据然后将查询的数据返回给前端。
步骤103:Web网页端上传新的软件包时,请求服务端OTA引擎,服务端OTA引擎存储新包到文件服务器的同时将新的软件包版本储存到数据库。
步骤104:Web控制中心设置有主动升级模式和自定义升级模式两种模式,所述主动升级模式针对全局或针对具体客户端节点设置执行计划,所述自定义升级模式针对具体客户端节点设置执行计划,执行计划最终转换为Cron表达式存储在数据库中。
具体的,在本实施例的一个优选方案中,所述客户端OTA引擎与服务端OTA引擎之间进行数据的上报与接收具体可扩展为如下的数据上报、数据接收过程。
数据上报:所述客户端OTA引擎将软件代号、软件版本以及客户端的mac地址和ip地址上报到所述服务端OTA引擎,所述服务端OTA引擎将接收到的数据持久化到数据库中。
数据接收:所述客户端OTA引擎接收来自所述服务端OTA引擎的指令和数据,根据指令和数据执行相应的动作。
在本实施例的一个优选方案中,在将新的软件包版本储存到数据库时,如果新的软件包的版本未指定,则数据库自动按照版本号递增规则进行版本指定。
在本实施例的一个优选方案中,所述主动升级模式和所述自定义升级模式都可以选择是否在软件空闲的时候进行升级,所述软件空闲是指待升级的客户端软件是否正在运行,若未运行即为空闲,若正在运行则为不空闲。
参考图6,在本实施例的一个优选方案中,所述主动升级模式具体包括如下步骤。
步骤201:所述服务端OTA引擎检测到有新的软件包部署时,去数据库中查找版本低于服务器版本并且是主动升级模式的客户端节点。
步骤202:找到这些客户端节点的TCP连接通道后,下发升级指令、是否空闲时候升级的设置、升级包的下载链接地址给对应的客户端OTA引擎。
步骤203:所述客户端OTA引擎收到升级指令后,下载新的软件包,执行升级动作。
参考图7,在本实施例的一个优选方案中,所述自定义升级模式具体包括如下步骤。
步骤301:通过Web控制中心选择单个或多个客户端节点,制定自定义Cron表达式升级计划。
步骤302:制定完成后,所述服务端OTA引擎将Cron表达式升级计划持久化到数据库中,同时找到客户端节点对应的TCP连接通道,下发升级计划指令、Cron表达式升级计划、是否空闲时候升级的设置、升级包的下载链接地址给对应的客户端OTA引擎。
步骤303:所述客户端OTA引擎借助Quartz将Cron表达式生成对应的计划任务,等待达到任务执行时间的时候触发升级动作。另外,对于制定的Cron表达式升级计划,升级成功后所述客户端OTA引擎将任务从Quartz中停止并移除,若升级失败则待达到触发条件继续执行升级。
参考图8,在本实施例的一个优选方案中,所述升级动作具体包括如下步骤。
步骤401:检测客户端软件是否运行。
步骤402:若正在运行,读取配置判断是否为空闲时候升级。若没有运行,可以直接开始进行升级。
步骤403:若配置了空闲时候升级的设置则每隔预设时间定时检测软件是否还在运行,直到软件非运行状态才进行升级,若没有配置空闲时候升级的设置则停止当前软件进程,下载新的软件包覆盖当前软件版本。
步骤404:实时将升级处理日志通过Tcp连接通道上报至所述服务端OTA引擎,升级完成后将客户端软件版本上报至所述服务端OTA引擎,所述服务端OTA引擎将接收到的数据持久化到数据库中。
综上所述,本发明实施例使用Cron表达式、开源作业调度系统Quartz、开源通信框架Supersocket和SignalR建立一套OTA升级集群控制中心,在性能、跨平台、易用性上有高质量的保证;将软件OTA升级过程进行360度全方位信息化管理起来、使软件OTA升级过程可视化、升级失败原因可追踪;通过制定升级策略和选择待升级的客户端来分批次迭代升级,从而将由于软件OTA升级导致的不可用风险尽可能降低。
实施例3:
在上述实施例2提供的客户端软件远程OTA升级的集群控制方法的基础上,本发明还提供了一种可用于实现上述方法的客户端软件远程OTA升级的集群控制装置,如图9所示,是本发明实施例的装置架构示意图。本实施例的客户端软件远程OTA升级的集群控制装置包括一个或多个处理器21以及存储器22。其中,图9中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例2中的客户端软件远程OTA升级的集群控制方法。处理器21通过运行存储在存储器22中的非易失性软件程序、指令以及模块,从而执行客户端软件远程OTA升级的集群控制装置的各种功能应用以及数据处理,即实现实施例2的客户端软件远程OTA升级的集群控制方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
程序指令/模块存储在存储器22中,当被一个或者多个处理器21执行时,执行上述实施例2中的客户端软件远程OTA升级的集群控制方法,例如,执行以上描述的图5-图8所示的各个步骤。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ReadOnlyMemory,简写为:ROM)、随机存取存储器(RandomAccessMemory,简写为:RAM)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种客户端软件远程OTA升级的集群控制方法,其特征在于,包括:
客户端OTA引擎与服务端OTA引擎之间进行数据的上报与接收;
前端网页调用RestfulApi进入服务端OTA引擎,服务端OTA引擎去数据库中查询软件版本相关数据然后将查询的数据返回给前端;
Web网页端上传新的软件包时,请求服务端OTA引擎,服务端OTA引擎存储新包到文件服务器的同时将新的软件包版本储存到数据库;
Web控制中心设置有主动升级模式和自定义升级模式两种模式,所述主动升级模式针对全局或针对具体客户端节点设置执行计划,所述自定义升级模式针对具体客户端节点设置执行计划,执行计划最终转换为Cron表达式存储在数据库中。
2.根据权利要求1所述的客户端软件远程OTA升级的集群控制方法,其特征在于,所述主动升级模式具体包括:
所述服务端OTA引擎检测到有新的软件包部署时,去数据库中查找版本低于服务器版本并且是主动升级模式的客户端节点;
找到这些客户端节点的TCP连接通道后,下发升级指令、是否空闲时候升级的设置、升级包的下载链接地址给对应的客户端OTA引擎;
所述客户端OTA引擎收到升级指令后,下载新的软件包,执行升级动作。
3.根据权利要求1所述的客户端软件远程OTA升级的集群控制方法,其特征在于,所述自定义升级模式具体包括:
通过Web控制中心选择单个或多个客户端节点,制定自定义Cron表达式升级计划;
制定完成后,所述服务端OTA引擎将Cron表达式升级计划持久化到数据库中,同时找到客户端节点对应的TCP连接通道,下发升级计划指令、Cron表达式升级计划、是否空闲时候升级的设置、升级包的下载链接地址给对应的客户端OTA引擎;
所述客户端OTA引擎借助Quartz将Cron表达式生成对应的计划任务,等待达到任务执行时间的时候触发升级动作。
4.根据权利要求3所述的客户端软件远程OTA升级的集群控制方法,其特征在于,对于制定的Cron表达式升级计划,升级成功后所述客户端OTA引擎将任务从Quartz中停止并移除,若升级失败则待达到触发条件继续执行升级。
5.根据权利要求2-4任一所述的客户端软件远程OTA升级的集群控制方法,其特征在于,所述升级动作具体包括:
检测客户端软件是否运行;
若正在运行,读取配置判断是否为空闲时候升级;
若配置了空闲时候升级的设置则每隔预设时间定时检测软件是否还在运行,直到软件非运行状态才进行升级,若没有配置空闲时候升级的设置则停止当前软件进程,下载新的软件包覆盖当前软件版本;
实时将升级处理日志通过Tcp连接通道上报至所述服务端OTA引擎,升级完成后将客户端软件版本上报至所述服务端OTA引擎,所述服务端OTA引擎将接收到的数据持久化到数据库中。
6.根据权利要求1-4任一所述的客户端软件远程OTA升级的集群控制方法,其特征在于,所述客户端OTA引擎与服务端OTA引擎之间进行数据的上报与接收具体包括:
数据上报:所述客户端OTA引擎将软件代号、软件版本以及客户端的mac地址和ip地址上报到所述服务端OTA引擎,所述服务端OTA引擎将接收到的数据持久化到数据库中;
数据接收:所述客户端OTA引擎接收来自所述服务端OTA引擎的指令和数据,根据指令和数据执行相应的动作。
7.根据权利要求1-4任一所述的客户端软件远程OTA升级的集群控制方法,其特征在于,在将新的软件包版本储存到数据库时,如果新的软件包的版本未指定,则数据库自动按照版本号递增规则进行版本指定。
8.根据权利要求1-4任一所述的客户端软件远程OTA升级的集群控制方法,其特征在于,所述主动升级模式和所述自定义升级模式都可以选择是否在软件空闲的时候进行升级,所述软件空闲是指待升级的客户端软件是否正在运行,若未运行即为空闲,若正在运行则为不空闲。
9.一种客户端软件远程OTA升级的集群控制系统,用于实现如权利要求1-8任一所述的客户端软件远程OTA升级的集群控制方法,其特征在于,包括客户端OTA引擎、服务端OTA引擎以及Web控制中心,其中,所述客户端OTA引擎作为服务宿主运行在客户端系统中,适配windows和linux;所述服务端OTA引擎和所述Web控制中心部署运行在云服务器上,兼容windows和linux;所述Web控制中心采用前端框架Angular开发;所述服务端OTA引擎通过SuperSocket开启TCP协议端口监听服务,接收所述客户端OTA引擎连接建立通道从而进行全双工通信;所述Web控制中心与所述服务端OTA引擎的指令集交互通过SignalR进行双向通信;所述Web控制中心与所述服务端OTA引擎的常规数据集交互通过RestfulApi实现。
10.一种客户端软件远程OTA升级的集群控制装置,其特征在于,装置包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器设置为执行权利要求1-8任一所述的客户端软件远程OTA升级的集群控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210862779.2A CN115658096A (zh) | 2022-07-21 | 2022-07-21 | 一种客户端软件远程ota升级的集群控制方法、系统和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210862779.2A CN115658096A (zh) | 2022-07-21 | 2022-07-21 | 一种客户端软件远程ota升级的集群控制方法、系统和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658096A true CN115658096A (zh) | 2023-01-31 |
Family
ID=85023920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210862779.2A Pending CN115658096A (zh) | 2022-07-21 | 2022-07-21 | 一种客户端软件远程ota升级的集群控制方法、系统和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658096A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032742A (zh) * | 2023-07-07 | 2023-11-10 | 珠海市深瑞智联科技有限公司 | 一种输电线路边与端监测设备的软件升级方法及系统 |
-
2022
- 2022-07-21 CN CN202210862779.2A patent/CN115658096A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032742A (zh) * | 2023-07-07 | 2023-11-10 | 珠海市深瑞智联科技有限公司 | 一种输电线路边与端监测设备的软件升级方法及系统 |
CN117032742B (zh) * | 2023-07-07 | 2024-05-28 | 长园智联科技(珠海)有限公司 | 一种输电线路边与端监测设备的软件升级方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582684B (zh) | 一种本地缓存数据的更新方法、装置、服务器及存储介质 | |
US9342381B2 (en) | Method and system for establishing a DLP-compliant environment | |
CN112506617B (zh) | Kubernetes集群中边车容器的镜像更新方法及装置 | |
WO2013075488A1 (zh) | 网元升级方法及装置 | |
CN111556488A (zh) | 一种终端设备ota升级方法及系统 | |
US10813169B2 (en) | Mesh network deployment kit | |
CN110543321A (zh) | Ota升级方法、装置、终端以及计算机可读存储介质 | |
US11601354B2 (en) | Distributed packet capture | |
CN112882738A (zh) | 一种微服务架构下的配置信息更新方法、装置及电子设备 | |
CN111752582A (zh) | 局域网内的软件更新方法、装置及电子设备 | |
US9928082B1 (en) | Methods and systems for remote device configuration | |
CN115658096A (zh) | 一种客户端软件远程ota升级的集群控制方法、系统和装置 | |
CN114064206A (zh) | 一种访问边缘节点的pod方法、系统、设备及存储介质 | |
CN104104701A (zh) | 在线服务的配置更新的方法和系统 | |
CN113268254A (zh) | 一种集群系统安装方法、装置、电子设备及存储介质 | |
CN112994915A (zh) | 一种sd-wan业务编排方法、系统、设备和存储介质 | |
CN111352642A (zh) | 服务设备及服务软件升级的方法 | |
US20210218801A1 (en) | Method, apparatus and storage medium for resource configuration | |
US9665364B2 (en) | Dual-bank telecommunication apparatus and method of upgrading firmware in dual-bank telecommunication apparatus | |
CN114662102A (zh) | 一种文件处理方法、装置及存储介质 | |
WO2016173122A1 (zh) | 网络查找方法及装置 | |
CN112306518A (zh) | 一种协议更新方法、装置及电子设备 | |
KR100456978B1 (ko) | 에이전트의 파일 다운로드 방법 | |
CN113472599B (zh) | 网络节点的数据通信方法及系统 | |
CN114374684B (zh) | 一种shell命令优化方法及系统 |
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 |