CN104765620A - 一种程序模块部署的方法和系统 - Google Patents

一种程序模块部署的方法和系统 Download PDF

Info

Publication number
CN104765620A
CN104765620A CN201410001101.0A CN201410001101A CN104765620A CN 104765620 A CN104765620 A CN 104765620A CN 201410001101 A CN201410001101 A CN 201410001101A CN 104765620 A CN104765620 A CN 104765620A
Authority
CN
China
Prior art keywords
program module
data
module
program
virtual machine
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
CN201410001101.0A
Other languages
English (en)
Other versions
CN104765620B (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201410001101.0A priority Critical patent/CN104765620B/zh
Priority to US14/591,312 priority patent/US20150186129A1/en
Publication of CN104765620A publication Critical patent/CN104765620A/zh
Application granted granted Critical
Publication of CN104765620B publication Critical patent/CN104765620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Abstract

本发明公开了一种程序模块部署的方法和系统,该方法包括:获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序;响应于对该程序模块进行安装配置,根据所述数据依赖关系得到该程序模块所依赖的数据并且安装配置该程序模块;以及响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动,启动该程序模块。该方法和系统减少了应用开发人员服务程序开发的工作量。

Description

一种程序模块部署的方法和系统
技术领域
本发明涉及软件部署,更具体地涉及一种程序模块部署的方法和系统。
背景技术
PaaS(Platform-as-a-Service平台即服务)是把服务器平台作为一种服务提供的商业模式。在云计算环境中,云计算服务器平台或者开发环境作为服务提供给用户就成为了PaaS(Platform as a Service)。
图4示意性示出了一个云计算平台400,该云计算就是一个PaaS平台,PaaS供应商就需要提供如图4所示的云计算平台400,有了这样的PaaS平台,客户端(图4未示出客户端)就可以向云计算平台400发送请求,例如该请求要求安装程序模块A、程序模块B、程序模块C以及程序模块D这四个软件的软件环境的环境来为客户服务。收到这样的请求,云计算平台400会根据现有平台中可用的资源通过网络401创建虚拟机,例如创建了虚拟机1和虚拟机2,然后在虚拟机1和虚拟机2上安装上述要求的程序模块,以后,客户端就可以通过网络401,直接与虚拟机1和虚拟机2相连,并利用虚拟机1和虚拟机2上安装的软件资源为自己服务。
云计算平台400创建了虚拟机后在虚拟机上安装、配置并启动上述要求的程序模块的过程称为程序模块的部署过程。在云计算平台对虚拟机部署过程中,上述程序模块之间一般存在数据的依赖性,例如,图5示出了具有三个虚拟机VM0-VM3、其中的三个需要安装的程序模块的数据依赖关系,其中,Deployment Mgr(服务器管理)程序模块和Create Datasource(创建数据源)程序模块要被部署在同一个虚拟机上,该虚拟机的主要功能是负责管理多个Standalone WAS Server(应用服务器)节点,并且负责为多个Standalone WAS Server程序模块实现数据源连接功能,该功能由CreateDatasource(创建数据源)程序模块完成。根据诸如上述的要求,三个虚拟机VM0、VM1和VM2被创建。虚拟机VM0是一个独立服务器,上面需要安装Standalone WAS Server程序模块以及JDBC Driver程序模块;虚拟机VM1是一个管理服务器,上面需要安装Deployment Mgr程序模块以及Create Datasource程序模块;虚拟机VM2是一个数据库服务器,上面需要安装DB2Server程序模块以及Create Database程序模块;并且其中,Standalone WAS Server程序模块需要来自Deployment Mgr程序模块的IP地址、端口(port)、节点名称(Cell name)、注册协议类型(Registry protocolType)等信息,这样,Standalone WAS Server程序模块才能将自己注册到Deployment Mgr程序模块;虚拟机VM1中的Create Datasource程序模块需要来自DB2Server程序模块的JDBC入口点的信息,这样Create Datasource程序模块才能和数据库建立连接。也就是说,Standalone WAS Server程序模块和Deployment Mgr程序模块之间具有数据依赖关系;Create Datasource程序模块和DB2Server程序模块之间具有数据依赖关系。
这些程序模块安装完毕运行时,需要特定的启动顺序来确保整个服务部署的成功。图6示出了图5示例的程序模块的启动顺序。在该示例中,例如,Create DataSource(创建数据源)程序模块需要修改Deployment Mgr(服务器管理)程序模块的一些数据源配置信息,因此Create DataSource程序模块需要在Deployment Mgr程序模块之后启动,并且也需要服务器管理节点的安装路径等信息。即根据数据的依赖性,必须要启动DeploymentManager程序模块和DB2Server程序模块后才能启动Create Datasource程序模块;并且,必须启动DB2Server程序模块后才能启动Create Database程序模块;必须要启动Deployment Manager程序模块后才能启动StandaloneWAS Server程序模块,然后才能启动Install JDBC Driver程序模块。
现有技术中,上述的数据依赖性以及启动顺序需要云服务提供者开发特别的代码逻辑来实现数据依赖性以及启动顺序,这使得程序员的开发工作变得非常复杂,并且工作量很大。
发明内容
因此,对于彼此间具有数据依赖性以及启动顺序要求的多个程序模块的部署,需要一种自动的部署方法,控制模块之间的依赖关系和启动顺序,从而减少应用开发人员服务程序开发的工作量。
根据本发明的一个方面,提供了一种程序模块部署的方法,包括:
获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序;
响应于对该程序模块进行安装配置,根据所述数据依赖关系得到该程序模块所依赖的数据并且安装配置该程序模块;
响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动,启动该程序模块。
根据本发明的另一个方面,提供了一种程序模块部署的系统,包括:
获得模块,被配置为获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序;
依赖验证模块,被配置为响应于对该程序模块进行安装配置,根据所述数据依赖关系得到该程序模块所依赖的数据;
安装配置模块,被配置为安装配置该程序模块;
启动模块,被配置为响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动,启动该程序模块。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1表示根据本发明一实施例的云计算节点;
图2表示根据本发明一实施例的云计算环境;
图3表示根据本发明一实施例的抽象模型层;
图4示意性示出了一个云计算平台;
图5示出了具有三个虚拟机VM0-VM3、三个需要安装的程序模块的数据依赖关系;
图6示出了图5示例的程序模块的启动顺序;
图7示意性示出了根据本发明的一种实施方式的程序模块部署的方法的流程图;
图8给出了一种示意性的图形用户界面,用于编辑要部署的多个程序模块之间的数据依赖关系;
图9示出了要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序的图形所示的概述文件;以及
图10示出了根据本发明的一种实施方式的一种程序模块部署的系统的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图l,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如系统;系统;系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如应用服务器软件;数据库软件,例如数据库软件。(IBM,zSeries,pSeries,xSeries,B1adeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理。
为了解决本发明提出的问题,云计算平台在管理层,也就是图3的64层开发一种程序模块部署的方法,在创建至少一个虚拟机后,将实现该方法的软件安装到创建的至少一个虚拟机中,所述程序模块部署方法在云计算平台响应请求而创建的至少一个虚拟机中执行,并且所述至少一个虚拟机部署该请求要求的多个程序模块。通过这些虚拟机的协调工作,从而完成用户要求的服务的部署。这里,部署程序模块包括安装该程序模块、对该程序模块进行参数配置以及启动该程序模块的过程。
根据本公开的一种具体实施方式,公开了一种程序模块部署的方法,该方法是云计算平台创建的虚拟机在运行时执行的方法。图7示意性示出了根据本发明的一种实施方式的程序模块部署的方法的流程图,根据图7,该方法包括:
在步骤S701,获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序;
在步骤S702,响应于对该程序模块进行安装配置,根据所述数据依赖关系得到该程序模块所依赖的数据并且安装配置该程序模块;
在步骤S703,响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动,启动该程序模块。这样,就完成该程序模块的部署。
例如,在图5所示的例子中,有三个虚拟机,6个程序模块,每个虚拟机各自执行上述方法,就可以将所有的程序模块部署完毕,用户就可以使用。
在一种实施方式中,本领域技术人员可以采用编辑器编辑的方式来描述要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序。在一种具体的实施方式中,可以为用户提供图形用户界面,然后用户采用拖拽的方式来表达要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序,再将用户通过图形用户界面给出的要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序转换成文本或者脚本语言或者规定的其他形式。图8给出了一种示意性的图形用户界面,用于编辑要部署的多个程序模块之间的数据依赖关系,其中,标注有in的程序模块依赖于标注有out的程序模块中的数据,箭头连接表示二者之间的依赖关系。显而易见,Create Datasource程序模块在启动之前,需要数据源IP,Port等信息,该信息将由DB2Server(数据服务器)程序模块负责输出,将此处的关系定义为依赖关系,即一个源模块(如Create Datasource)依赖于另外一个目标模块(如DB2Server)所输出的信息,源模块只有从目标模块获取所依赖的信息后,该源模块才能够执行。又例如,Standalone WAS Server程序模块依赖于Deployment Mgr程序模块,需要从Deployment Mgr程序模块导入数据,如IP地址、端口(port)、节点名称(Cellname)、注册协议类型(Registry protocol Type)等。双击图8中的箭头,用户就可以在对话框中声明需要导入的数据的属性值,并且编辑导入数据的属性值。同时,用户对于特定的程序模块,也可以声明该程序模块的特定属性等,这里不再赘述。对于图8所示的图形用户界面,可以生成如图9所示的要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序的图形所示的概述文件。
另外,要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序的概述文件也可以用文本或者角本语言来描述,或者采用本领域技术人员所知的任何其他形式描述,可以制定不同的描述规则,以便进行传递。本领域技术人员应该了解,上述的使用图形用户界面进行编辑、使用图形概述文件表达都是为了用户使用方便,其实完全可以使用文本编辑器直接编辑要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序的文本或脚本文件。
以下以Create DataSource程序模块和DB2Server程序模块为例,给出使用脚本语言年描述的两个程序模块之间的数据依赖关系以及特定的启动顺序。
对于Create DataSource程序模块的依赖及启动时序的描述为:
],//Create DataSource程序模块依赖于Deployment Mgr程序模块和DB2Server程序模块
″parms":{//Parms定义了Creae Data Source模块的所有属性值,即Create DataSource程序模块依赖于DB2Server程序模块的DB2Server.hostname(服务器名字)、DB2Server.db_name(数据库名字)、DB2Server.db_user(用户名)以及DB2Server.db_pwd(密码)。Create DataSource程序模块依赖于Deployment Mgr程序模块的Deployment Mgr.install_dir(安装目录)
特别需要说明的是,如果程序模块A和程序模块B之间只有时序启动的关系(如A在B之后启动),但没有数据的依赖关系,则会将B模块放入A的依赖列表中,但是在参数Parms中,两者之间不会有任何定义,即无数据依赖.该关系可以简单的描述为
对于被依赖方如DB2Server(数据服务器)程序模块,其脚本可以定义为
其中参数parms表示数据服务器模块本身的参数设置值,如数据库名字,用户密码等;outputs表示数据服务器模块需要输出参数的列表,该输出的参数值将被创建数据源模块依赖并使用.
该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序可以在创建虚拟机后由云计算平台直接装载到所创建的虚拟机中。一种实施方式中,每个虚拟机中都存储该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序;在另一种实施方式中,云计算平台可以将上述该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序进行拆分,只将该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序中与该程序模块相关的部分存储到该虚拟机中;在又一种实施方式中,云计算平台仍然将上述该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序进行拆分,只将该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序中与该程序模块所在的虚拟机相关的部分装载到对应的创建的虚拟机中。
接下来,虚拟机需要对该程序模块进行安装配置,虚拟机根据云计算平台装载的上述任何一种该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序中的数据依赖关系得到该程序模块所依赖的数据。如果虚拟机被装载的是该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序,则虚拟机首先从上述数据中拆分出和自己内部安装的程序模块相关的数据,然后逐个程序模块地进行安装配置。如果在一个虚拟机上还要安装配置其它程序模块,根据所述数据依赖关系以及特定的启动顺序,分析出所述程序模块和其它程序模块之中哪个程序模块将要提供依赖数据,优先安装配置提供依赖数据的程序模块。
根据所述数据依赖关系,得到该程序模块所依赖的数据也有不同的实施方式,在一种实施方式中,由虚拟机根据数据依赖关系向依赖程序模块所在的虚拟机发送监视消息,检查依赖关系中描述的数据的属性值,可以是一直发送消息,等待结果;也可以定期发送消息,等待结果。即虚拟机执行如下操作(图7未示出):
根据所述数据依赖关系,检查该程序模块依赖的程序模块所在的虚拟机;
向依赖的程序模块所在的虚拟机发送获得该程序模块所依赖的数据的请求;
接收并存储该程序模块所依赖的数据。
在另一种实施方式中,虚拟机不向依赖程序模块所在的虚拟机发送检查消息,而是等待依赖程序模块所在的虚拟机向其发送依赖关系中描述的数据的属性值然后接收,即虚拟机执行如下操作(图7未示出):
接收数据,其中所述数据被标明是和依赖数据相关的;
根据该程序模块与要部署的多个程序模块之间具有的数据依赖关系,判断接收的数据是否为该程序模块所依赖的数据;
响应于接收的数据为该程序模块所依赖的数据,存储该程序模块所依赖的数据。
得到依赖数据后,虚拟机就能够安装配置该程序模块,这时就可以考虑该程序模块的启动。如果程序模块与要部署的多个程序模块之间具有的特定的启动顺序中要求在该程序模块启动前必须启动的其他的程序模块,
则必须在其他程序模块启动完毕后,才能启动该程序模块,从而完成该程序模块的部署。其他程序模块是否已经启动,与前面根据所述数据依赖关系得到该程序模块所依赖的数据的实施方式类似,也有多种实施方式,在一种实施方式中,可以由虚拟机向其他程序模块所在的虚拟机查询,即执行如下步骤:
根据所述特定的启动顺序,获得要求在该程序模块启动前启动的程序模块所在的虚拟机;
向要求在该程序模块启动前启动的程序模块所在的虚拟机发送检查要求在该程序模块启动前启动的程序模块是否启动的消息;
接收要求在该程序模块启动前启动的程序模块所在的虚拟机的响应;
根据接收的响应确定要求在该程序模块启动前启动的程序模块是否完成启动。
在另一种实施方式中,可以等待其他程序模块所在的虚拟机向该虚拟机汇报,即执行如下步骤:
接收数据,其中所述数据被标明是和执行顺序相关的;
根据所述特定的启动顺序,判断接收的数据是否为要求在该程序模块启动前启动的程序模块是否完成启动的数据。
如果特定的启动顺序中要求在该程序模块启动前启动的程序模块有多个,则还要逐个监视或者判断是否这些程序模块都已经启动。
显然,各虚拟机根据在本机上部署的多个程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序,如果分析出自己需要提供依赖数据或者启动执行顺序消息,需要按照上述各个实施例要求提供。
前面已经参考附图描述了实现本发明的方法的各个实施例。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种程序模块部署的系统。即使该系统在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该系统表现出区别于通用处理设备的特性,从而形成本发明的各个实施例的装置。本发明中所述装置包括若干单元或模块,所述单元或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述单元或模块执行的动作。由于所述系统与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
根据本发明的一种实施方式,公开了一种程序模块部署的系统,图10示意性示出了该系统的结构框图,根据图10,该系统包括:获得模块1001,被配置为获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序;依赖验证模块1002,被配置为响应于对该程序模块进行安装配置,根据所述数据依赖关系得到该程序模块所依赖的数据;安装配置模块1003,被配置为安装配置该程序模块;启动模块1004,被配置为响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动,启动该程序模块。
在一种实施方式中,所述程序模块部署系统在云计算平台响应请求而创建的至少一个虚拟机中执行,其中,所述至少一个虚拟机部署该请求要求的多个程序模块。进一步地,所述至少一个虚拟机从云计算平台获得需要在本机上部署的程序模块以及所述数据依赖关系以及特定的启动顺序。
在另一种实施方式中,所述所述数据依赖关系以及特定的启动顺序包含以下之一:(1)该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序;(2)该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序中与该程序模块相关的部分;(3)该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序中与该程序模块所在的虚拟机相关的部分。
在一种实施方式中,该系统还包括:优先模块,被配置为响应于在一个虚拟机上还要安装配置其它程序模块,根据所述数据依赖关系以及特定的启动顺序,分析出所述程序模块和其它程序模块之中哪个程序模块将要提供依赖数据,优先安装配置提供依赖数据的程序模块。
在另一种实施方式中,所述依赖验证模块包括:依赖虚拟机获得模块,被配置为根据所述数据依赖关系,检查该程序模块依赖的程序模块所在的虚拟机;依赖数据请求模块,被配置为向依赖的程序模块所在的虚拟机发送获得该程序模块所依赖的数据的请求;以及依赖数据接收模块,被配置为接收并存储该程序模块所依赖的数据。
在一种实施方式中,所述依赖验证模块包括:依赖相关数据接收模块,被配置为接收数据,其中所述数据被标明是和依赖数据相关的;依赖检验模块,被配置为根据所述数据依赖关系,判断接收的数据是否为该程序模块所依赖的数据;以及依赖存储模决,被配置为响应于接收的数据为该程序模块所依赖的数据,存储该程序模块所依赖的数据。
在另一种实施方式中,所述启动模块包括:相关虚拟机获得模块,被配置为根据所述特定的启动顺序,获得要求在该程序模块启动前启动的程序模块所在的虚拟机;启动检查模块,被配置为向要求在该程序模块启动前启动的程序模块所在的虚拟机发送检查要求在该程序模块启动前启动的程序模块是否启动的消息;启动接收模块,被配置为接收要求在该程序模块启动前启动的程序模块所在的虚拟机的响应;以及启动确定模块,被配置为根据接收的响应确定要求在该程序模块启动前启动的程序模块是否完成启动。
在一种实施方式中,所述启动模块包括:启动相关数据接收模块,被配置为接收数据,其中所述数据被标明是和执行顺序相关的;启动检查相关数据接收模块,被配置为根据所述特定的启动顺序,判断接收的数据是否为要求在该程序模块启动前启动的程序模块是否完成启动的数据。
在另一种实施方式中,所述启动模块被进一步配置为:响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块有多个,逐个判别该多个程序模块是否已经启动。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽生的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (20)

1.一种程序模块部署的方法,包括:
获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序;
响应于对该程序模块进行安装配置,根据所述数据依赖关系得到该程序模块所依赖的数据并且安装配置该程序模块;
响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动,启动该程序模块。
2.如权利要求所述的方法,其中所述程序模块部署方法在云计算平台响应请求而创建的至少一个虚拟机中执行,其中,所述至少一个虚拟机部署该请求要求的多个程序模块。
3.如权利要求2所述的方法,其中所述该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序包含以下至少之一:
该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序;
该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序中与该程序模块相关的部分;
该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序中与该程序模块所在的虚拟机相关的部分。
4.如权利要求2所述的方法,其中所述至少一个虚拟机从云计算平台获得需要在本机上部署的程序模块以及该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序。
5.如权利要求1所述的方法,其中该方法还包括:响应于在一个虚拟机上还要安装配置其它程序模块,根据所述数据依赖关系以及特定的启动顺序,分析出所述程序模块和其它程序模块之中哪个程序模块将要提供依赖数据,优先安装配置提供依赖数据的程序模块。
6.如权利要求4所述的方法,其中根据所述数据依赖关系得到该程序模块所依赖的数据包括:
根据所述数据依赖关系,检查该程序模块依赖的程序模块所在的虚拟机;
向依赖的程序模块所在的虚拟机发送获得该程序模块所依赖的数据的请求;
接收并存储该程序模块所依赖的数据。
7.如权利要求4所述的方法,其中根据所述数据依赖关系得到该程序模块所依赖的数据包括:
接收数据,其中所述数据被标明是和依赖数据相关的;
根据所述数据依赖关系,判断接收的数据是否为该程序模块所依赖的数据;
响应于接收的数据为该程序模块所依赖的数据,存储该程序模块所依赖的数据。
8.如权利要求6或7所述的方法,其中响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动包括:
根据所述特定的启动顺序,获得要求在该程序模块启动前启动的程序模块所在的虚拟机;
向要求在该程序模块启动前启动的程序模块所在的虚拟机发送检查要求在该程序模块启动前启动的程序模块是否启动的消息;
接收要求在该程序模块启动前启动的程序模块所在的虚拟机的响应;
根据接收的响应确定要求在该程序模块启动前启动的程序模块是否完成启动。
9.如权利要求6或7所述的方法,其中响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动包括:
接收数据,其中所述数据被标明是和执行顺序相关的;
根据所述特定的启动顺序,判断接收的数据是否为要求在该程序模块启动前启动的程序模块是否完成启动的数据。
10.如权利要求8所述的方法,其中响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动进一步包括:响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块有多个,逐个判别该多个程序模块是否已经启动。
11.一种程序模块部署的系统,包括:
获得模块,被配置为获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序;
依赖验证模块,被配置为响应于对该程序模块进行安装配置,根据所述数据依赖关系得到该程序模块所依赖的数据;
安装配置模块,被配置为安装配置该程序模块;
启动模块,被配置为响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启动,启动该程序模块。
12.如权利要求11所述的系统,其中所述程序模块部署系统在云计算平台响应请求而创建的至少一个虚拟机中执行,其中,所述至少一个虚拟机部署该请求要求的多个程序模块。
13.如权利要求12所述的系统,其中所述该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序包含以下至少之
该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序;
该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序中与该程序模块相关的部分;
该请求要求部署的多个程序模块之间的数据依赖关系以及特定的启动顺序中与该程序模块所在的虚拟机相关的部分。
14.如权利要求12所述的系统,其中所述至少一个虚拟机从云计算平台获得需要在本机上部署的程序模块以及该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动顺序。
15.如权利要求14所述的系统,其中该系统还包括:
优先模块,被配置为响应于在一个虚拟机上还要安装配置其它程序模块,根据所述数据依赖关系以及特定的启动顺序,分析出所述程序模块和其它程序模块之中哪个程序模块将要提供依赖数据,优先安装配置提供依赖数据的程序模块。
16.如权利要求14所述的系统,其中所述依赖验证模块包括:
依赖虚拟机获得模块,被配置为根据所述数据依赖关系,检查该程序模块依赖的程序模块所在的虚拟机;
依赖数据请求模块,被配置为向依赖的程序模块所在的虚拟机发送获得该程序模块所依赖的数据的请求;
依赖数据接收模块,被配置为接收并存储该程序模块所依赖的数据。
17.如权利要求14所述的系统,其中所述依赖验证模块包括:
依赖相关数据接收模块,被配置为接收数据,其中所述数据被标明是和依赖数据相关的;
依赖检验模块,被配置为根据所述数据依赖关系,判断接收的数据是否为该程序模块所依赖的数据;
依赖存储模块,被配置为响应于接收的数据为该程序模块所依赖的数据,存储该程序模块所依赖的数据。
18.如权利要求16或17所述的系统,其中所述启动模块包括:
相关虚拟机获得模块,被配置为根据所述特定的启动顺序,获得要求在该程序模块启动前启动的程序模块所在的虚拟机;
启动检查模块,被配置为向要求在该程序模块启动前启动的程序模块所在的虚拟机发送检查要求在该程序模块启动前启动的程序模块是否启动的消息;
启动接收模块,被配置为接收要求在该程序模块启动前启动的程序模块所在的虚拟机的响应;
启动确定模块,被配置为根据接收的响应确定要求在该程序模块启动前启动的程序模块是否完成启动。
19.如权利要求16或17所述的系统,其中所述启动模块包括:
启动相关数据接收模块,被配置为接收数据,其中所述数据被标明是和执行顺序相关的;
启动检查相关数据接收模块,被配置为根据所述特定的启动顺序,判断接收的数据是否为要求在该程序模块启动前启动的程序模块是否完成启动的数据。
20.如权利要求18所述的系统,其中所述启动模块被进一步配置为:响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块有多个,逐个判别该多个程序模块是否已经启动。
CN201410001101.0A 2014-01-02 2014-01-02 一种程序模块部署的方法和系统 Active CN104765620B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410001101.0A CN104765620B (zh) 2014-01-02 2014-01-02 一种程序模块部署的方法和系统
US14/591,312 US20150186129A1 (en) 2014-01-02 2015-01-07 Method and system for deploying a program module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410001101.0A CN104765620B (zh) 2014-01-02 2014-01-02 一种程序模块部署的方法和系统

Publications (2)

Publication Number Publication Date
CN104765620A true CN104765620A (zh) 2015-07-08
CN104765620B CN104765620B (zh) 2018-01-26

Family

ID=53481837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410001101.0A Active CN104765620B (zh) 2014-01-02 2014-01-02 一种程序模块部署的方法和系统

Country Status (2)

Country Link
US (1) US20150186129A1 (zh)
CN (1) CN104765620B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159729A (zh) * 2015-09-25 2015-12-16 北京金山安全软件有限公司 驱动程序的安装方法和装置
CN105373401A (zh) * 2015-10-27 2016-03-02 上海钢富电子商务有限公司 软件包自动发布方法和系统
CN106970794A (zh) * 2017-03-28 2017-07-21 联想(北京)有限公司 服务器集群及其启动方法
CN107015820A (zh) * 2016-01-27 2017-08-04 阿里巴巴集团控股有限公司 应用启动方法、装置及服务器
CN107391092A (zh) * 2016-05-16 2017-11-24 北京京东尚科信息技术有限公司 自动部署关联软件的方法和系统
WO2018032770A1 (zh) * 2016-08-19 2018-02-22 华为技术有限公司 一种应用组件部署方法及部署节点
CN107783790A (zh) * 2017-11-07 2018-03-09 北京小米移动软件有限公司 终端唤醒方法及装置
CN108132832A (zh) * 2016-12-01 2018-06-08 腾讯科技(深圳)有限公司 应用程序启动方法和装置
CN108595948A (zh) * 2018-04-19 2018-09-28 深圳鼎智通讯股份有限公司 一种Android智能POS终端预装APP及其防护方法
WO2019028992A1 (zh) * 2017-08-09 2019-02-14 上海壹账通金融科技有限公司 多模块版本依赖关系构建方法、装置、服务器和存储介质
CN109491763A (zh) * 2018-11-14 2019-03-19 北京奇艺世纪科技有限公司 一种系统部署方法、装置及电子设备
CN109597626A (zh) * 2017-09-30 2019-04-09 北京国双科技有限公司 一种组件部署方法和装置
CN111209052A (zh) * 2018-11-20 2020-05-29 北京京东尚科信息技术有限公司 一种应用启动的方法及系统
CN114564242A (zh) * 2022-02-28 2022-05-31 石家庄通合电子科技股份有限公司 自唤醒功能的实现方法、装置、终端及存储介质

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998323B2 (en) * 2014-09-25 2018-06-12 Bank Of America Corporation Datacenter configuration management tool
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9715402B2 (en) * 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US10684837B2 (en) * 2015-02-25 2020-06-16 Red Hat Israel, Ltd. Repository manager
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9626171B2 (en) 2015-07-24 2017-04-18 Oracle International Corporation Composing a module system and a non-module system
US10078497B2 (en) 2015-07-24 2018-09-18 Oracle International Corporation Bridging a module system and a non-module system
US10158647B2 (en) 2015-08-25 2018-12-18 Oracle International Corporation Permissive access control for modular reflection
US9858059B2 (en) 2015-09-14 2018-01-02 International Business Machines Corporation System module deployment optimization
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10191753B2 (en) 2016-03-30 2019-01-29 Oracle International Corporation Generating verification metadata and verifying a runtime type based on verification metadata
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10394528B2 (en) 2016-03-30 2019-08-27 Oracle International Corporation Returning a runtime type loaded from an archive in a module system
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US9811806B1 (en) * 2016-09-15 2017-11-07 International Business Machines Corporation Determining license use for composed container services in cloud platforms
US10282184B2 (en) 2016-09-16 2019-05-07 Oracle International Corporation Metadata application constraints within a module system based on modular dependencies
US10387142B2 (en) 2016-09-16 2019-08-20 Oracle International Corporation Using annotation processors defined by modules with annotation processors defined by non-module code
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10848410B2 (en) 2017-03-29 2020-11-24 Oracle International Corporation Ranking service implementations for a service interface
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
CN111324385A (zh) * 2018-12-12 2020-06-23 中兴通讯股份有限公司 应用模块的启动方法、容器、控制设备及可读存储介质
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
CN109787858B (zh) * 2018-12-29 2021-01-26 福建天泉教育科技有限公司 一种批量发布服务的方法及终端
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11392362B2 (en) * 2020-07-31 2022-07-19 Jpmorgan Chase Bank, N.A. Cross platform configuration domain translation
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
CN116909584A (zh) * 2023-05-06 2023-10-20 广东国地规划科技股份有限公司 时空大数据引擎的部署方法、装置、设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360308A (zh) * 2011-09-29 2012-02-22 用友软件股份有限公司 组件的分布式部署系统和方法
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
US20130232498A1 (en) * 2012-03-02 2013-09-05 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910208B1 (en) * 2000-04-25 2005-06-21 Microsoft Corporation System and method of providing replaceable and extensible user interface for the installation of a suite of applications
CA2433379A1 (en) * 2003-06-25 2004-12-25 Ibm Canada Limited - Ibm Canada Limitee Modulo scheduling of multiple instruction chains
US20090070752A1 (en) * 2007-09-06 2009-03-12 International Business Machines Corporation Method and system for optimization of an application
US20090144727A1 (en) * 2007-12-04 2009-06-04 Bea Systems, Inc. Interpreted multiple product installation
US8261295B1 (en) * 2011-03-16 2012-09-04 Google Inc. High-level language for specifying configurations of cloud-based deployments
US9047133B2 (en) * 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
US9268592B2 (en) * 2013-06-25 2016-02-23 Vmware, Inc. Methods and apparatus to generate a customized application blueprint

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
CN102360308A (zh) * 2011-09-29 2012-02-22 用友软件股份有限公司 组件的分布式部署系统和方法
US20130232498A1 (en) * 2012-03-02 2013-09-05 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159729A (zh) * 2015-09-25 2015-12-16 北京金山安全软件有限公司 驱动程序的安装方法和装置
CN105373401B (zh) * 2015-10-27 2018-09-07 上海找钢网信息科技股份有限公司 软件包自动发布方法和系统
CN105373401A (zh) * 2015-10-27 2016-03-02 上海钢富电子商务有限公司 软件包自动发布方法和系统
CN107015820A (zh) * 2016-01-27 2017-08-04 阿里巴巴集团控股有限公司 应用启动方法、装置及服务器
CN107391092B (zh) * 2016-05-16 2021-01-26 北京京东振世信息技术有限公司 自动部署关联软件的方法和系统
CN107391092A (zh) * 2016-05-16 2017-11-24 北京京东尚科信息技术有限公司 自动部署关联软件的方法和系统
US10684850B2 (en) 2016-08-19 2020-06-16 Huawei Technologies Co., Ltd. Application component deployment method and deployment node
CN107769949A (zh) * 2016-08-19 2018-03-06 华为技术有限公司 一种应用组件部署方法及部署节点
CN107769949B (zh) * 2016-08-19 2021-02-12 华为技术有限公司 一种应用组件部署方法及部署节点
WO2018032770A1 (zh) * 2016-08-19 2018-02-22 华为技术有限公司 一种应用组件部署方法及部署节点
CN108132832B (zh) * 2016-12-01 2021-01-19 腾讯科技(深圳)有限公司 应用程序启动方法和装置
CN108132832A (zh) * 2016-12-01 2018-06-08 腾讯科技(深圳)有限公司 应用程序启动方法和装置
CN106970794A (zh) * 2017-03-28 2017-07-21 联想(北京)有限公司 服务器集群及其启动方法
WO2019028992A1 (zh) * 2017-08-09 2019-02-14 上海壹账通金融科技有限公司 多模块版本依赖关系构建方法、装置、服务器和存储介质
CN109597626B (zh) * 2017-09-30 2022-02-11 北京国双科技有限公司 一种组件部署方法和装置
CN109597626A (zh) * 2017-09-30 2019-04-09 北京国双科技有限公司 一种组件部署方法和装置
CN107783790B (zh) * 2017-11-07 2020-09-01 北京小米移动软件有限公司 终端唤醒方法及装置
CN107783790A (zh) * 2017-11-07 2018-03-09 北京小米移动软件有限公司 终端唤醒方法及装置
CN108595948A (zh) * 2018-04-19 2018-09-28 深圳鼎智通讯股份有限公司 一种Android智能POS终端预装APP及其防护方法
CN109491763A (zh) * 2018-11-14 2019-03-19 北京奇艺世纪科技有限公司 一种系统部署方法、装置及电子设备
CN111209052A (zh) * 2018-11-20 2020-05-29 北京京东尚科信息技术有限公司 一种应用启动的方法及系统
CN114564242A (zh) * 2022-02-28 2022-05-31 石家庄通合电子科技股份有限公司 自唤醒功能的实现方法、装置、终端及存储介质

Also Published As

Publication number Publication date
US20150186129A1 (en) 2015-07-02
CN104765620B (zh) 2018-01-26

Similar Documents

Publication Publication Date Title
CN104765620A (zh) 一种程序模块部署的方法和系统
US9940172B2 (en) Workload-to-cloud migration analysis based on cloud aspects
CN104601622B (zh) 一种部署集群的方法和系统
CN105446793B (zh) 迁移虚拟资产的方法和设备
CN103368767B (zh) 用于在容许故障的因特网云上部署软件应用的方法和系统
CN104424013A (zh) 在计算环境中部署虚拟机的方法和设备
US8751620B2 (en) Validating deployment patterns in a networked computing environment
CN103716347B (zh) 建立虚拟机的方法、装置和云服务器
CN109906597B (zh) 向和从云网络中存储和取回受限制的数据集和非受限制的数据集
CN104067265A (zh) 用于支持在云中的安全应用部署的系统和方法
CN104660669A (zh) 针对应用模式组件从多个主机选择一个主机的方法和系统
US20070209034A1 (en) Method, system, and program product for deploying a platform dependent application in a grid environment
CN104796270A (zh) 在云应用的问题诊断中推荐可疑组件的方法及装置
CN105100127A (zh) 用于验证在云计算环境中的应用部署拓扑的设备和方法
CN104516730A (zh) 一种数据处理方法和装置
JP2021509498A (ja) コンピューティング・デバイス
CN104516773A (zh) 用于物理机的数据分配方法和数据分配装置
CN104216662A (zh) 用于跨远程复制关系的卷布置的方法和系统
CN105359088A (zh) 使用动态生成的虚拟磁盘内容优化供应时间的方法
CN116414518A (zh) Kubernetes上的大数据的数据局部性
CN104424012A (zh) 用于提供自定义虚拟装置的方法和设备
CN104951238A (zh) 用于在分布式虚拟环境中管理数据存储的方法和装置
US11195137B2 (en) Model-driven and automated system for shared resource solution design
CN105224301B (zh) 一种应用实例组装的方法和系统
CN114341809A (zh) 分布式系统部署

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant