一种面向边缘终端的软件在线升级方法和系统技术方案

技术编号:37638804 阅读:14 留言:0更新日期:2023-05-25 10:05
本发明专利技术涉及计算机领域,提供一种面向边缘终端的软件在线升级方法和系统,基于C/S架构在分布式系统中部署控制中心模块和终端代理模块,采用容器技术对软件应用进行封装,提供基于容器技术的软件在线升级功能;控制中心模块部署在分布式系统的中心节点上,对各边缘终端进行监控和管理;终端代理模块部署在分布式系统各边缘终端节点上,提供对镜像的存储功能和对容器的运行管理功能,实现了分布式系统中面向边缘终端的软件在线升级,解决现有技术中边缘终端节点上的软件应用升级慢、升级难的技术问题。术问题。术问题。

【技术实现步骤摘要】
一种面向边缘终端的软件在线升级方法和系统


[0001]本专利技术涉及计算机
,特别涉及一种面向边缘终端的软件在线升级方法和系统。

技术介绍

[0002]随着信息技术的不断发展,为了应对快速变化的业务需求,软件应用功能迭代不断加速,传统的软件应用在快速移植、标准化等方面存在短板,无法实现对不同节点上的软件应用进行快速在线升级。容器技术的发展为软件在线升级提供了解决思路,利用容器技术对软件应用开发部署进行规范,屏蔽掉软件运行环境的底层差异,在分布式系统中应用容器技术能够为系统中各节点上软件应用带来高可用、灵活拓展等优点。
[0003]分布式系统规模不断扩大,节点数量不断增多,导致边缘终端节点上的软件应用面临升级慢、升级难的问题,如何高效快速对边缘终端节点上运行时软件进行在线升级操作是提升系统软件功能持续可用性的关键之一。因此,需要一种面向边缘终端的软件在线升级方法,在不影响功能可用性的前提下实现对终端节点上软件应用的运行时监控管理和在线远程升级功能。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供了一种面向边缘终端的软件在线升级方法,以解决现有技术中边缘终端节点上的软件应用升级慢、升级难的技术问题。所述面向边缘终端的软件在线升级方法应用于分布式系统,所述分布式系统在子节点部署有终端代理模块,并在中心节点上部署控制中心模块,该方法包括:
[0005]控制中心模块发送升级指令至终端代理模块;
[0006]所述终端代理模块根据所述升级指令判断本地存储模块是否存在镜像文件,若所述本地存储模块存在所述镜像文件,所述终端代理模块执行所述升级指令进行软件升级;
[0007]所述终端代理模块进行软件升级之后,将升级结果信息发送至所述控制中心模块。
[0008]进一步的,所述终端代理模块根据所述升级指令判断本地存储模块是否存在镜像文件,包括:
[0009]若所述本地存储模块不存在所述镜像文件,所述终端代理模块将拉取指令发送至所述控制中心模块;
[0010]所述控制中心模块根据所述拉取指令从镜像仓库拉取所述镜像文件,所述控制中心模块将所述镜像文件发送至所述终端代理模块的本地存储模块;
[0011]所述控制中心模块发送第二升级指令至所述终端代理模块;
[0012]所述终端代理模块根据所述第二升级指令,通过查询所述镜像文件进行软件升级;
[0013]所述终端代理模块进行软件升级之后,将第二升级结果信息发送至所述控制中心
模块。
[0014]进一步的,所述镜像仓库中的镜像文件为标准化镜像文件。
[0015]进一步的,所述终端代理模块向所述控制中心模块实时上报心跳信息并监听所述升级指令。
[0016]进一步的,所述终端代理模块向所述控制中心模块实时上报心跳信息并监听所述升级指令,包括:
[0017]所述控制中心模块实时收集各所述终端代理模块的心跳信息,获取各节点当前运行中的软件信息,形成全局视图;
[0018]所述终端代理模块对本地运行时的容器软件应用进行监控,收集实时信息并通过网络接口上传至所述控制中心模块。
[0019]进一步的,所述控制中心模块根据所述拉取指令从所述镜像仓库拉取所述镜像文件之后,所述终端代理模块对拉取的所述镜像文件进行完整性验证,并根据完整性验证结果判断是否获得第二拉取指令。
[0020]进一步的,所述升级指令包括目标节点、待升级软件镜像文件标识、待升级软件版本号、软件运行环境要求和软件功能描述。
[0021]进一步的,所述终端代理模块执行所述升级指令进行软件升级,包括:
[0022]启动待升级软件应用的新版本,如果新版本的所述待升级软件应用正常运行,关闭旧版本的所述待升级软件应用,完成所述待升级软件应用的替换升级;
[0023]如果启动待升级软件应用的新版本时存在资源抢占,关闭旧版本的所述待升级软件应用,再启动新版本的所述待升级软件应用,如果新版本的所述待升级软件应用无法正常运行,则进行软件回滚,强制结束所述待升级软件应用进程,重新启动旧版本的所述待升级软件应用,由所述终端代理模块将所述升级信息反馈至所述控制中心模块。
[0024]本专利技术实施例还提供了一种面向边缘终端的软件在线升级系统,以解决现有技术中边缘终端节点上的软件应用升级慢、升级难的技术问题。该系统包括:
[0025]升级指令发送模块,用于控制中心模块发送升级指令至终端代理模块;
[0026]镜像文件拉取模块,用于所述终端代理模块根据所述升级指令判断本地存储模块是否存在镜像文件,若所述本地存储模块存在所述镜像文件,所述终端代理模块执行所述升级指令进行软件升级;
[0027]软件升级模块,用于所述终端代理模块进行软件升级之后,将升级结果信息发送至所述控制中心模块。
[0028]与现有技术相比,本专利技术采用的上述至少一个技术方案能够达到的有益效果至少包括:本专利技术提供了一种面向边缘终端的软件在线升级方法,基于C/S架构在分布式系统中部署控制中心模块和终端代理模块,采用容器技术对软件应用进行封装,提供基于容器技术的软件在线升级功能;控制中心模块部署在分布式系统的中心节点上,对各边缘终端进行监控和管理;终端代理模块部署在分布式系统各边缘终端节点上,提供对镜像的存储功能和对容器的运行管理功能,实现了分布式系统中面向边缘终端的软件在线升级。
附图说明
[0029]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0030]图1是本专利技术实施例提供的一种面向边缘终端的软件在线升级方法流程图;
[0031]图2是本专利技术实施例提供的分布式系统架构示意图;
[0032]图3为本专利技术实施例提供的一种面向边缘终端的软件在线升级系统结构示意图。
具体实施方式
[0033]下面结合附图对本申请实施例进行详细描述。
[0034]以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0035]在本专利技术中,提供了一种面向边缘终端的软件在线升级方法,该方法包括:步骤S100:控制中心模块发送升级指令至终端代理模块;步骤S200:所述终端代理模块根据所述升级指令判断本地存储模块是否存在镜像文件,若所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向边缘终端的软件在线升级方法,其特征在于,所述面向边缘终端的软件在线升级方法应用于分布式系统,所述分布式系统在子节点部署有终端代理模块,并在中心节点上部署控制中心模块,包括:控制中心模块发送升级指令至终端代理模块;所述终端代理模块根据所述升级指令判断本地存储模块是否存在镜像文件,若所述本地存储模块存在所述镜像文件,所述终端代理模块执行所述升级指令进行软件升级;所述终端代理模块进行软件升级之后,将升级结果信息发送至所述控制中心模块。2.根据权利要求1所述的一种面向边缘终端的软件在线升级方法,其特征在于,所述终端代理模块根据所述升级指令判断本地存储模块是否存在镜像文件,包括:若所述本地存储模块不存在所述镜像文件,所述终端代理模块将拉取指令发送至所述控制中心模块;所述控制中心模块根据所述拉取指令从镜像仓库拉取所述镜像文件,所述控制中心模块将所述镜像文件发送至所述终端代理模块的本地存储模块;所述控制中心模块发送第二升级指令至所述终端代理模块;所述终端代理模块根据所述第二升级指令,通过查询所述镜像文件进行软件升级;所述终端代理模块进行软件升级之后,将第二升级结果信息发送至所述控制中心模块。3.根据权利要求1所述的一种面向边缘终端的软件在线升级方法,其特征在于,所述终端代理模块向所述控制中心模块实时上报心跳信息并监听所述升级指令。4.根据权利要求3所述的一种面向边缘终端的软件在线升级方法,其特征在于,所述终端代理模块向所述控制中心模块实时上报心跳信息并监听所述升级指令,包括:所述控制中心模块实时收集各所述终端代理模块的心跳信息,获取各节点当前运行中的软件信息,形成全局视图;所述终端代理模块对本地运行时的容器软件应用进行监控,收集实时信息并通过网络接口上传至所述控制中心...

【专利技术属性】
技术研发人员:张洋吴娜潘妍张晓王超娄文龙
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1