CN108170439A - 用于管理多个分布式服务器上的机器镜像的系统和方法 - Google Patents

用于管理多个分布式服务器上的机器镜像的系统和方法 Download PDF

Info

Publication number
CN108170439A
CN108170439A CN201711281201.3A CN201711281201A CN108170439A CN 108170439 A CN108170439 A CN 108170439A CN 201711281201 A CN201711281201 A CN 201711281201A CN 108170439 A CN108170439 A CN 108170439A
Authority
CN
China
Prior art keywords
instruction
component
service processor
remote server
machine images
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.)
Granted
Application number
CN201711281201.3A
Other languages
English (en)
Other versions
CN108170439B (zh
Inventor
J·普林斯路
G·塔莎
R·李
J·阿娜马来
C·董
A·古尔陈珂
M·库克曼
I·卫莱茨
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.)
Aveva Software LLC
Original Assignee
Schneider Electric Software LLC
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 Schneider Electric Software LLC filed Critical Schneider Electric Software LLC
Publication of CN108170439A publication Critical patent/CN108170439A/zh
Application granted granted Critical
Publication of CN108170439B publication Critical patent/CN108170439B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本申请涉及用于管理多个分布式服务器上的机器镜像的系统和方法。系统经网络管理多个分布式服务器上的机器镜像。服务处理器生成用于在远程服务器上构建机器镜像的安装指令,机器镜像包括组件,安装指令包括用于使远程服务器从组件的源访问组件的指令。反应式管理处理器耦接到服务处理器、访问组件的源,以检测是否存在组件的更新,以及向服务处理器通知检测到的更新的存在。响应于来自反应式管理处理器的更新的通知,服务处理器生成用于在远程服务器上重新构建修正的机器镜像的修正的安装指令。服务处理器传输用于重新构建修正的机器镜像的修正的安装指令和全局重新构建命令。

Description

