一种分布式软件升级方法及节点技术

技术编号:28372718 阅读:30 留言:0更新日期:2021-05-07 23:59
本发明专利技术公开一种分布式软件升级方法及节点,该方法包括:在第一节点基于补丁和/或安装包对第一软件包的版本进行更新,得到更新后的第一软件包;其中,所述第一软件包为分布式软件中的第一部分软件;若所述第一节点更新后的第一软件包的运行依赖于第二节点,则所述第一节点对所述第二节点进行检测;所述第二节点为运行或安装所述分布式软件中的第二部分软件的节点;所述第一部分软件与所述第二部分软件相同或至少部分不同;若检测结果表征所述第二节点处于预设运行状态,当所述第一节点能够运行更新后的所述第一软件包时,确定所述分布式软件升级成功。

【技术实现步骤摘要】
一种分布式软件升级方法及节点
本专利技术涉及边缘计算分布式云领域,尤其涉及一种分布式软件升级方法和节点。
技术介绍
边缘计算可视为一种分布式的云计算。不同于一般云计算部署在集中式数据中心机房中,边缘计算的特点是节点极其多,在地理上分布极为分散。由于边缘计算的这些特殊性,一旦出现需要软件更新或需要修复现有缺陷,升级、更新将变得非常困难。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种分布式软件升级方法和节点。为达到上述目的,本专利技术的技术方案是这样实现的:一种分布式软件升级方法,所述方法包括:在第一节点基于补丁和/或安装包对第一软件包的版本进行更新,得到更新后的第一软件包;其中,所述第一软件包为分布式软件中的第一部分软件;若所述第一节点更新后的第一软件包的运行依赖于第二节点,则所述第一节点对所述第二节点进行检测;所述第二节点为运行或安装所述分布式软件中的第二部分软件的节点;所述第一部分软件与所述第二部分软件相同或至少部分不同;若检测结果表征所述第二节点处于预设运行状态,则当所述第一节点能够运行更新后的所述第一软件包时,确定所述分布式软件升级成功。上述方案中,所述方法还包括:所述第一节点接收主节点分发的至少用于更新第一软件包的所述补丁和/或安装包。上述方案中,所述方法还包括:若所述第一节点更新后的第一软件包的运行不依赖于第二节点,则当所述第一节点能够运行更新后的所述第一软件包时确定所述分布式软件升级成功。上述方案中,所述第一节点对所述第二节点进行检测,包括:所述第一节点根据预设的检测时间间隔,对所述第二节点安装的所述分布式软件中的第二部分软件的运行状态进行检测。上述方案中,所述方法还包括:若所述第一节点对所述第二节点进行M次检测、且所述M次检测的检测结果均表征所述第二节点不处于所述预设运行状态,并且M次检测的总时长等于预设检测时长,则所述第一节点发送分布式软件升级失败的消息到所述主节点;其中,M为非0自然数。上述方案中,所述方法还包括:若所述第一节点对所述第二节点连续进行N次检测、且所述N次检测的检测结果均表征所述第二节点不处于所述预设运行状态,则所述第一节点发送分布式软件升级失败消息到所述主节点;其中,N为预设的检测次数门限值,且为非0自然数。上述方案中,所述方法还包括以下之一:当所述第一节点分布式软件升级成功时,若所述第一节点接收到所述主节点发送的回退命令,则所述第一节点将更新后的第一软件包降级为原始版本;当所述第一节点的所述第一软件包更新失败时,若所述第一节点接收到所述主节点发送的回退命令,则所述第一节点停止对所述第一软件包进行更新;当所述第一节点的所述第一软件包更新成功、且不能运行所述更新后的第一软件包时,若所述第一节点接收到所述主节点发送的回退命令,则所述第一节点将更新后的第一软件包降级为原始版本。一种分布式软件升级第一节点,所述第一节点包括:版本更新模块,用于基于补丁和/或安装包对第一软件包的版本进行更新,得到更新后的第一软件包;其中,所述第一软件包为分布式软件中的第一部分软件;状态检测模块,用于若更新后的第一软件包的运行依赖于第二节点,则对所述第二节点进行检测;所述第二节点为运行或安装所述分布式软件中的第二部分软件的节点;所述第一部分软件与所述第二部分软件相同或至少部分不同;确定升级成功模块,用于若检测结果表征所述第二节点处于预设运行状态,则当能够运行更新后的所述第一软件包时,确定所述分布式软件升级成功。上述方案中,所述第一节点还包括:接收模块;所述接收模块,用于接收主节点分发的至少用于更新第一软件包的所述补丁和/或安装包。上述方案中,所述确定升级成功模块,还用于若更新后的第一软件包的运行不依赖于第二节点,则当能够运行更新后的所述第一软件包时确定所述分布式软件升级成功。上述方案中,所述状态检测模块,还用于根据预设的检测时间间隔,对所述第二节点安装的所述分布式软件中的第二部分软件的运行状态进行检测。上述方案中,所述状态检测模块,还用于若对所述第二节点进行M次检测、且所述M次检测的检测结果均表征所述第二节点不处于所述预设运行状态,并且M次检测的总时长等于预设检测时长,则发送分布式软件升级失败的消息到主节点;其中,M为非0自然数。上述方案中,所述状态检测模块,还用于若对所述第二节点连续进行N次检测、且所述N次检测的检测结果均表征所述第二节点不处于所述预设运行状态,则发送分布式软件升级失败消息到主节点;其中,N为预设的检测次数门限值,且为非0自然数。上述方案中,所述版本更新模块,至少还用于以下之一:当分布式软件升级成功时,若接收到所述主节点发送的回退命令,则将更新后的第一软件包降级为原始版本;当所述第一软件包更新失败时,若接收到所述主节点发送的回退命令,则停止对所述第一软件包进行更新;当所述第一节点的所述第一软件包更新成功、且不能运行所述更新后的第一软件包时,若接收到所述主节点发送的回退命令,则将更新后的第一软件包降级为原始版本。本专利技术实施例所提供的一种分布式软件升级方法和节点,在第一节点更新后的第一软件包的运行依赖于第二节点的情况下,由第一节点检测第二节点的运行状态是否处于预设运行状态,若第二节点处于该预设运行状态,当第一节点能够运行更新后的所述第一软件包时,确定所述分布式软件升级成功。如此,通过使第一节点对其依赖的节点是否处于预设运行状态进行检测,避免了以往统一设置一个时间段等待该节点依赖的节点的运行状态满足预设运行状态,满足后该节点再执行其他操作,这样节约了等待时间,提高了使第一节点上更新后的第一软件包能够运行的效率,从而提高了分布式软件升级的效率。附图说明图1为本专利技术实施例提供的一种分布式软件升级方法实现流程示意图一;图2为本专利技术实施例提供的一种分布式软件升级方法实现流程示意图二;图3为本专利技术实施例提供的一种分布式软件升级环境架构示意图;图4为本专利技术实施例提供的一种第一节点结构示意图;图5为本专利技术实施例提供的一种第一节点结构示意图。具体实施方式以上所述,仅为本专利技术的较佳实施例而已,并非用于限定本专利技术的保护范围。相关技术关于分布式软件升级的方法主要有以下三种:文献1.一种软件升级的方法该专利技术提供一种软件升级的方法,该方法构建的升级平台,独立于软件、独立应用在不同产品或项目中,使用时平台客户端自动查找补丁服务器,并从补丁服务器获取补丁包,平台自动校验补丁有效性,支持断点续传,下载并验证完成后进而进行补丁升级操作。补丁在平台中采用根据定义任务自动下载、手动下载;根据定义任务自动升级和手动升级:该专利技术的优点是,使用描述语言描述、解析补丁包,补丁使用通用的压缩处理,传送迅速、安全可靠,可杜绝网络数据堵塞等情况的发生,而且能及时发现补丁下载、安装时出现的问题,解决了软件更新、不同客户端版本管理以及自动下载更新本文档来自技高网...

【技术保护点】
1.一种分布式软件升级方法,其特征在于,所述方法包括:/n在第一节点基于补丁和/或安装包对第一软件包的版本进行更新,得到更新后的第一软件包;其中,所述第一软件包为分布式软件中的第一部分软件;/n若所述第一节点更新后的第一软件包的运行依赖于第二节点,则所述第一节点对所述第二节点进行检测;所述第二节点为运行或安装所述分布式软件中的第二部分软件的节点;所述第一部分软件与所述第二部分软件相同或至少部分不同;/n若检测结果表征所述第二节点处于预设运行状态,则当所述第一节点能够运行更新后的所述第一软件包时,确定所述分布式软件升级成功。/n

【技术特征摘要】
1.一种分布式软件升级方法,其特征在于,所述方法包括:
在第一节点基于补丁和/或安装包对第一软件包的版本进行更新,得到更新后的第一软件包;其中,所述第一软件包为分布式软件中的第一部分软件;
若所述第一节点更新后的第一软件包的运行依赖于第二节点,则所述第一节点对所述第二节点进行检测;所述第二节点为运行或安装所述分布式软件中的第二部分软件的节点;所述第一部分软件与所述第二部分软件相同或至少部分不同;
若检测结果表征所述第二节点处于预设运行状态,则当所述第一节点能够运行更新后的所述第一软件包时,确定所述分布式软件升级成功。


2.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
所述第一节点接收主节点分发的至少用于更新第一软件包的所述补丁和/或安装包。


3.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
若所述第一节点更新后的第一软件包的运行不依赖于第二节点,则当所述第一节点能够运行更新后的所述第一软件包时确定所述分布式软件升级成功。


4.根据权利要求1中所述的方法,其特征在于,所述第一节点对所述第二节点进行检测,包括:
所述第一节点根据预设的检测时间间隔,对所述第二节点安装的所述分布式软件中的第二部分软件的运行状态进行检测。


5.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
若所述第一节点对所述第二节点进行M次检测、且所述M次检测的检测结果均表征所述第二节点不处于所述预设运行状态,并且M次检测的总时长等于预设检测时长,则所述第一节点发送分布式软件升级失败的消息到主节点;其中,M为非0自然数。


6.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
若所述第一节点对所述第二节点连续进行N次检测、且所述N次检测的检测结果均表征所述第二节点不处于所述预设运行状态,则所述第一节点发送分布式软件升级失败消息到主节点;其中,N为预设的检测次数门限值,且为非0自然数。


7.根据权利要求5或6中所述的方法,其特征在于,所述方法还包括以下之一:
当所述第一节点分布式软件升级成功时,若所述第一节点接收到所述主节点发送的回退命令,则所述第一节点将更新后的第一软件包降级为原始版本;
当所述第一节点的所述第一软件包更新失败时,若所述第一节点接收到所述主节点发送的回退命令,则所述第一节点停止对所述第一软件包进行更新;
当所述第一节点的所述第一软件包更新成功、且不能运行所述更新后的第一软件包时,若所述第一节点接收到所述主节点发送的回退命令,则所述第...

【专利技术属性】
技术研发人员:赵怡陆尧徐京京
申请(专利权)人:中移苏州软件技术有限公司中国移动通信集团有限公司
类型:发明
国别省市:江苏;32

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

1