CN110865831B - 关于在部署联网设备时进行改进的自动软件更新的方法 - Google Patents

关于在部署联网设备时进行改进的自动软件更新的方法 Download PDF

Info

Publication number
CN110865831B
CN110865831B CN201910795771.7A CN201910795771A CN110865831B CN 110865831 B CN110865831 B CN 110865831B CN 201910795771 A CN201910795771 A CN 201910795771A CN 110865831 B CN110865831 B CN 110865831B
Authority
CN
China
Prior art keywords
version
operating system
networked device
networking device
data center
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
CN201910795771.7A
Other languages
English (en)
Other versions
CN110865831A (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.)
OVH SAS
Original Assignee
OVH SAS
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 OVH SAS filed Critical OVH SAS
Publication of CN110865831A publication Critical patent/CN110865831A/zh
Application granted granted Critical
Publication of CN110865831B publication Critical patent/CN110865831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种在连接至网络的数据中心中部署配备有自动供应模式能力并且具有操作系统的已安装版本和相关联的包的联网设备的方法和系统。该方法包括以下步骤:a‑限定适用于数据中心的操作系统的目标版本和相关联的包;b‑维护包括操作系统的目标版本的一系列可获得且受支持的操作系统版本和相关联的包;c‑连接至网络,并且使联网设备通电;以及d‑将安装在联网设备上的操作系统的版本与操作系统的目标版本进行比较。

Description

关于在部署联网设备时进行改进的自动软件更新的方法
交叉引用
本申请要求于2018年8月27日提交的欧洲专利申请第18315023.4号的优先权。
技术领域
本技术涉及当在数据中心中部署联网设备时将最初安装在该联网设备上的软件自动更新至所需版本的改进的方法。
背景技术
在如今的数据中心中,正以与数据中心的扩展速度基本匹配的速度部署着诸如路由器和交换机的联网设备。本文中使用的“数据中心”不限于位于一个服务器农场的物理边界内的基础设施,而是包括作为进行部署、控制和维护以针对其内部消费或其他组织的消费提供基于计算机集群的服务的组织的无论是本地还是远程的所有基础设施。在任何联网设备可以在这样的数据中心中操作之前,其需要安装具有适用于数据中心的版本的软件(包括操作系统、包和配置)。
然而,出自工厂或者经翻新的所部署的联网设备不一定预先加载有适用于数据中心的软件版本。
最新的联网设备通常以自动且集中式的软件供应和配置的能力为特征。然而,在例如由于软件版本之间的兼容性问题而无法一次性将预先加载的软件升级/降级到适用的软件时,该能力就会遇到其局限性:在这种情况下,需要对部署的联网设备中受影响的联网设备进行人工干预,因此破坏了大规模全自动供应和配置可能带来的效率和安全性。
因此,存在对关于经改进的在部署最新的联网设备时进行软件更新的方法和系统的需要。
发明内容
本技术的各种实现方式提供了一种用于在连接至网络的数据中心中部署配备有自动供应模式能力并且具有操作系统的已安装版本和相关联的包的联网设备的方法,所述方法包括以下步骤:
a-限定适用于数据中心的操作系统的目标版本和相关联的包;
b-维护包括操作系统的目标版本的一系列可获得且受支持的操作系统版本和相关联的包;
c-连接至网络,并且使联网设备通电;
d-将安装在联网设备上的操作系统的版本与操作系统的目标版本进行比较:
(i)如果操作系统的已安装版本与操作系统的目标版本相匹配,则:-验证已安装包的名称列表与和操作系统的目标版本相关联并且适用于数据中心的包的名称列表完全匹配,并且如果不匹配,则安装与操作系统的目标版本相关联的包、以自动供应模式重新启动联网设备并且重复步骤d-,否则,在数据中心内以操作模式重新启动联网设备;
(ii)如果操作系统的已安装版本比操作系统的目标版本新,则:在联网设备上安装一系列受支持的操作系统内的操作系统的向下的下一版本,以自动供应模式重新启动联网设备并且重复步骤d-;并且
(iii)如果操作系统的已安装版本比操作系统的目标版本旧,则:在联网设备上安装一系列受支持的操作系统内的操作系统的向上的下一版本,以自动供应模式重新启动联网设备并且重复步骤d-。
在本技术的一个实施方式中,前述段落中的步骤d-还包括步骤d-(i)与d-(ii)之间的步骤:
(i′)如果操作系统的已安装版本比一系列受支持的操作系统内的操作系统的最新版新,则停止部署方法并且在数据中心内以非操作模式设置联网设备。
在另一实施方式中,联网设备实现了操作系统的语义化版本控制,其中,版本号包括若干类目,其中之一是主版本,并且对版本的比较是逐个类目进行的;在这种情况下,前述段落中的步骤d-(i′)中的较新版本是其主版本类目的编号比一系列受支持的操作系统内的操作系统的最新版本的主版本类目的编号高的版本。
在又一实施方式中,前述段落中的步骤d-由被加载到联网设备上的脚本文件执行。
在又一实施方式中,前述段落中的以操作模式重新启动联网设备的步骤包括将针对适用于数据中心的配置的配置文件加载到联网设备上。
在又一实施方式中,部署API和服务器连接至网络,部署API允许数据中心管理器控制方法的执行,并且服务器既充当部署API的HTTP代理又充当联网设备的DHCP服务器。
在又一实施方式中,服务器维护一系列可获得且受支持的操作系统内的每个操作系统和相关联的包的副本。
在又一实施方式中,服务器维护脚本文件的副本。
在又一实施方式中,服务器维护配置文件的副本。
在又一实施方式中,脚本文件实现了抽象层、内部API以及与联网设备接口的代码,使得抽象层可以是通用的,并且仅与联网设备接口的代码是特定于联网设备的。
在又一实施方式中,在前述段落中的步骤c-与步骤d-之间引入步骤c'-:在联网设备上下载能够从服务器获得的每个操作系统版本文件的副本,以及关于这样的版本文件的信息,以便查看到一系列可获得且受支持的操作系统版本。
在又一实施方式中,本技术的各种实现方式提供了一种用于在连接至网络的数据中心中部署配备有自动供应模式能力并且具有操作系统的已安装版本和相关联的包的联网设备的系统,该系统包括:
处理器;
非暂态计算机可读介质,该非暂态计算机可读介质包括控制逻辑,该控制逻辑在由所述处理器执行时使得:
a-限定适用于数据中心的操作系统的目标版本和相关联的包;
b-维护包括操作系统的目标版本的一系列可获得且受支持的操作系统版本和相关联的包;
c-连接至网络,并且使联网设备通电;
d-将安装在联网设备上的操作系统的版本与操作系统的目标版本进行比较:
(i)如果操作系统的已安装版本与操作系统的目标版本相匹配,则:
-验证已安装包的名称列表与和操作系统的目标版本相关联并且适用于数据中心的包的名称列表完全匹配,并且如果不匹配,则安装与操作系统的目标版本相关联的包、以自动供应模式重新启动联网设备并且重复步骤d-,否则,在数据中心内以操作模式重新启动联网设备;
(ii)如果操作系统的已安装版本比操作系统的目标版本新,则:在联网设备上安装一系列受支持的操作系统内的操作系统的向下的下一版本,以自动供应模式重新启动联网设备并且重复步骤d-;并且
(iii)如果操作系统的已安装版本比操作系统的目标版本旧,则:在联网设备上安装一系列受支持的操作系统内的操作系统的向上的下一版本,以自动供应模式重新启动联网设备并且重复步骤d-。
本技术的实现方式各自具有以上提及的目的和/或方面中的至少一者,但不一定具有所有目的和/或方面。
根据以下描述、附图和所附权利要求书,本技术的实现方式的附加和/或替选特征、方面和优点将变得明显。
附图说明
为了更好地理解本技术及其其他方面和另外的特征,参考以下结合附图使用的描述,在附图中:
图1(现有技术)示出了自动供应模式中涉及的要素和功能。
图2示出了根据本发明部署的基础设施。
图3示出了根据本发明的改进的自动软件更新过程。
图4详细描述了根据本发明对软件版本作出升级/降级决策的过程。
图5详细描述了根据本发明的替选实施方式对软件版本作出升级/降级决策的过程。
应当注意,除非本文中另有明确规定,否则附图不是按比例的。最后,不同附图间的相同的元素在附图中具有相同的附图标记。
具体实施方式
本文中引用的示例和条件语言主要旨在帮助读者理解本技术的原理,而不是将本技术的范围限制于如此具体引用的示例和条件。应当认识到,本领域技术人员可以设计出尽管在本文中未明确描述或示出但是仍然体现了本技术的原理并且被包括在其精神和范围内的各种布置。
此外,为了帮助理解,以下描述可以描述本技术的相对简化的实现方式。正如本领域技术人员将理解的,本技术的各种实现方式可以具有更大的复杂度。
在某些情况下,也可以提出被认为是对本技术的有益的修改示例。这样做仅仅是为了帮助理解,再次强调,而不是为了限定本技术的范围或阐述本技术的界限。这些修改并非是详尽的罗列,并且本领域技术人员可以进行其他但仍然在本技术的范围内的修改。此外,在没有提出修改示例的情况下,其不应被解释为不能进行修改和/或所描述的内容是实现本技术的该要素的唯一方式。
此外,本文中叙述本技术的原理、方面和实现方式的所有陈述,以及其具体示例,都旨在包括其结构上和功能上的等同方案,无论它们是目前已知的还是将来开发的。因此,例如,本领域技术人员应当认识到,本文中的任何框图表示体现本技术的原理的说明性电路的概念视图。类似地,应当认识到,任何流程图、流图、状态转换图、伪代码等表示可以在计算机可读介质中充分表示并且因此由计算机或处理器(无论是否明确示出这样的计算机或处理器)执行的各种过程。
可以通过使用专用硬件以及能够与适当的软件相关联地执行软件的硬件来提供附图中所示的各种要素(包括被标记为“联网设备”或“服务器”的任何功能块)的功能。在由处理器提供时,可以由单个专用处理器、由单个共享处理器或由多个单独的处理器(其中一些处理器可以是共享的)来提供功能。在本技术的一些实施方式中,处理器可以是通用处理器,例如中央处理单元(CPU)或诸如数字信号处理器(DSP)的专用于特定目的的处理器。在上文中,对术语“处理器”的明确使用不应被解释为专指能够执行软件的硬件,而是可以隐含地包括但不限于专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储装置。还可以包括传统和/或定制的其他硬件。
软件模块(或者仅被暗示为软件的模块)在本文中可以被表示为流程图要素或指示过程步骤和/或文本描述的性能的其他要素的任何组合。这些模块可以由被明确地或隐含地示出的硬件来执行。此外,应当理解,模块可以包括例如但不限于提供所需能力的计算机程序逻辑、计算机程序指令、软件、堆栈、固件、硬件电路或其组合。
通过适当利用这些基本原理,现在将考虑一些非限制性示例来说明本技术的各方面的各种实现方式。
部署在数据中心中的最新的联网设备具有用于自动且集中式供应和配置的能力,允许在部署附加设备和发展网络时提升可靠性并使启动成本最小化。
这样能力在市场上例如被称为“ZTP”(零接触供应,Zero Touch Provision的缩写)或者“POAP”(通电自动供应,PowerOn Auto Provision的缩写)。这分别出现在诸如Arista 7100和思科Nexus 3000等联网设备中。以下将其统称为“自动供应模式”。
在其核心,自动供应模式涉及结合图1(现有技术)描述的要素和功能。DHCP服务器1、脚本服务器2和软件服务器3都连接至网络4。注意,这是逻辑视图,并且所有服务器功能可以物理地驻留在单个物理服务器中。
当预装了操作系统和包的新的联网设备5连接至网络4时,发生以下步骤:
步骤1:在通电时,联网设备5在内部寻找配置文件;
步骤2:由于没有定位到配置文件,因此联网设备5进入自动供应模式并且保持在网络4中不操作;
步骤3:从外部定位DHCP服务器1,并且利用其接口IP地址、网关和DNS服务器IP地址进行自我引导;它还获取脚本服务器2的IP地址(TFTP类型服务器)或URL(HTTP类型服务器);
步骤4:从脚本服务器2下载脚本文件并且运行它;
步骤5:脚本文件指令使联网设备5下载并安装可从软件服务器3获得的软件映像(操作系统和包)和配置文件;
步骤6:联网设备5重新启动,定位其配置文件,并且因此不进入自动供应模式,并且变得在网络4中可操作。
在实现细节中,ZTP与POAP之间存在变体,但不影响前述段落中给出的自动供应模式的定义的一般性。
此外,联网设备供应商提供了大量的公开资料,并且详细说明了自动供应模式的功能(例如,思科针对POAP提供的指南:“Nexus 3000系列NX-OS基础配置指南,5.0(3)U3(1)版”,“使用通电自动供应”章节)。
然而,有一个问题会影响自动供应模式真正实现在所有情况下自动安装联网设备5的能力,即出自工厂(或经翻新)的联网设备5上预先加载的操作系统和包可以是这样的版本:使得无法仅通过安装来自软件服务器3的软件映像和配置文件(上述步骤5)一次性获得适用于网络的操作系统和包的版本(如下文的“目标版本”),无论与预先加载的版本相比是作为升级还是降级。实际上,从预先加载的版本到目标版本可能需要安装操作系统和包的中间版本。
此外,由于安装在联网设备5上的操作系统和包的预加载版本可能是未知的,或者对于与联网设备5同时被部署的所有联网设备是未知的,因此针对所有被部署的联网设备系统地使用自动供应模式可能导致它们中的某些无法实现自动升级/降级,从而保持非操作状态,并且需要进行人工干预以将其操作系统和包升级/降级到目标版本之后它们才可以操作。
本发明弥补了与在网络中部署联网设备时系统地使用自动供应模式相关联的缺点。这里将结合思科Nexus 3000类型的联网设备进行详细描述,但是本领域技术人员应当认识到,它同样适用于具有如前述段落中描述的自动供应模式的特征的设备中的任何设备。
结合图2描述了根据本发明部署的基础设施。数据中心管理器200通过链路204、网络201和链路205至207分别连接至后端202和数据中心203。可以在链路204至207上启用HTTPS协议。本领域技术人员应当认识到,该描述是通用的且是逻辑上的,而且实际上数据中心管理器200、网络201、后端202和数据中心203的部分或全部可以位于物理上的邻近位置。
现在将更详细地描述后端202。部署应用编程接口“API”220提供了REST类型的API,数据中心管理器200可以通过该API访问数据库221以维护部署任务以及诸如Redis的消息代理222。其他部件包括诸如Celery调度的任务调度器223,以及诸如Celery工作者(worker)的任务执行模块224。特别地,任务执行模块224运行为任何已部署的联网设备生成名称(例如主机名和域名)和配置的任务。任务执行模块224通过内部API连接至诸如OpenStack Mistral的工作流服务225以及配置管理数据库226,以更新和收集与如此部署的联网设备有关的信息。本领域技术人员将认识到,后端202以及更具体的部署API 220使数据中心管理器200能够控制根据本发明的方法的执行。
现在将更详细地描述数据中心203,在该数据中心中正部署着具有自动供应模式能力的联网设备5。服务器230既用作部署API 220的HTTP代理又用作联网设备5的DHCP服务器。在前一能力中,服务器230允许联网设备5在供应过程结束时收集其配置文件(前述段落中的步骤6)。在后一能力中,它允许联网设备5下载要执行的脚本文件(前述段落中的步骤4)以及操作系统和包的软件映像(前述段落中的步骤5)。如此,并且在本发明的具体实施方式中,服务器230充当在前述段落中描述的脚本服务器2和软件服务器3二者。
在本发明的一个实施方式中,服务器230可以用作软件映像的高速缓存,以避免每次后续附加部署联网设备时都必须向数据中心203发送这样的映像。
在部署联网设备5时,发生以下步骤:
-数据中心管理器200在部署API 220中输入联网设备5并将其标识为要部署在数据中心203中的装备;
-联系工作流服务225以获得特定于所部署的联网设备5的任何工作流,例如必要的IP地址;
-任务执行模块224收集进行部署所需的所有信息,以及生成针对联网设备5的配置文件和名称;
-联网设备5通电并且发起根据本发明的改进的自动软件更新过程,结合图3进行更完整的描述;
-一旦联网设备5完全更新至用于数据中心203的软件的目标版本并得到配置,则:再次联系工作流服务225以获得特定于部署检验的任何工作流以及对数据中心203的基础设施的所有其他层面的必要更新;以及-在部署API 220中将联网设备5的部署任务标注为已执行。
结合图3,描述了如应用于联网设备5的根据本发明的改进的自动软件更新过程。在步骤300中,联网设备5连接至数据中心203并通电。
为了能够根据适用于数据中心203的内容在联网设备5上安装操作系统和包的目标版本,从联网设备5上的未知的当前安装版本开始:
-部署API 220维护关于所有可获得且受支持的操作系统版本(以下称为“一系列受支持版本”),上述目标版本即是这一系列受支持版本内的一个,以及与这一系列受支持版本内的每个版本兼容的版本下的所有包的信息;
-服务器230维护具有所有不同版本的所有上述操作系统和包的副本。
由于联网设备5拥有自动供应模式能力并且不在内部定位配置文件,因而在步骤301中:
-联网设备5使用DHCP获取IP地址并发送请求;
-服务器230遵循DHCP过程根据当前安装了操作系统的网络设备5(例如NX-OS(思科装备)或EOS(Arista装备))来指定要下载的脚本文件;
-联网设备5执行该脚本:
-检测供应商特定库(例如python库)的存在或不存在,允许推断联网设备5的装备类型;
-通过执行虚拟路由和转发,建立对部署API 220的访问;
-从内部收集联网设备5的型号、版本和序列号,并且使用序列号与部署API 220确认需要在数据中心203中部署联网设备5;
-在进行这样的确认时:
-联网设备5从部署API 220下载用于其预期配置的文件;
-在联网设备5上下载能够从服务器230获得的所有包和版本;在本发明的一个实施方式中,使用md5sum来计算和验证下载文件的MD5哈希值,其中,这些文件的MD5哈希值可由部署API 220获得;
-在联网设备5上依次下载能够从服务器230获得的每个操作系统版本文件,收集关于操作系统版本的信息,然后将该文件从联网设备5中擦除,允许释放联网设备5上的存储空间;因此,联网设备5查看到一系列受支持版本;
-最后,联网设备5确定操作系统的当前安装版本与相继下载的所有版本相比如何以及在一系列受支持版本内的适应情况如何,并且能够推导出其应当遵循的从当前安装的版本到目标版本的升级/降级路径。
在该阶段,联网设备5仍处于自动供应模式。
在步骤302处,确定当前安装在联网设备5上的操作系统版本是否与用于数据中心203的目标版本匹配:如果不匹配,则在步骤308处作出关于一系列受支持版本中的要安装的下一版本的决策。如果没有可获得的版本,则在步骤309处停止该过程。
在步骤303处,进行对一系列受支持版本中的在步骤308处决定的操作系统的版本(无论是升级还是降级)的安装,并且擦除内部配置文件。
在步骤304处,重新启动联网设备5并且将其设置为自动供应模式(例如,通过擦除配置文件,或者强制以该模式重新启动)。
另一方面,如果在步骤302处确定操作系统的当前安装版本是目标版本,则在步骤305处,(通过可在联网设备5中获得的内部命令)验证已安装的包的名称列表与在数据中心203中作为目标的、针对操作系统的目标版本的包的名称列表完全匹配;如果不是,则在步骤306处安装已安装版本与目标版本之间的包的下一中间版本,并且在步骤304处联网设备5以自动供应模式重新启动。
因此重复步骤302和305直到确定安装在联网设备5上的操作系统和包两者的版本与用于数据中心203的目标版本匹配:在这种情况下,在步骤307处:
-脚本文件命令使联网设备5运行针对预期配置的文件并对其进行配置;
-联网设备5向部署API 220通知其已在数据中心203中启动并运行。
在一个实施方式中,脚本文件实现抽象层以及抽象层与和特定的联网设备5(例如Arista 7100或思科Nexus 3000)接口的代码之间和内部API。这允许后述的代码仅特定于该装备,从而实现诸如在联网设备5上安装软件并对联网设备5进行配置、收集诸如其序列号、硬件模型、软件版本的信息等功能,而可以针对以上结合图3描述的更高逻辑来编写对所有类型的装备通用的代码。
在下文中结合图4详细介绍了联网设备5决定其应当遵循的从当前安装版本到目标版本的操作系统的升级/降级路径的方式。其是图3中步骤302和308的详细视图。
它是以使用基于序列的标识符的常用的软件版本控制方案(也称为语义化版本控制)来完成的,但是对于本领域技术人员来说,在不脱离本发明的范围的情况下联网设备5也可以使用和利用其他的版本控制方案。
将假定向操作系统的每个版本分配由三个类目组成的唯一编号,其从左(主版本)到中间(次版本)到右(修补版本)在每个类目中都有编号,例如7.1.1。
在每个类目中,按递增顺序分配编号,可以根据情况将这些编号与按字母顺序分配的字母组合以对应于对操作系统的最新开发。
对版本号的比较是逐个类目进行的,其中赋予左侧(主版本)的优先级高于赋予右侧(修补版本)的优先级。例如,6.1.3对应于比6.1.2新的版本,但7.1.2对应于比6.1.3新的版本。
如前述段落所述,一系列可获得且受支持的操作系统版本是部署API220处的可获得的信息,并且这些版本可从服务器230获得。在这一系列受支持版本中,用于数据中心203的目标版本的信息也可以在部署API 220处获得。
在步骤401处,确定当前安装的操作系统版本(以下称为“已安装版本”)是否与目标版本匹配:如果匹配,则分支进入图3的步骤305。
如果不匹配,则在步骤402处测试已安装版本是否比目标版本旧(需要升级):
-如果是,则在步骤403处确定已安装版本是否比一系列受支持版本中的最旧版本旧:
-如果是,则在步骤404处决定在联网设备5中用一系列受支持版本中的最旧版本替换已安装版本,并且该过程分支到图3的步骤303(安装所决定的替换操作系统);
-如果不是,则在步骤405处决定在联网设备5中用一系列受支持版本中的向下的下一较新版本替换已安装版本,并且该过程分支到图3的步骤303(安装所决定的替换操作系统)。
如果在步骤402处已安装版本比目标版本新(需要降级),则:
-在步骤406处,确定已安装版本的主版本类目中的编号是否高于一系列受支持版本中的最新版本的主版本类目中的编号:
-如果是,则该过程停止,并且分支进行到图3的步骤309;这是为了避免给联网设备5部署与适用于数据中心203的操作系统不兼容的操作系统的风险;
-如果不是,则在步骤407处确定已安装版本是否比一系列受支持版本中的最新版本新:
-如果是,则在步骤408处决定在联网设备5中用一系列受支持版本中的最新版本替换已安装版本,并且该过程分支到图3的步骤303(安装所决定的替换操作系统);
-如果不是,则在步骤409处决定在联网设备5中用一系列受支持版本中向上的下一较旧版本替换已安装版本,并且该过程分支到图3的步骤303(安装所决定的替换操作系统)。
为了举例说明,将假设以下场景:部署API 220和服务器230维护有目标版本为7.1.1的信息以及关于以下操作系统版本的信息并使其可获得:6.1.1、6.1.3、7.1.0、7.1.1、7.2.1和7.2.3。下表可以用来说明操作系统安装过程以及联网设备5作出的安装决策:
当前安装的操作系统版本 联网设备5的下一安装版本
6.1.0 6.1.1
6.1.1 6.1.3
6.1.2 6.1.3
6.1.3 7.1.0
7.1.0 7.1.1(目标版本)
7.1.1 无需安装
7.2.1 7.1.1(目标版本)
7.2.3 7.2.1
7.2.4 7.2.3
8.0.1 无——过程停止
联网设备5重复下一版本安装直到操作系统的当前安装版本成为目标版本(7.1.1)。
在本发明的替选实施方式中,并且如图5所示,该过程如结合图4所描述的那样,除了步骤406至409被替换为以下步骤:
如果在步骤402处已安装版本比目标版本新(需要降级),则:
-在步骤506处,确定已安装版本是否比一系列受支持版本中的最新版本新:
-如果是,则该过程停止,并且分支进行到图3的步骤309;这是为了与结合图4所述过程相比承担甚至更少的给联网设备5部署与适用于数据中心203的操作系统不兼容的操作系统的风险;
-如果不是,则在步骤509处决定在联网设备5中用一系列受支持版本中向下的下一较新版本替换已安装版本,并且该过程分支到图
3的步骤303(安装所决定的替换操作系统)。
在上述语义化版本控制中,联网设备供应商可以在唯一的版本号中添加字母,例如,7.14e.23b。在这种情况下,为了在版本号之间进行比较,必须将字母和数字分开分组以进行字母数字比较(即:与按字母顺序的比较相反,一种“2”小于“12”的比较)。例如:
7.14e.23b 7 14 e 23 b
从左(主版本)到右(次/修补版本)进行比较。第一个不等确定了较高/较新的版本。例如:
Figure BDA0002180918220000131
7.14e.25a是较高/较新的版本。
Figure BDA0002180918220000132
7.14e.23b是较高/较新的版本。
对本领域技术人员而言,对本技术的上述实现方式的修改和改进可以变得明显。前面的描述旨在是示例性的而不是限制性的。因此,本技术的范围旨在仅受所附权利要求的范围的限制。

Claims (20)

1.一种在连接至网络的数据中心中部署配备有自动供应模式能力并且具有操作系统的已安装版本和相关联的包的联网设备的方法,所述方法包括以下步骤:
a-限定适用于所述数据中心的操作系统的目标版本和相关联的包;
b-维护包括操作系统的所述目标版本的一系列可获得且受支持的操作系统版本和相关联的包;
c-连接至所述网络,并且使所述联网设备通电;
d-将安装在所述联网设备上的操作系统的版本与所述操作系统的所述目标版本进行比较:
(i)如果操作系统的已安装版本与所述操作系统的所述目标版本相匹配,则:
-验证已安装包的名称列表与和操作系统的所述目标版本相关联并且适用于所述数据中心的包的名称列表完全匹配,并且如果不匹配,则安装与所述操作系统的所述目标版本相关联的包、以自动供应模式重新启动所述联网设备并且重复步骤d-,否则,在所述数据中心内以操作模式重新启动所述联网设备;
(ii)如果操作系统的所述已安装版本比所述操作系统的所述目标版本新,则:在所述联网设备上安装所述一系列受支持的操作系统内的操作系统的向下的下一版本,以所述自动供应模式重新启动所述联网设备并且重复步骤d-;并且
(iii)如果操作系统的所述已安装版本比所述操作系统的所述目标版本旧,则:在所述联网设备上安装所述一系列受支持的操作系统内的操作系统的向上的下一版本,以所述自动供应模式重新启动所述联网设备并且重复步骤d-。
2.根据权利要求1所述的方法,其中,步骤d-还包括步骤d-(i)与d-(ii)之间的步骤:
(i′)如果操作系统的所述已安装版本比所述一系列受支持的操作系统内的操作系统的最新版本新,则停止所述部署方法并且在所述数据中心内以非操作模式设置所述联网设备。
3.根据权利要求2所述的方法,其中,所述联网设备实现了操作系统的语义化版本控制,其中,版本号包括若干类目,所述类目之一是主版本,并且对版本的比较是逐个类目进行的,并且其中,步骤d-(i′)中的较新版本是其主版本类目的编号比所述一系列受支持的操作系统内的操作系统的最新版本的主版本类目的编号高的版本。
4.根据权利要求1所述的方法,其中,步骤d-由被加载到所述联网设备上的脚本文件执行。
5.根据权利要求1所述的方法,其中,以操作模式重新启动所述联网设备的步骤包括将针对适用于所述数据中心的配置的配置文件加载到所述联网设备上。
6.根据权利要求1所述的方法,其中,部署API和服务器连接至所述网络,并且其中,所述部署API允许数据中心管理器控制所述方法的执行,并且所述服务器既充当所述部署API的HTTP代理又充当所述联网设备的DHCP服务器。
7.根据权利要求6所述的方法,其中,所述服务器维护在所述一系列可获得且受支持的操作系统版本内的每个操作系统和相关联的包的副本。
8.根据权利要求6所述的方法,其中,所述服务器维护脚本文件的副本,所述脚本文件加载到所述联网设备上并且被配置成执行步骤d-。
9.根据权利要求6所述的方法,其中,所述服务器维护配置文件的副本,以操作模式重新启动所述联网设备的步骤包括将针对适用于所述数据中心的配置的配置文件加载到所述联网设备上。
10.根据权利要求4所述的方法,其中,所述脚本文件实现了抽象层、内部API以及与所述联网设备接口的代码,使得所述抽象层可以是通用的,并且仅与所述联网设备接口的所述代码是特定于所述联网设备的。
11.根据权利要求7所述的方法,其中,在步骤c-与步骤d-之间执行步骤c'-:
-在所述联网设备上下载能够从所述服务器获得的每个操作系统版本文件的副本,以及关于这样的版本文件的信息,以便查看到所述一系列可获得且受支持的操作系统版本。
12.一种用于在连接至网络的数据中心中部署配备有自动供应模式能力并且具有操作系统的已安装版本和相关联的包的联网设备的系统,所述系统包括:
处理器;
非暂态计算机可读介质,所述非暂态计算机可读介质包括控制逻辑,所述控制逻辑在由所述处理器执行时使得:
a-限定适用于所述数据中心的操作系统的目标版本和相关联的包;
b-维护包括操作系统的所述目标版本的一系列可获得且受支持的操作系统版本和相关联的包;
c-连接至所述网络,并且使所述联网设备通电;
d-将安装在所述联网设备上的操作系统的版本与所述操作系统的所述目标版本进行比较:
(i)如果操作系统的已安装版本与所述操作系统的所述目标版本相匹配,则:
-验证已安装包的名称列表与和操作系统的所述目标版本相关联并且适用于所述数据中心的包的名称列表完全匹配,并且如果不匹配,则安装与所述操作系统的所述目标版本相关联的包、以自动供应模式重新启动所述联网设备并且重复步骤d-,否则,在所述数据中心内以操作模式重新启动所述联网设备;
(ii)如果操作系统的所述已安装版本比所述操作系统的所述目标版本新,则:在所述联网设备上安装所述一系列受支持的操作系统内的操作系统的向下的下一版本,以所述自动供应模式重新启动所述联网设备并且重复步骤d-;并且
(iii)如果操作系统的所述已安装版本比所述操作系统的所述目标版本旧,则:在所述联网设备上安装所述一系列受支持的操作系统内的操作系统的向上的下一版本,以所述自动供应模式重新启动所述联网设备并且重复步骤d-。
13.根据权利要求12所述的系统,其中,步骤d-还包括在步骤d-(i)与d-(ii)之间的步骤:
(i′)如果操作系统的所述已安装版本比所述一系列受支持的操作系统内的操作系统的最新版本新,则停止所述部署方法并且在所述数据中心内以非操作模式设置所述联网设备。
14.根据权利要求13所述的系统,其中,所述联网设备实现了操作系统的语义化版本控制,其中,版本号包括若干类目,所述类目之一是主版本,并且对版本的比较是逐个类目进行的,并且其中,步骤d-(i′)中的较新版本是其主版本类目的编号比所述一系列受支持的操作系统内的操作系统的最新版本的主版本类目的编号高的版本。
15.根据权利要求12所述的系统,其中,步骤d-由被加载到所述联网设备上的脚本文件执行。
16.根据权利要求12所述的系统,其中,以操作模式重新启动所述联网设备的步骤包括将针对适用于所述数据中心的配置的配置文件加载到所述联网设备上。
17.根据权利要求12所述的系统,其中,部署API和服务器连接至所述网络,并且其中,所述部署API允许所述数据中心管理器控制所述处理器对包括在所述非暂态计算机可读介质中的控制逻辑的执行,并且所述服务器既充当所述部署API的HTTP代理又充当所述联网设备的DHCP服务器。
18.根据权利要求17所述的系统,其中,所述服务器维护以下至少之一:(i)所述一系列可获得且受支持的操作系统版本内的每个操作系统和相关联的包的副本;(ii)加载到所述联网设备上并被配置成执行步骤d-的脚本文件的副本以及/或者(iii)用于以操作模式重新启动所述联网设备的配置文件的副本,将针对适用于所述数据中心的配置的所述配置文件加载到所述联网设备上以操作模式重新启动所述联网设备。
19.根据权利要求12所述的系统,其中,加载到所述联网设备上并被配置成执行步骤d-的脚本文件实现了抽象层、内部API以及与所述联网设备接口的代码,使得所述抽象层可以是通用的,并且仅与所述联网设备接口的所述代码是特定于所述联网设备的。
20.根据权利要求18所述的系统,其中,在步骤c-与步骤d-之间执行步骤c'-:
-在所述联网设备上下载能够从所述服务器获得的每个操作系统版本文件的副本,以及关于这样的版本文件的信息,以便查看到所述一系列可获得且受支持的操作系统版本。
CN201910795771.7A 2018-08-27 2019-08-27 关于在部署联网设备时进行改进的自动软件更新的方法 Active CN110865831B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18315023.4A EP3617875B1 (en) 2018-08-27 2018-08-27 Method for improved automated software update upon deployment of a networking apparatus
EP18315023.4 2018-08-27

Publications (2)

Publication Number Publication Date
CN110865831A CN110865831A (zh) 2020-03-06
CN110865831B true CN110865831B (zh) 2022-05-27

Family

ID=63683821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910795771.7A Active CN110865831B (zh) 2018-08-27 2019-08-27 关于在部署联网设备时进行改进的自动软件更新的方法

Country Status (6)

Country Link
US (1) US10860313B2 (zh)
EP (1) EP3617875B1 (zh)
CN (1) CN110865831B (zh)
CA (1) CA3052759A1 (zh)
DK (1) DK3617875T3 (zh)
PL (1) PL3617875T3 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382262B1 (en) * 2017-05-10 2019-08-13 Appian Corporation Dynamic application configuration techniques
CN112667256A (zh) * 2020-12-22 2021-04-16 北京浪潮数据技术有限公司 一种基于kolla-ansible的OpenStack跨版本升级方法
CN113014432A (zh) * 2021-02-26 2021-06-22 山东英信计算机技术有限公司 一种服务器网络配置装置及服务器网络配置方法
CN113722075B (zh) * 2021-10-29 2022-02-18 苏州浪潮智能科技有限公司 一种任务管理方法、系统、设备及存储介质
DE102022206329A1 (de) * 2022-06-23 2023-12-28 Siemens Mobility GmbH Betriebsverfahren und Netzwerk

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136770A (zh) * 2006-10-13 2008-03-05 中兴通讯股份有限公司 电信多分支网络管理系统的自动升级方法及装置
US9262152B1 (en) * 2015-01-22 2016-02-16 Bank Of America Corporation Modular system including management and deployment of software updates and revisions
CN107229492A (zh) * 2017-05-17 2017-10-03 东软集团股份有限公司 服务器系统的安装方法、装置、系统、存储介质及设备
CN107659458A (zh) * 2017-11-02 2018-02-02 广东亿迅科技有限公司 基于git版本控制的Agent部署升级方法及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132331A1 (en) * 2003-12-15 2005-06-16 Wood Joseph S. Assisting in configuring network devices
CN101356519B (zh) * 2006-06-19 2011-11-09 三星电子株式会社 用于可利用空中机制的便携式设备的程序升级系统及方法
US10104432B2 (en) * 2006-12-01 2018-10-16 Time Warner Cable Enterprises Llc Methods and apparatus for software provisioning of a network device
US8438618B2 (en) * 2007-12-21 2013-05-07 Intel Corporation Provisioning active management technology (AMT) in computer systems
JP2013517565A (ja) * 2010-01-12 2013-05-16 グーグル インコーポレイテッド オペレーティングシステム自動更新手順
US8806471B2 (en) * 2010-09-28 2014-08-12 Red Hat, Inc. Upgrade and downgrade in package update operations
US9483284B2 (en) * 2011-02-25 2016-11-01 Red Hat, Inc. Version compatibility determination
US9286047B1 (en) * 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
US20150220322A1 (en) * 2014-02-06 2015-08-06 Src, Inc. System and method for reinstalling, upgrading or downgrading an operating system
US20160112252A1 (en) * 2014-10-15 2016-04-21 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
TWI533216B (zh) * 2014-12-11 2016-05-11 佳世達科技股份有限公司 作業系統更新方法
WO2016114799A1 (en) * 2015-01-16 2016-07-21 Hewlett-Packard Development Company, L.P. Communicating a data image for installing an operating system
US10404837B2 (en) * 2015-09-30 2019-09-03 International Business Machines Corporation User datagram protocol (UDP) application handling during live kernel update
US10579361B1 (en) * 2016-12-14 2020-03-03 Juniper Networks, Inc Systems and methods for efficiently updating software installed on network devices
US10289401B1 (en) * 2016-12-30 2019-05-14 Juniper Networks, Inc Systems and methods for efficiently downgrading operating systems installed on network devices
US10437580B2 (en) * 2017-09-11 2019-10-08 Apple Inc. Software updating methods and systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136770A (zh) * 2006-10-13 2008-03-05 中兴通讯股份有限公司 电信多分支网络管理系统的自动升级方法及装置
US9262152B1 (en) * 2015-01-22 2016-02-16 Bank Of America Corporation Modular system including management and deployment of software updates and revisions
CN107229492A (zh) * 2017-05-17 2017-10-03 东软集团股份有限公司 服务器系统的安装方法、装置、系统、存储介质及设备
CN107659458A (zh) * 2017-11-02 2018-02-02 广东亿迅科技有限公司 基于git版本控制的Agent部署升级方法及系统

Also Published As

Publication number Publication date
PL3617875T3 (pl) 2021-11-08
EP3617875B1 (en) 2021-06-16
US10860313B2 (en) 2020-12-08
CA3052759A1 (en) 2020-02-27
EP3617875A1 (en) 2020-03-04
US20200065091A1 (en) 2020-02-27
DK3617875T3 (da) 2021-07-19
CN110865831A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN110865831B (zh) 关于在部署联网设备时进行改进的自动软件更新的方法
CN108595221B (zh) PaaS平台的插件加载方法、装置、服务器及存储介质
CN101821727B (zh) 管理更新以创建虚拟机复制品
US9465625B2 (en) Provisioning of operating environments on a server in a networked environment
CN105681060B (zh) 一种虚拟化网络功能管理升级方法、装置及服务器
JP2003114801A (ja) コンピュータサービスおよびプログラマブルデバイスの管理を自動化するシステムおよび方法
US8171276B2 (en) Minimal startup mode for performing multiple-reboot configuration
US20140053149A1 (en) Fast and automatic deployment method for cluster system
US20120117557A1 (en) Method and system for upgrading wireless data card
KR100952585B1 (ko) 운영체제(os) 자동복구기능을 갖는 임베디드 시스템 및운영체제 자동복구 방법
CN103200271B (zh) Arm服务器及其自动化安装系统的方法
CN101393524A (zh) 固件更新方法及系统
EP4092524B1 (en) Ota differential upgrade method and system of master-slave architecture
EP4073630A1 (en) Package-based remote firmware update
CN105045640A (zh) 一种软件升级方法、装置及智能设备
US9058231B2 (en) Deployment of operating systems with detection of loop conditions
CN114003312A (zh) 大数据服务组件管理方法、计算机装置及存储介质
CN105183580A (zh) 一种引导程序的存储方法、故障恢复方法及设备
US20090265698A1 (en) Stacked hardware abstraction layer methods for maintaining software/hardware backward compatibility
CN116795423A (zh) 固件版本兼容性管理方法、装置、计算机设备及存储介质
CN114124684B (zh) 一种运用u盘实现零接触全自动部署网元的方法
CN106484474A (zh) 固件升级方法、装置及计算机
CN112230967A (zh) 一种基于传统分区的光模块固件可回退在线升级方法
CN104503811A (zh) 基于单存储区的通信设备升级方法及系统
EP4246315A1 (en) Electronic component for electronic equipment and a method for provisioning and updating such an electronic component

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