太阳城集团

  • / 17
  • 下载费用:30 金币  

一种应用实例组装的方法和系统.pdf

关 键 词:
一种 应用 实例 组装 方法 系统
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

太阳城集团CN201410302501.5

申请日:

2014.06.27

公开号:

太阳城集团CN105224301A

公开日:

2016.01.06

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20140627|||公开
IPC分类号: G06F9/44 主分类号: G06F9/44
申请人: 国际商业机器公司
发明人: 王磊; A·洛; 徐海弘
地址: 美国纽约
优先权:
专利代理机构: 北京市中咨律师事务所 11247 代理人: 于静;张亚非
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201410302501.5

授权太阳城集团号:

||||||

法律状态太阳城集团日:

2019.01.04|||2016.02.03|||2016.01.06

法律状态类型:

太阳城集团授权|||实质审查的生效|||公开

摘要

本发明公开了一种应用实例组装的方法和装置。所述方法包括:获取应用程序所绑定的功能服务的列表;确定与所绑定的功能服务所对应的构建工具;和由所确定的构建工具进行所述应用程序的应用实例组装。采用根据本发明实施例的技术方案,可以在应用实例组装的过程中,自动地对应用程序进行扩展,使其可以与所绑定的服务进行交互。

权利要求书

权利要求书
1.  一种应用实例组装的方法,包括:
获取应用程序所绑定的功能服务的列表;
确定与所绑定的功能服务所对应的构建工具;和
由所确定的构建工具进行所述应用程序的应用实例组装。

2.  如权利要求1所述的方法,其中确定与所绑定的功能服务所对应的构建工具包括:
向云计算平台的通用构建工具装载对应于功能服务的插件,从而将所述通用构建工具转换成与该功能服务对应的构建工具。

3.  如权利要求2所述的方法,其中所述插件是由功能服务的提供者上传到云计算平台,并且注册到云计算平台的通用构建工具的。

4.  如权利要求2所述的方法,其中所述插件包括以下任意一种:
能够被所述通用构建工具调用的插件;和
能够被所述通用构建工具解析的插件。

5.  如权利要求1所述的方法,其中由所确定的构建工具进行所述应用程序的应用实例组装包括以下中的至少一项:
根据功能服务的需要修改应用程序的代码;
根据功能服务的需要向应用程序中预装载驱动;和
根据功能服务的需要设置应用程序的环境变量。

6.  一种应用实例组装的装置,包括:
获取模块,配置为获取应用程序所绑定的功能服务的列表;
确定模块,配置为确定与所绑定的功能服务所对应的构建工具;和
应用实例组装模块,配置为使得所确定的构建工具进行所述应用程序的应用实例组装。

7.  如权利要求所述6的装置,其中所述确定模块包括:
配置为向云计算平台的通用构建工具装载对应于功能服务的插件,从 而将所述通用构建工具转换成与该功能服务对应的构建工具的模块。

8.  如权利要求7所述的装置,其中所述插件是由功能服务的提供者上传到云计算平台,并且注册到云计算平台的通用构建工具的。

9.  如权利要求7所述的装置,其中所述插件包括以下任意一种:
能够被所述通用构建工具调用的插件;和
能够被所述通用构建工具解析的插件。

10.  如权利要求6所述的装置,其中所述应用实例组装模块包括以下中的至少一项:
配置为根据功能服务的需要修改应用程序的代码的模块;
配置为根据功能服务的需要向应用程序中预装载驱动的模块;和
配置为根据功能服务的需要设置应用程序的环境变量的模块。

说明书