用于管理多个分布式服务器上的机器镜像的系统和方法
技术领域
所公开的发明涉及管理机器镜像,并且更具体地涉及用于管理多个分布式服务器上的机器镜像的分布式系统。
背景技术
在连接到网络的计算设备上安装软件更新的现有系统和方法基于软件的发布者将更新的软件文件经网络推送至计算设备。然后,根据从发布者获得的指令将更新的软件安装在计算设备上。
需要的是解决跨区域和云供应商的网络来维护具有复杂安装的应用容器的问题的技术。需要的是使得依赖于基于云的临时性机器实例的在线服务能够将它们的机器镜像的目录自动保持为最新,这对于安全性和工程效率是有益的。将在线软件与来自所有软件供应商的最新安全补丁同步保持最新是至关重要的。
发明内容
本发明的示例实施例解决跨云供应商和区域来维护和更新具有复杂安装的应用容器的问题。
在本发明的示例实施例中,分布式系统经计算机网络管理多个分布式服务器上的机器镜像。服务处理器生成用于在远程服务器上构建机器镜像的安装指令,该机器镜像包括至少一个组件,该安装指令包括用于让远程服务器经网络从至少一个组件的源访问至少一个组件的指令。服务处理器将用于构建机器镜像的安装经计算机网络传输到远程服务器的多个分布式服务器。
耦接到服务处理器的反应式管理处理器访问至少一个组件的源,以检测是否存在该至少一个组件的更新,并且向服务处理器通知存在检测到的更新。
响应于服务处理器从反应式管理处理器接收到更新的通知,服务处理器生成用于在远程服务器上构建修正的机器镜像的修正的安装指令,修正的安装指令包括用于让远程服务器经网络从至少一个组件的源访问至少一个组件的更新的指令。服务处理器将用于重新构建修正的机器镜像的修正的安装指令和全局重新构建命令经计算机网络传输到远程服务器的多个分布式服务器。
全局重新构建命令由服务处理器响应于对安装指令的改变、对已安装软件组件的改变、对所使用的库的改变或者对基本操作系统补丁状态的改变中的至少一个而传输。
至少一个组件的源可以是软件组件的发布者或者存储软件组件的存储设备。
服务处理器还被配置为生成用于使自动功能测试在已经在远程服务器上被构建之后针对机器镜像而被执行的指令,用于功能测试的指令与安装指令一起经计算机网络被传输到远程服务器的多个分布式服务器。
服务处理器还被配置为生成用于使自动功能测试在已经在远程服务器上被重新构建之后针对修正的机器镜像而被执行的修正的指令,用于功能测试的修正的指令与修正的安装指令一起经计算机网络被传输到远程服务器的多个分布式服务器。
对于计算机网络中的远程服务器的多个分布式服务器中的每个分布式服务器,机器镜像构建器软件执行用于在远程服务器上构建机器镜像的安装指令。
本发明的示例实施例通过利用组件的非常规并且非一般的布置来控制(harness)网络体系结构并且利用它,以经计算机网络管理多个分布式服务器上的机器镜像,从而跨基于云的供应商和区域的网络来维护和更新具有复杂安装的应用容器。
附图说明
图1例示本发明的示例实施例,该示例实施例示出包括计算机网络中的多个分布式服务器和服务处理器的分布式系统。服务处理器被配置为生成用于在分布式服务器上构建机器镜像的安装指令以及生成用于在已经在分布式服务器上被构建之后针对机器镜像执行的自动功能测试。反应式管理处理器耦接到服务处理器并且被配置为访问机器镜像的至少一个组件的源,以检测是否存在该至少一个组件的更新,以及向服务处理器通知检测到的更新的存在。服务处理器被配置为响应于由反应式管理处理器检测到更新,生成重新构建在分布式服务器上构建的机器镜像的修正的指令并且将全局重新构建命令分发到分布式服务器。
图2例示本发明的示例实施例,该示例实施例示出服务处理器已经生成在分布式服务器上构建机器镜像的安装指令。
图3例示本发明的示例实施例,该示例实施例示出计算机网络中的分布式服务器已经接收到在服务器上构建机器镜像的安装指令。
图3A例示本发明的示例实施例,该示例实施例示出机器镜像的组件以及机器镜像构建器基于接收到的安装指令而在分布式服务器上对它们进行安装的示意图。
图4例示本发明的示例实施例,该示例实施例示出反应式管理处理器访问机器镜像的至少一个组件的源,并且检测是否已存在该至少一个组件的更新。反应式管理处理器被示为向服务处理器通知检测到的更新的存在。服务处理器被示为响应于由反应式管理处理器检测到更新,生成重新构建在分布式服务器上构建的机器镜像的修正的指令并且将全局重新构建命令分发到分布式服务器。
图5例示本发明的示例实施例,该示例实施例示出计算机网络中的分布式服务器已经接收到在服务器上重新构建修正的机器镜像的修正的安装指令。
图6例示本发明的示例实施例,该示例实施例示出对反应式管理处理器访问机器镜像的若干供应者源组件以及搜索供应者的目录以寻找组件的任何更新的存在的较详细描述。反应式管理处理器被示为向服务处理器通知存在检测到的更新。
图7是响应于反应式管理处理器检测到更新,由服务处理器执行以生成重新构建在分布式服务器上构建的机器镜像的修正的指令,并且将全局重新构建命令分发到分布式服务器的示例程序化方法的流程图。
具体实施方式
本发明的示例实施例解决跨分布式的基于云的供应商和区域的网络来维护具有复杂安装的应用容器的问题。本发明的示例实施例使得依赖于基于云的临时性机器实例的在线服务能够自动地使它们的机器镜像的目录保持最新,以使在线软件与来自所有软件供应商的最新安全补丁保持最新。
图1例示本发明的示例实施例,该示例实施例示出包括计算机网络(例如,因特网)120中的多个分布式供应商云服务器130(1)、130(2)和130(3)以及机器镜像构建器服务处理器100的分布式系统。服务处理器100被配置为生成在分布式服务器上构建机器镜像的安装指令以及生成在已经在分布式服务器上被构建之后针对机器镜像执行的自动功能测试。反应式管理处理器110耦接到服务处理器100并且它们可以在同一机器上运行。反应式管理处理器110被配置为访问机器镜像的至少一个组件的源,以检测是否存在该至少一个组件的更新,以及向服务处理器100通知检测到的更新的存在。服务处理器100被配置为响应于由反应式管理处理器110检测到更新,生成重新构建在分布式服务器130(1)、130(2)和130(3)上构建的机器镜像的修正的指令以及将全局重新构建命令分发到分布式服务器。
图2例示本发明的示例实施例,该示例实施例示出服务处理器100已经在步骤103中生成了在分布式服务器130(1)、130(2)和130(3)上构建机器镜像的安装指令作为配方(recipe)脚本115。
在步骤104中,服务处理器100将配方脚本115发送到每个供应商云服务器。
配方脚本115的示例可以包括以下指令:
[1]在供应商云服务器处运行机器镜像构建器
[2]从第一供应者的因特网URL获得第一组件并且安装
[3]从第二供应者的URL获得第二组件并且安装
[4]创建目录“install_files”
[5]使用对于“install_files”的证书来从存储装置下载“A_file”
[6]安装“A_file”
[7]运行所安装的机器镜像的功能测试
[8]从库中删除先前的机器镜像
[9]将所安装的机器镜像存储在库中
从第一供应者的因特网URL获得第一组件并且安装的脚本指令[2]的示例在表格A中示出:
表格A
install package'Java(TM)8 Update 111'do
source
'http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111- windows-x64.exe'
end
服务处理器100还被配置为生成用于使自动功能测试在已经在每个远程服务器130(1)、130(2)和130(3)上被构建之后针对机器镜像执行的指令,用于功能测试的指令与安装指令脚本115一起经计算机网络120传输到远程服务器的多个分布式服务器130(1)、130(2)和130(3)。
用于服务器130(1)上的已完成的机器镜像的自动功能测试的脚本指令的示例在表格B中示出:
表格B
在步骤105中,服务处理器100还将目标云供应商以及对于每个目标云供应商的区域目标的集合的列表发送到每个供应商云服务器。
服务处理器100包括处理器106,处理器106包括双中央处理器单元(CPU)或者多CPU 107/107’、随机存取存储器(RAM)108和只读存储器(ROM)109。存储器108和/或109包括用于执行服务处理器100的功能的计算机程序代码。传输器/接收器TX/RX 101实现与计算机网络120的通信。
图3例示本发明的示例实施例,该示例实施例示出计算机网络120中的分布式服务器130(1)已经接收到脚本115中的在服务器上构建机器镜像的安装指令。在步骤303中,分布式服务器130(1)接收用于构建具有远程访问的虚拟机和功能测试的配方脚本。在步骤304中,分布式服务器130(1)运行配方脚本115。分布式服务器130(1)从组件的相应供应者140经由它们相应的因特网URL访问脚本115中识别的组件。供应者140可以是软件组件的发布者。分布式服务器130(1)还可以从存储软件组件的存储设备135访问脚本115中识别的组件。所访问的组件然后由机器镜像构建器安装在分布式服务器130(1)上。对于计算机网络120中的远程服务器的多个分布式服务器130(1)、130(2)和130(3)的每一个,机器镜像构建器软件执行脚本115中的用于在分布式服务器130(1)上构建机器镜像的安装指令。所安装的机器镜像然后可以被存储在库131中。
分布式服务器130(1)包括处理器136,处理器136包括双中央处理器单元(CPU)或者多CPU 137/137’、随机存取存储器(RAM)138和只读存储器(ROM)139。存储器138和/或139包括用于执行分布式服务器130(1)的功能的计算机程序代码。传输器/接收器TX/RX 131实现经计算机网络120与组件供应者的通信以及与文件存储装置135和库131的通信。
图3A例示本发明的示例实施例,该示例实施例示出机器镜像的组件以及机器镜像构建器基于脚本115中的接收到的安装指令而在分布式服务器130(1)上对它们进行安装的示意图。机器镜像的组件的示例是:
Windows 2008R2+SQL Server+JDK 1.8.74+DYNSIM 5.3.2+Software Agent(软件代理)。
a)OS(Windows 2008R2)
b)数据库(SQL Server)
c)应用容器(JDK 1.8.74)
d)应用(DYNSIM 5.3.2)
e)实用程序服务(Software Agent 0.1.5)
在分布式服务器130(1)的基本操作系统上创建示例机器镜像20、以及组件和它们的依赖性的示例。镜像源机器镜像20包括用于软件、目标列表105和基本镜像30的信息。
a)目标列表是应当接收得到的机器镜像的云供应商和区域的列表。
b)基本镜像是由OS供应商(Canonical、Red Hat和Microsoft)发布的仅包含操作系统的最新版本的最小机器镜像。
图4例示本发明的示例实施例,该示例实施例示出反应式管理处理器110,反应式管理处理器110包括组件供应者的数据库112。反应式管理处理器110被示为在114处访问机器镜像的至少一个组件的组件供应者140源的因特网URL。反应式管理处理器110被示为在116处检测是否存在该至少一个组件的更新。反应式管理处理器110被示为在118处向服务处理器100通知检测到的更新的存在。
反应式管理处理器110包括处理器436,处理器436包括双中央处理器单元(CPU)或者多CPU 437、随机存取存储器(RAM)438和只读存储器(ROM)439。存储器438和/或439包括用于执行反应式管理处理器110的功能的计算机程序代码。传输器/接收器TX/RX433实现经计算机网络120与组件供应者的通信以及与文件存储装置440的通信。
服务处理器100被示为在步骤102’处从供应者接收更新的组件的标识。服务处理器100被示为在步骤103’处生成重新构建在分布式服务器130(1)、130(2)和130(3)上构建的机器镜像的修正的指令脚本115’。服务处理器100被示为响应于由反应式管理处理器110检测到更新,在步骤105’处将全局重新构建命令分发到分布式服务器130(1)、130(2)和130(3)。
图5例示本发明的示例实施例,该示例实施例示出计算机网络120中的分布式服务器130(1)在步骤302’处接收到用于利用修正的配方脚本115’进行全局重新构建的触发程序(trigger)。分布式服务器130(1)在步骤303’处接收用于在服务器130(1)上重新构建修正的机器镜像的修正的安装指令脚本115’。分布式服务器130(1)在步骤304’处运行修正的配方脚本115’以在服务器上重新构建修正的机器镜像。分布式服务器130从组件的相应供应者140经由它们相应的因特网URL来访问脚本115’中识别的组件。供应者140可以是软件组件的发布者。分布式服务器130还可以从存储软件组件的存储设备135访问脚本115’中识别的组件。所访问的组件然后由机器镜像构建器安装在分布式服务器130(1)上。对于计算机网络120中的远程服务器的多个分布式服务器130(1)、130(2)和130(3)中的每一个,机器镜像构建器软件执行脚本115’中的用于在分布式服务器130(1)上重新构建机器镜像的修正的安装指令。所安装的修正的机器镜像然后可以被存储在库131中。
图6例示本发明的示例实施例,该示例实施例示出对反应式管理处理器110访问机器镜像20的组件的若干供应者源140(1)、140(2)至140(I)并且搜索供应者的目录650(1)、650(2)至650(I)以寻找组件的任何更新的存在的较详细描述。反应式管理处理器被示为向服务处理器100通知存在检测到的更新。在可替代的实施例中,组件供应者可以将关于更新的存在的推送通知提供给反应式管理处理器。
反应式管理处理器110的存储器48存储被配置为访问供应者源140(1)、140(2)至140(I)以及搜索供应者的目录650(1)、650(2)至650(I)以寻找机器镜像20的组件的任何更新的存在的编程指令。指令的示例序列可以从用于访问组件供应者的数据库112的指令652开始。这可以跟着是用于遍历(index through)“I”个供应者的指令654。这可以跟着是用于通过访问供应者“i”的目录114而开始循环的指令656。这可以跟着是用于针对组件“i”,比较现有的文件名与目录中的文件名的指令658。这可以跟着是用于针对组件“i”,比较现有的时间戳与目录中的时间戳的指令660。这可以跟着是用于确定如果文件名或者时间戳改变,那么将文件识别为已更新的指令662。这可以跟着是用于识别来自供应者“i”的组件“i”的更新以供重新构建118的指令664。这可以跟着是用于将用于组件供应者的索引加一,并且然后循环回到指令656,以继续对于“I”个供应者的循环的指令666。
反应式管理处理器110被示为在指令656处访问机器镜像的组件(i)的第“i”个组件供应者140(i)的因特网URL。反应式管理处理器110被示为在指令662处检测是否存在第“i”个组件的更新。反应式管理处理器110被示为在指令664处向服务处理器100通知检测到的更新的存在。服务处理器100被示为从反应式管理处理器110接收更新的组件的标识。
反应式管理处理器110尝试查看供应者的目录的URL结构。例如,如果SQL安装处于如下URL,
https://download.microsoft.com/download/c/2/8/123/SQLEXPR_x64_ENU.exe
那么反应式管理处理器110将自动地找到部分URL
https://download.microsoft.com/download/c/2/8/124/
对于没有在编号的路径结构中的文件,例如,用户自己的文件:
s3://m6remotefolder/Dynsim53_BETA_InstallKit1.zip
将通过仅替换该文件来更新。
反应式管理处理器110寻找该文件上的更新的时间戳。反应式管理处理器110记住现有的文件时间戳并且识别更新。
虽然并不非常常见,但是配方脚本115’使用安装器的授权的下载是可能的。证书可以被存储在分开的证书库中,而不是显式地存储在配方脚本115’中。加密的证书库可以与配方脚本115’一起被推送至供应商云服务器130(1)并且使用一次性密钥在运行中被解密。可以以类似的方式来处理软件许可,其中许可文件由供应商云服务器130(1)从分开的授权源下载。
图7是由图1的系统执行以响应于由反应式管理处理器检测到更新,生成重新构建在分布式服务器上构建的机器镜像的修正的指令,以及将全局重新构建命令分发到分布式服务器的示例编程方法的流程图600。
流程图的步骤代表存储在RAM和/或ROM存储器中的计算机代码指令,这些计算机代码指令当由中央处理单元(CPU)执行时,执行本发明的示例实施例的功能。步骤可以按照不同于示出的次序的另一种次序执行并且单独的步骤可以被组合或者被分离成组成步骤。流程图具有以下步骤:
在步骤602,服务处理器(例如,图1中的100)生成用于在远程服务器(例如,图1中的130(1))上构建机器镜像的安装指令,机器镜像包括至少一个组件,安装指令包括用于使远程服务器经网络从该至少一个组件的源(例如,图1中的140)访问该至少一个组件的指令。
在步骤604,服务处理器将用于构建机器镜像的安装指令经计算机网络(例如,因特网)传输到远程服务器的多个分布式服务器。
在步骤606,反应式管理处理器(例如,图1中的110)访问该至少一个组件的源,以检测是否存在该至少一个组件的更新,以及向服务处理器通知检测到的更新的存在。
在步骤608,响应于服务处理器从反应式管理处理器110接收到更新的通知,服务处理器生成用于在远程服务器上构建修正的机器镜像的修正的安装指令,这些修正的安装指令包括用于使远程服务器经网络从该至少一个组件的源访问该至少一个组件的更新的指令。
在步骤610,服务处理器将用于重新构建修正的机器镜像的修正的安装指令和全局重新构建命令经计算机网络传输到远程服务器的多个分布式服务器。
虽然已经公开了本发明的具体示例实施例,但是本领域技术人员将理解,可以对针对具体示例实施例描述的细节进行改变,而不背离本发明的精神和范围。

Claims (18)

1.一种用于经计算机网络管理多个分布式服务器上的机器镜像的分布式系统,所述系统包括:
服务处理器,所述服务处理器被配置为生成用于在远程服务器上构建机器镜像的安装指令,所述机器镜像包括至少一个组件,所述安装指令包括用于使所述远程服务器经网络从所述至少一个组件的源访问所述至少一个组件的指令;
所述服务处理器将用于构建所述机器镜像的安装指令经计算机网络传输到所述远程服务器的多个分布式服务器;
反应式管理处理器,所述反应式管理处理器耦接到所述服务处理器,所述反应式管理处理器被配置为访问所述至少一个组件的源,以检测是否存在所述至少一个组件的更新,以及向所述服务处理器通知检测到的更新的存在;
所述服务处理器还被配置为响应于所述服务处理器从所述反应式管理处理器接收到更新的通知,生成用于在所述远程服务器上构建修正的机器镜像的修正的安装指令,所述修正的安装指令包括用于使所述远程服务器经网络从所述至少一个组件的源访问所述至少一个组件的更新的指令;以及
所述服务处理器将用于重新构建所述修正的机器镜像的所述修正的安装指令和全局重新构建命令经所述计算机网络传输到所述远程服务器的所述多个分布式服务器。
2.根据权利要求1所述的分布式系统,其中所述全局重新构建命令由所述服务处理器响应于对所述安装指令的改变、对已安装软件组件的改变、对所使用的库的改变或者对基本操作系统补丁状态的改变中的至少一个而传输。
3.根据权利要求1所述的分布式系统,其中所述至少一个组件的源是软件组件的发布者或者存储软件组件的存储设备。
4.根据权利要求1所述的分布式系统,其中所述服务处理器还被配置为生成用于在已经在所述远程服务器上被构建之后针对所述机器镜像执行的自动功能测试的指令,用于功能测试的指令与所述安装指令一起经所述计算机网络传输到所述远程服务器的所述多个分布式服务器。
5.根据权利要求1所述的分布式系统,其中所述服务处理器还被配置为生成用于在已经在所述远程服务器上被重新构建之后针对修正的机器镜像执行的自动功能测试的修正的指令,用于功能测试的所述修正的指令与所述修正的安装指令一起经所述计算机网络传输到所述远程服务器的所述多个分布式服务器。
6.根据权利要求1所述的分布式系统,其中对于所述计算机网络中的所述远程服务器的所述多个分布式服务器中的每一个,机器镜像构建器软件执行用于在所述远程服务器上构建机器镜像的所述安装指令。
7.一种用于经计算机网络管理多个分布式服务器上的机器镜像的方法,所述方法包括:
由服务处理器生成用于在远程服务器上构建机器镜像的安装指令,所述机器镜像包括至少一个组件,所述安装指令包括用于使所述远程服务器经网络从所述至少一个组件的源访问所述至少一个组件的指令;
由所述服务处理器将用于构建所述机器镜像的安装指令经计算机网络传输到所述远程服务器的多个分布式服务器;
由耦接到所述服务处理器的反应式管理处理器访问所述至少一个组件的源,以检测是否存在所述至少一个组件的更新,以及向所述服务处理器通知检测到的更新的存在;
由所述服务处理器响应于所述服务处理器从所述反应式管理处理器接收到更新的通知,生成用于在所述远程服务器上构建修正的机器镜像的修正的安装指令,所述修正的安装指令包括用于使所述远程服务器经网络从所述至少一个组件的源访问所述至少一个组件的更新的指令;以及
由所述服务处理器将用于重新构建所述修正的机器镜像的所述修正的安装指令和全局重新构建命令经所述计算机网络传输到所述远程服务器的所述多个分布式服务器。
8.根据权利要求7所述的方法,其中所述全局重新构建命令由所述服务处理器响应于对所述安装指令的改变、对已安装软件组件的改变、对所使用的库的改变或者对基本操作系统补丁状态的改变中的至少一个而传输。
9.根据权利要求7所述的方法,其中所述至少一个组件的源是软件组件的发布者或者存储软件组件的存储设备。
10.根据权利要求7所述的方法,还包括:
由所述服务处理器生成用于在已经在所述远程服务器上被构建之后针对所述机器镜像执行的自动功能测试的指令,用于功能测试的指令与所述安装指令一起经所述计算机网络传输到所述远程服务器的所述多个分布式服务器。
11.根据权利要求7所述的方法,还包括:
由所述服务处理器生成用于在已经在所述远程服务器上被重新构建之后针对修正的机器镜像执行的自动功能测试的修正的指令,用于功能测试的所述修正的指令与所述修正的安装指令一起经所述计算机网络传输到所述远程服务器的所述多个分布式服务器。
12.根据权利要求7所述的方法,其中对于所述计算机网络中的所述远程服务器的所述多个分布式服务器中的每一个,机器镜像构建器软件执行用于在所述远程服务器上构建机器镜像的所述安装指令。
13.一种计算机程序产品,包括记录在计算机可读的非暂态存储介质上的计算机可执行程序代码,所述计算机可执行程序代码用于经计算机网络管理多个分布式服务器上的机器镜像,所述计算机可执行程序代码包括:
用于由服务处理器生成用于在远程服务器上构建机器镜像的安装指令的代码,所述机器镜像包括至少一个组件,所述安装指令包括用于使所述远程服务器经网络从所述至少一个组件的源访问所述至少一个组件的指令;
用于由所述服务处理器将用于构建所述机器镜像的安装指令经计算机网络传输到所述远程服务器的多个分布式服务器的代码;
用于由所述服务处理器响应于所述服务处理器从反应式管理处理器接收到更新的通知,生成用于在所述远程服务器上构建修正的机器镜像的修正的安装指令的代码,所述修正的安装指令包括用于使所述远程服务器经网络从所述至少一个组件的源访问所述至少一个组件的更新的指令;以及
用于由所述服务处理器将用于重新构建所述修正的机器镜像的所述修正的安装指令和全局重新构建命令经所述计算机网络传输到所述远程服务器的所述多个分布式服务器的代码。
14.根据权利要求13所述的计算机程序产品,其中所述全局重新构建命令由所述服务处理器响应于对所述安装指令的改变、对已安装软件组件的改变、对所使用的库的改变或者对基本操作系统补丁状态的改变中的至少一个而传输。
15.根据权利要求13所述的计算机程序产品,其中所述至少一个组件的源是软件组件的发布者或者存储软件组件的存储设备。
16.根据权利要求13所述的计算机程序产品,还包括:
用于由所述服务处理器生成用于在已经在所述远程服务器上被构建之后针对所述机器镜像执行的自动功能测试的指令的代码,用于功能测试的指令与所述安装指令一起经所述计算机网络传输到所述远程服务器的所述多个分布式服务器。
17.根据权利要求13所述的计算机程序产品,还包括:
用于由所述服务处理器生成用于在已经在所述远程服务器上被重新构建之后针对修正的机器镜像执行的自动功能测试的修正的指令的代码,用于功能测试的所述修正的指令与所述修正的安装指令一起经所述计算机网络传输到所述远程服务器的所述多个分布式服务器。
18.根据权利要求13所述的计算机程序产品,其中对于所述计算机网络中的所述远程服务器的所述多个分布式服务器中的每一个,机器镜像构建器软件执行用于在所述远程服务器上构建机器镜像的所述安装指令。
CN201711281201.3A 2016-12-07 2017-12-07 用于管理多个分布式服务器上的机器镜像的系统和方法 Active CN108170439B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/371,471 US10454764B2 (en) 2016-12-07 2016-12-07 System and method for managing machine images on a plurality of distributed servers
US15/371,471 2016-12-07