说明书一种应用实例组装的方法和系统
技术领域
本发明涉及云计算,更具体地涉及一种在云计算平台中进行应用实例组装(staging)的方法和系统。
背景技术
PaaS(Platform-as-a-Service平台即服务)是把平台作为一种服务提供的商业模式。PaaS的提供商可以将操作系统、应用服务器、应用开发环境等平台级产品通过Web以服务的方式提供给用户。通过PaaS服务,软件开发人员可以不购买平台软件的情况下开发和部署新的应用程序。
以一个网络应用程序为例。一般来说,一个网络应用程序需要部署在一个应用服务器上,应用服务器运行于操作系统上,而操作系统运行于硬件环境上。其中应用服务器和操作系统都属于平台级的产品。在云计算的环境下,可以通过IaaS(Infrastructure-as-a-Service基础设施即服务)来将硬件作为服务提供。可以由虚拟化的基础架构,例如虚拟机,来提供所需的硬件环境。而云计算平台则整合了应用服务器和操作系统的功能。用户可以直接在该平台上开发和部署自己的应用程序,而不用搭建自己的平台。
为了将用户的应用程序部署在云计算平台上,首先由用户将应用程序推送到云计算平台上。云计算平台接下来分析应用程序的类型,并且根据应用程序的类型准备对应的应用程序运行时环境,安装应用程序的依赖,并将这些打成一个可以运行的封装(droplet)存储在云系统里。这个过程称为“应用实例组装”(staging)。云计算平台中用于进行应用实例组装的主要模块称为构建工具(buildpack)。一般来说构建工具是特定于应用程序类型的。在同一个云计算平台中,往往存在用于处理不同类型应用程序的多个构建 工具。例如,对于部署在云计算平台上的java应用,会有java构建工具;对于node.js应用,会有node.js构建工具。在应用程序被推送到云计算平台上后,云计算平台逐个调用用于处理不同类型的应用程序的构建工具。如果某个构建工具发现该应用程序的类型正是该构建工具所要处理的类型,那么该构建工具开始对该应用程序进行应用实例组装。
随着应用程序的多样化和复杂化,现有的构建工具在某些特殊场合下可能无法完成应用实例组装的功能。因此,需要对现有的构建工具进行一定程度的改进。
发明内容
根据本发明实施例,提供了一种应用实例组装的方法,包括:获取应用程序所绑定的功能服务的列表;确定与所绑定的功能服务所对应的构建工具;和由所确定的构建工具进行所述应用程序的应用实例组装。
根据本发明另一个实施例,提供了一种应用实例组装的装置,包括:获取模块,配置为获取应用程序所绑定的功能服务的列表;确定模块,配置为确定与所绑定的功能服务所对应的构建工具;和应用实例组装模块,配置为使得所确定的构建工具进行所述应用程序的应用实例组装。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1表示根据本发明一实施例的云计算节点;
图2表示根据本发明一实施例的云计算环境;
图3表示根据本发明一实施例的抽象模型层;
图4表示根据本发明实施例的进行应用实例组装的流程;
图5表示根据本发明实施例的进行应用实例组装的方法的流程图;
图6A、图6B、图7A和图7B表示根据本发明实施例的进行应用实例组装的示意;
图8表示根据本发明实施例的进行应用实例组装的装置的方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括太阳城集团云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器太阳城集团和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分 配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络太阳城集团器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图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系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理等。
图4示出了用户把一个应用推送到平台即服务类型的云计算平台后,在云端在进行应用实例组装的一个基本过程:
1.用户推送一个应用到云计算平台上。
2.云计算平台的控制器在接收到用户的应用后,把用户的应用存储起来。
3.云计算平台的控制器向进行应用实例组装的工作组件发出指令。
4.进行实例组装的工作组件会使用构建工具为用户的应用安装运行时环境,安装应用程序依赖并打包。
5.进行实例组装的工作组件会把打好的可执行包存储起来,以备以后运行。
有的时候,一个应用程序需要调用平台所提供的一些功能服务,例如数据库功能服务、监测功能服务等。数据库功能服务向应用程序提供访问数据库的能力,监测功能服务可以监测应用程序的状态、资源消耗量等并报告给应用程序。由于功能服务的多样性和复杂性,应用程序并不总能直接和功能服务进行交互。以数据库功能服务为例,如果一个用户应用程序需要使用数据库,他就需要为应用程序绑定一个数据库功能服务,从而让应用程序可以连接到这个数据库功能服务上进行增、删、改、查等等操作。一个前提是,用户的应用程序中需要带有连接这个数据库功能服务的驱动。因此,需要对应用程序进行扩展。例如,有可能需要向应用程序中预装载(pre-install)例如代理或者库文件的驱动,甚至需要更改应用程序代码,设置环境变量等,然后应用程序才能和功能服务交互进行交互。
然而,在如图4所示的第4步,即构建工具进行应用实例组装的过程中,并没有针对应用程序绑定的服务做任何的事情。相应地,应用程序的提供者需要考虑应用程序和功能服务的交互问题。例如,应用程序的提供者需要在应用程序开发阶段确定需要调用哪些功能服务,并且针对所确定的每个功能服务对应用程序进行必要的修改,例如预装载代理或者库文件等。这种解决办法会给应用程序提供者带来额外的负担,功能服务的实现 往往是多样并且复杂的,对于应用程序的提供者而言,了解每一个功能服务的使用方式以及其前提条件是一件十分困难的事情。这种额外的负担削弱了PaaS所带来的优势,因为在PaaS的场合,应用程序提供者本应该专注于应用程序本身的业务逻辑。此外,这种解决方案也不够灵活,因为应用程序只能与在开发阶段所选择的特定的功能服务进行交互。一旦功能服务升级,就有可能需要再次修改应用程序,以使得该应用程序能够与升级后的功能服务交互。
因此,需要简化应用程序的提供者在将应用程序推送到云计算平台前需要手工完成的工作,使云计算平台的应用实例组装过程能够根据用户应用程序所绑定的服务,自动地对应用程序进行相应的扩展和修改。
为了解决本发明提出的问题,云计算平台在管理层,也就是图3的64层开发一种进行应用实例组装的方法。
下面参照图5描述根据本发明实施例的进行应用实例组装的方法。
步骤501,获取应用程序所绑定的功能服务的列表。
可以在应用程序中指定所要绑定的功能服务。这样,在应用程序被推送到云计算平台后,就可以由云计算平台从应用程序中抽取这些太阳城集团。本领域技术人员可以理解,应用程序在推送到云计算平台时,需要向云计算平台通知应用程序类型、所需要的运行时环境、所需要的依赖等。可以采用类似的手段来使得云计算平台能够从应用程序获取有关被绑定的功能服务的太阳城集团。
步骤502,确定与所绑定的功能服务所对应的构建工具。
根据本发明的一个实施例,与所绑定的功能服务对应的构建工具是由该功能服务的提供者所开发并且部署于云计算平台上的。如前所述,期望构建工具能够在应用实例组装的过程中,自动地完成应用程序和功能服务之间的对接。功能服务的提供者了解为了使得应用程序能够与功能服务进行交互,需要对应用程序进行何种扩展,例如如何向应用程序中预装载代理或者库文件,如何更改应用程序代码,如何设置应用程序的环境变量等。 因此,功能服务的提供者可以自行开发构建工具。
如前所述,应用程序可能具备不同的类型,例如java应用程序,node.js应用程序等。功能服务的提供者在开发与该功能服务对应的构建工具时,也需要针对不同的应用程序类型开发不同的构建工具。本领域技术人员可以理解,为了开发构建工具,服务功能的提供者还需要具备太阳城集团特定云计算平台的知识,尤其是需要对该特定云计算平台的应用实例组装过程有非常深入的了解,这样才能使得该构建工具能够部署到所述特定的云计算平台。
为了减轻功能服务的提供者的工作量,缩短将功能服务部署到云计算平台的太阳城集团,可以提供一个框架以方便功能服务提供者对通用的构建工具进行扩展,而不是重新开发专用于该功能服务的构建工具。
根据本发明的另一个实施例,通用的构建工具通过装载对应于功能服务的插件,来转换成与该功能服务对应的构建工具。这样,上述确定与所绑定的功能服务对应的构建工具实际上是确定与所述功能服务对应的插件,并且将所述插件加载到通用的构建工具。本领域技术人员可以理解,这里所谓的通用构建工具,可以是针对具有相同类型的应用程序而言的,即该通用构建工具可以用于处理具有该类型的所有应用程序。以下将结合其他附图进一步描述本实施例。
步骤503,由所确定的构建工具进行所述应用程序的应用实例组装。
在步骤502中,确定了与功能服务对应的构建工具。该构建工具已经了解为了使得应用程序能够与功能服务进行交互,需要对应用程序进行何种扩展。因此,由该构建工具进行应用实例组装,可以自动地对所述应用程序进行扩展。所述构建工具还完成应用实例组装所需的其他步骤,例如安装运行时环境、安装应用依赖、进行封装等。
下面结合图6A和图6B描述根据本发明实施例的确定与所绑定的功能服务所对应的构建工具的过程。
根据本发明实施例,由功能服务的提供者提供对应于该功能服务的插 件。功能服务的提供者将插件上传到云计算平台,并且将该插件注册到云计算平台的构建工具。
通用的构建工具可以在第一目录下记录已注册的功能服务与插件之间的对应关系,并且在第二目录下存放所述插件。例如,对于图6A所示的目录结构,可以在bin目录下的service_ext.sh文件记载了已经注册的功能服务与插件之间的对应关系,并且如图6B所示地在service目录下存放各功能服务对应的插件。其中,以.json结尾的文件表示与各功能服务对应的插件。所述service_ext.sh文件的代码可以对应于以下的伪代码:
***********************************************
应用程序绑定“应用关注”功能服务,则装载AppWatch.json文件
应用程序绑定“加速”功能服务,则装载BLUAcceleration.json文件
应用程序绑定“数据缓存”功能服务,则装载DataCache.json文件
应用程序绑定“日志分析”功能服务,则装载LogAnalysis.json文件
应用程序绑定“监测”功能服务,则装载Monitoring.json文件
应用程序绑定“数据库”功能服务,则装载SQLDB.json文件
***********************************************
类似地,在图7A和图7B所示的目录结构中,service目录下的default.rb件用于记录已经注册的功能服务与插件之间的对应关系,并且config目录下的各.yml文件是与各功能服务对应的插件。
根据本发明实施例,所述插件可以由构建工具直接调用,从而直接由所述插件来进行应用程序扩展。根据本发明另一个实施例,所述插件也可以由构建工具解析后变成构建工具可以理解的指令,然后由构建工具来执行所述指令。通过装载或者解析与功能服务相对应的插件,通用的构建工具变成与功能服务相对应的构建工具。该构建工具在应用实例组装的过程中,自动地按照功能服务的要求,对应用程序进行扩展。例如,所述构建工具可以向应用程序中插入驱动,更改应用程序的代码,设置应用程序的环境变量等。
前面已经参考附图描述了实现本发明的方法的各个实施例。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种程序模块部署的系统。即使该系统在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该系统表现出区别于通用处理设备的特性,从而形成本发明的各个实施例的装置。本发明中所述装置包括若干单元或模块,所述单元或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述单元或模块执行的动作。由于所述系统与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图8示出根据本发明实施例的应用实例组装的装置的方框图。
所述应用实例组装的装置,包括:
获取模块,配置为获取应用程序所绑定的功能服务的列表;
确定模块,配置为确定与所绑定的功能服务所对应的构建工具;和
应用实例组装模块,配置为使得所确定的构建工具进行所述应用程序的应用实例组装。
其中所述确定模块包括:
配置为向云计算平台的通用构建工具装载对应于功能服务的插件,从而将所述通用构建工具转换成与该功能服务对应的构建工具的模块。
其中所述插件是由功能服务的提供者上传到云计算平台,并且注册到云计算平台的通用构建工具的。
其中所述插件包括以下任意一种:
能够被所述通用构建工具调用的插件;和
能够被所述通用构建工具解析的插件。
其中所述应用实例组装模块包括以下中的至少一项:
配置为根据功能服务的需要修改应用程序的代码的模块;
配置为根据功能服务的需要向应用程序中预装载驱动的模块;和
配置为根据功能服务的需要设置应用程序的环境变量的模块。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

太阳城集团本文
本文标题:一种应用实例组装的方法和系统.pdf
链接地址:http://zh228.com/p-6397750.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');