Publications (2)

Publication Number Publication Date
CN108170439A true CN108170439A (zh) 2018-06-15
CN108170439B CN108170439B (zh) 2023-05-02

Family

ID=60781474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711281201.3A Active CN108170439B (zh) 2016-12-07 2017-12-07 用于管理多个分布式服务器上的机器镜像的系统和方法

Country Status (3)

Country Link
US (1) US10454764B2 (zh)
EP (1) EP3333698A1 (zh)
CN (1) CN108170439B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109151071A (zh) * 2018-10-26 2019-01-04 福建深空信息技术有限公司 一种网页文件同步方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11822947B2 (en) 2019-11-27 2023-11-21 Amazon Technologies, Inc. Automated management of machine images

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609803A (zh) * 2003-10-23 2005-04-27 国际商业机器公司 通过后加载镜像布置软件的方法与装置
US20090288079A1 (en) * 2008-05-13 2009-11-19 Google Inc. Automatic installation of a software product on a device
US20090300076A1 (en) * 2008-05-30 2009-12-03 Novell, Inc. System and method for inspecting a virtual appliance runtime environment
CN101861567A (zh) * 2007-11-16 2010-10-13 诺基亚公司 用于自动下载软件安装依赖性的方法、装置和计算机程序产品
US20160117161A1 (en) * 2014-10-27 2016-04-28 Microsoft Corporation Installing and updating software systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546595B1 (en) 2004-10-14 2009-06-09 Microsoft Corporation System and method of installing software updates in a computer networking environment
US8584115B2 (en) 2006-10-05 2013-11-12 International Business Machines Corporation Automated operating system device driver updating system
US8862633B2 (en) * 2008-05-30 2014-10-14 Novell, Inc. System and method for efficiently building virtual appliances in a hosted environment
US8490084B1 (en) 2009-06-18 2013-07-16 Amazon Technologies, Inc. Installation testing in automated application distribution
US9134982B2 (en) 2010-01-10 2015-09-15 Microsoft Technology Licensing, Llc Automated configuration and installation of virtualized solutions
FR2991075B1 (fr) 2012-05-25 2015-03-06 Schneider Electric Ind Sas Procede de gestion du demarrage d'instances d'applications sur des machines virtuelles d'un resau distribue
US9710248B2 (en) 2013-05-29 2017-07-18 Microsoft Technology Licensing, Llc Application install and layout syncing
US9760736B2 (en) * 2015-09-29 2017-09-12 International Business Machines Corporation CPU obfuscation for cloud applications
US10540147B2 (en) * 2016-02-26 2020-01-21 Red Hat, Inc. Add-on image for a platform-as-a-service system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609803A (zh) * 2003-10-23 2005-04-27 国际商业机器公司 通过后加载镜像布置软件的方法与装置
CN101861567A (zh) * 2007-11-16 2010-10-13 诺基亚公司 用于自动下载软件安装依赖性的方法、装置和计算机程序产品
US20090288079A1 (en) * 2008-05-13 2009-11-19 Google Inc. Automatic installation of a software product on a device
US20090300076A1 (en) * 2008-05-30 2009-12-03 Novell, Inc. System and method for inspecting a virtual appliance runtime environment
US20160117161A1 (en) * 2014-10-27 2016-04-28 Microsoft Corporation Installing and updating software systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109151071A (zh) * 2018-10-26 2019-01-04 福建深空信息技术有限公司 一种网页文件同步方法及系统
CN109151071B (zh) * 2018-10-26 2021-09-03 福建深空信息技术有限公司 一种网页文件同步方法及系统

Also Published As

Publication number Publication date
US10454764B2 (en) 2019-10-22
EP3333698A1 (en) 2018-06-13
US20180159736A1 (en) 2018-06-07
CN108170439B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
US9027161B2 (en) System, method, and computer-readable recording medium for supporting license acquirement
WO2020050943A4 (en) Methods for requesting and authenticating photographic image data
US8543998B2 (en) System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US9063815B2 (en) Provisioning a virtual machine from one or more VM images
US9086942B2 (en) Software discovery by an installer controller
US9811356B2 (en) Automated software configuration management
CN107193607B (zh) 用于更新代码文件的方法和装置、存储介质、处理器以及终端
US20150222731A1 (en) Computer, guide information providing method and recording medium
US20160070565A1 (en) Development environment system, development environment apparatus, development environment providing method, and program
US11175909B2 (en) Software discovery using exclusion
US11086618B2 (en) Populating a software catalogue with related product information
US11669622B2 (en) Method and apparatus for providing visibility of security into container images
EP2302550A2 (en) System, method and computer-readable storage medium for managing licenses of multi-function peripherals
JP6406336B2 (ja) センサ開通テストシステム、センサ開通テスト管理端末、センサ、センサ開通テスト方法及びプログラム
US20120185529A1 (en) Application server management system, application server management method, management apparatus, application server and computer program
CN110968478A (zh) 日志采集方法、服务器及计算机存储介质
CN108170439A (zh) 用于管理多个分布式服务器上的机器镜像的系统和方法
CN111506358A (zh) 更新容器配置的方法及装置
CN111666079A (zh) 软件升级的方法、装置、系统、设备和计算机可读介质
JP4734030B2 (ja) 管理システム
Schwarzkopf et al. Checking running and dormant virtual machines for the necessity of security updates in cloud environments
CN114237633A (zh) 应用配置方法、装置、设备及存储介质
US10162626B2 (en) Ordered cache tiering for program build files
CN111258605A (zh) 渠道客户端的通用升级方法、装置、计算机设备和存储介质
CN112083951B (zh) 一种支持多操作系统平台的软件包统一管理方法及系统

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
CB02 Change of applicant information

Address after: California, USA

Applicant after: Aviva Software Co.,Ltd.

Address before: California, USA

Applicant before: Schneider Electronic Software Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant