一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在集成系统中与应用流的通信的制作方法

2022-07-10 19:02:38 来源:中国专利 TAG:


1.本发明涉及集成系统中的应用流,更具体地,涉及在集成系统中配置与应用流的数据通信。本发明还涉及适于实现这种方法的连接组件(例如交换组件)。


背景技术:

2.在软件即服务(saas)环境和混合集成系统中需要跨内部部署(on-premise)和外部部署(off-premise)平台与应用流进行通信。saas是软件许可和交付模型,其中,软件基于订阅而被许可,并由例如可经由因特网访问的外部部署平台(诸如共享计算资源或云计算资源)集中托管。saas通常由内部部署平台的用户例如使用瘦客户段经由网络浏览器访问。混合集成系统将集成的部分部署在外部部署平台中,而将其他部分部署在内部部署平台中。
3.内部部署平台是建立好的并被认为提供了改进的安全性,因为数据在内部(例如在内部专用网络内)被存储和处理。外部部署平台(诸如但不限于云计算资源)是最近的不断发展的概念。通常,提及外部部署资源或平台是指用于使得能够经由因特网对可配置的外部部署(例如位于远程的)计算资源(诸如可经由因特网访问的网络、应用、服务器、存储设备、应用、功能等)的共享池进行无处不在的、方便的和按需的访问的概念。相反,提及内部部署资源或平台是指本地或专用计算资源(诸如位于本地或在虚拟边界(通常是防火墙)内/后面的网络、服务器、存储设备、应用等)的概念。
4.在混合集成系统中,在系统中的不同位置之间(例如在基于云的服务器与内部部署服务器之间)分割集成的能力对于能够实现真正的混合集成是关键的。无论选择哪种方法,都需要选择特定的传输协议。然而,可调用流(也被称为“应用流”或“集成流”,其描述应用与对数据输入和输出执行的处理之间的数据流)出现问题。为了对流之间的调用提供不同的服务质量,必须在组成可调用流的组件(例如交换服务器和代理)中写入大量的附加功能。此外,现行的用于促进可调用流的方法不是高度可用的,并且安全性受限于所提供的机制。


技术实现要素:

5.根据本发明的实施例,一种用于在集成系统中配置与应用流的数据通信的连接组件,该连接组件包括:信息存储,其适于存储与一个或多个应用流相关联的连接配置信息;注册模块,其适于接收与应用流相关联的连接配置信息,其中,所接收的连接配置信息与到相关联的应用流的至少两个不同连接路由相关,并且适于基于应用流的可用性而将连接配置信息添加到信息存储中或从信息存储中移除连接配置信息;配置组件,其被配置为基于第一客户端要连接到的应用流,识别用于第一客户端的所存储的连接配置信息;以及通信组件,其适于将所识别的连接配置信息传送到第一客户端。
6.根据本发明的实施例,一种交换模块,该交换模块包括:连接组件,其中,该连接组件包括:信息存储,其适于存储与一个或多个应用流相关联的连接配置信息;注册模块,其
适于接收与应用流相关联的连接配置信息,其中,所接收的连接配置信息与到相关联的应用流的至少两个不同连接路由相关,并且适于基于应用流的可用性而将连接配置信息添加到信息存储中或从信息存储中移除连接配置信息;配置组件,其被配置为基于第一客户端要连接到的应用流,识别用于第一客户端的所存储的连接配置信息;以及通信组件,其适于将所识别的连接配置信息传送到第一客户端。
7.根据本发明的实施例,一种服务器设备,该服务器设备包括:交换模块,其中,该交换模块进一步包括连接组件,其中,该连接组件进一步包括:信息存储,其适于存储与一个或多个应用流相关联的连接配置信息;注册模块,其适于接收与应用流相关联的连接配置信息,其中,所接收的连接配置信息与到相关联的应用流的至少两个不同连接路由相关,并且适于基于应用流的可用性而将连接配置信息添加到信息存储中或从信息存储中移除连接配置信息;配置组件,其被配置为基于第一客户端要连接到的应用流,识别用于第一客户端的所存储的连接配置信息;以及通信组件,其适于将所识别的连接配置信息传送到第一客户端。
8.根据本发明的实施例,一种用于在集成系统中配置与应用流的数据通信的计算机实现的方法,该计算机实现的方法包括:在信息存储中存储与一个或多个应用流相关联的连接配置信息;接收与应用流相关联的连接配置信息,其中,所接收的连接配置信息与到相关联的应用流的至少两个不同连接路由相关;基于应用流的可用性,将连接配置信息添加到信息存储中或从信息存储中移除连接配置信息;基于第一客户端要连接到的应用流,识别用于第一客户端的所存储的连接配置信息;以及将所识别的连接配置信息传送到第一客户端。
9.根据本发明的实施例,一种用于在集成系统中配置与应用流的数据通信的计算机程序产品,该计算机程序产品包括:计算机可读存储介质,其体现有程序指令,该程序指令可由处理单元执行以使处理单元执行一种方法,该方法包括:在信息存储中存储与一个或多个应用流相关联的连接配置信息;接收与应用流相关联的连接配置信息,其中,所接收的连接配置信息与到相关联的应用流的至少两个不同连接路由相关;基于应用流的可用性,将连接配置信息添加到信息存储中或从信息存储中移除连接配置信息;基于第一客户端要连接到的应用流,识别用于第一客户端的所存储的连接配置信息;以及将所识别的连接配置信息传送到第一客户端。
附图说明
10.现在将参考以下附图仅通过示例的方式描述本发明的优选实施例,其中:
11.图1描绘了示出根据本发明的实施例的在混合集成系统中配置与应用流的数据通信的示例性方法的框图;
12.图2描绘了根据本发明实施例的图1的修改版本,更详细地示出了连接组件;
13.图3描绘了根据本发明的实施例的经组合的图1和图2的修改版本;
14.图4描绘了根据本发明的实施例的图3的修改版本;
15.图5示出了根据本发明的实施例的适合于在实施例中使用的云系统节点;
16.图6示出了根据本发明的实施例的适合于使用的云计算环境;以及
17.图7示出了根据本发明的实施例的适合于使用的云抽象模式层。
具体实施方式
18.应当理解,附图仅仅是示意性的,并且不是按比例绘制的。还应当理解,在所有附图中使用相同的附图标记来表示相同或相似的部件。
19.在本技术的上下文中,其中本发明的实施例构成一种方法,应当理解,这种方法是用于由计算机执行的过程,即,是计算机可实现的方法。因此,该方法的各个步骤反映计算机程序的各个部分,例如一个或多个算法的各个部分。
20.此外,在本技术的上下文中,(处理)系统可以是单个设备或适于执行本发明的方法的一个或多个实施例的分布式设备的集合。例如,系统可以是个人计算机(pc)、服务器、或者经由网络(诸如局域网、因特网等)连接的pc和/或服务器的集合,以便协作地执行本发明的方法的至少一个实施例。
[0021]“应用”可以被理解为可以结构化或有序的方式提供的处理资源、例程、指令集、数据系统或处理构造。因此,路径可用于表示数据存储构造内的位置,例如用于访问在构造内的位置处的应用指令的目的。使用这种应用,可以采取访问、修改、改变、移除、更改等文件或数据的动作或事件。这种事件可以包括读、写、删除、修改、清除、附加等。因此,当被用于外部部署资源与内部部署资源之间的集成时,诸如当可以在基于云的软件供应中对内部部署资源的用户进行或者作为saas环境的一部分进行时,应用的指令、例程或进程中的一个或多个可以由外部系统访问,因此,需要外部部署资源与内部部署资源之间的通信。
[0022]
提出了用于在集成系统中配置与应用流的数据通信的概念,其中,可以向客户端提供到应用流的各种连接路由。例如,与应用流相关联的连接配置信息可以与可用于相关联的应用流的多个不同连接路由相关。可以动态地维持该连接配置信息以反映流和连接路由可用性。当客户端请求应用流时,可以向客户端提供用于该应用流的连接配置信息。这可以使得客户端能够例如根据某些选择标准或要求来选择优选路由,并且所选择的路由可以不同于会以其他方式被自动使用的默认路由。这样,这种概念可以扩展传统的可调用流机制以满足连接路由的动态建立和连接路由的动态选择。
[0023]
作为进一步示例,所提出的实施例可以采用注册有关用连接组件访问或利用应用流的信息的概念。然后,连接组件可以标识用于应用流的可用连接路由。通过使用这种注册概念,连接配置信息的数据存储可以被动态地更新或维持,以反映可用应用或服务器的变化。这可以提供可调用应用流可以高度可用的优点。
[0024]
例如,所提出的概念可以使得内部部署应用流能够被外部部署应用流调用,和/或反之亦然,其中,多个可能连接路由之一可被提供给调用客户端。因此,可受益于在外部部署系统上实现的应用可在外部部署服务器中运行,而可受益于在内部部署系统上实现的应用可在内部部署服务器中运行。
[0025]
因此,说明性实施例可以提供用于在外部部署资源与内部部署资源之间通信的概念。因此,所提出的实施例可以提供动态连接配置和优化。还可以提出对传统saas实现的修改和附加步骤,其可以增强所提出的概念的价值和效用。
[0026]
可以在许多不同类型的分布式处理环境中利用说明性实施例。为了提供用于描述说明性实施例的元件和功能的上下文,以下提供附图作为其中可以实现说明性实施例的各方面的示例环境。应当理解,附图仅是示例性的,并不旨在断言或暗示关于其中可实现本发明的各方面或实施例的环境的任何限制。在不脱离本发明的精神和范围的情况下,可以对
所描述的环境进行许多修改。此外,系统可以采取多种不同处理设备中的任何一种的形式,包括客户端计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其他通信设备、个人数字助理(pda)等。在一些说明性示例中,外部部署设备和内部部署设备可包括便携式计算设备,其被配置有闪存以提供非易失性存储器以用于存储操作系统文件和/或用户生成的数据。因此,系统基本上可以是任何已知的或以后开发的处理系统,而没有体系结构限制。
[0027]
所提出的概念可通过使得能够在云与内部部署资源之间实现动态数据路由选择来增强基于云的服务供应系统。这种提议可以扩展或改进基于云的软件交付系统的处理能力、灵活性和/或效率。
[0028]
现在转向图1,示出了根据所提出的实施例的用于在包括云环境72中的外部部署资源70和内部部署资源73的混合集成系统中配置与应用流的数据通信的示例性方法。
[0029]
图1的混合集成系统描绘了根据所提出的实施例的包括连接组件125的外部部署交换机以及实现队列115的排队系统110。
[0030]
连接组件125被配置为促进连接路由到可调用应用流的动态建立和连接路由的动态选择。客户端可以像它会调用任何其他本地应用一样调用流,然后,连接组件125用到被调用的流的不同路由的连接细节120来响应。从所提供的各种连接路由中,调用客户端可以选择到被调用的应用流的最合适的连接路由74。例如,客户端可以考虑诸如以下的一个或多个因素来选择连接路由74:网络子网;连接路由74的可寻址能力;传输类型;当前的传输延迟;传输可靠性;调度;数据的大小或复杂度等。
[0031]
图1的所建议的配置允许排队系统110的连接细节120在连接组件上被配置。因此,在图1的集成系统中,提供了每个代理78、90可连接到的排队系统110。
[0032]
图1还通过带标记的箭头示出了根据所提出的概念实现连接的方式。
[0033]
如被标记为a'的箭头所示,当应用流95被部署到内部部署服务器85的集成引擎100时,它向连接组件125注册它的调用节点。应用流95到连接组件125的隧道保持打开,并将接受协议的连接细节120以监听请求。
[0034]
作为该部署的结果,连接组件125具有被配置为向可调用流95发送的排队系统110。然后,它在该系统上监听请求。
[0035]
如被标记为b'的箭头所示,当应用流77被部署到外部部署服务器75的集成引擎76时,它向连接组件125注册它的调用节点。它到连接组件125的隧道保持开放,并将接受协议的连接细节120以监听请求。作为该部署的结果,连接组件125具有被配置为向可调用应用流77发送的排队系统110。然后,它在该系统上监听请求。
[0036]
最后,如被标记为c1'和c2'的箭头所示,当外部部署服务器75的调用应用流77想要调用内部部署服务器85的可调用应用流95时,它使用由连接组件125提供的连接细节120。正被调用的应用流95已经在同一排队系统上进行监听,因为连接组件125在它注册时提供细节。调用可调用应用流95的应用流77还可以决定经由连接组件125回复发送请求,例如,因为排队系统110具有像中断之类的问题,或者因为它被配置为从不使用排队作为连接路由74。它也可以选择忽略对连接路由排队,因为它不想要由异步排队系统提供的服务质量。
[0037]
因此,将理解,图1的实施例的连接组件125消除了针对连接路由74有多个交换机
的需要,因为连接组件125便于经由可管理它自己的机制的不同机制/协议来发送数据。
[0038]
作为进一步的解释,参考图2,更详细地示出了连接组件125。
[0039]
连接组件125包括:信息存储250;注册模块260;配置组件270;以及通信组件280。
[0040]
信息存储250是数据存储系统,其被配置为存储与应用流95相关联的配置信息,诸如:应用流95的连接细节120;以及用于向和/或来自应用流95的数据传输的客户端库。进一步地,根据所提出的概念,连接配置信息可以与到相关联的应用流95的多个不同连接路由相关。
[0041]
连接配置信息可以从以下中的至少一项提供给连接组件125:外部部署服务器75;内部部署服务器85;外部部署代理78;以及内部部署代理90。作为示例,这种外部部署服务器75可以包括云服务器。为此,连接组件125包括注册模块260,其被配置为接收与应用流95相关联的连接配置信息。注册模块260被配置为将连接配置信息添加到信息存储250中,因此能够实现向连接组件125注册连接配置信息的概念,因此,它可以识别用于所请求的应用流95的潜在连接路由。此外,注册模块260可以适于响应于应用流95、服务器和/或应用变成不可访问(例如,被断开、终止或掉电)而从信息存储250中移除连接配置信息。
[0042]
因此,注册客户端或应用流77可以注册用以识别可用连接路由的信息。然后,可以使用该注册信息以将路由连接到被调用的应用流95。换句话说,信息存储250可以适于被动态地更新或维持,以便反映可用应用流77、95、资源和/或连接路由的变化。
[0043]
因此,信息存储250可被认为提供对表示可访问的应用流77、95和可用连接路由的连接配置信息的动态更新存储。这样,连接组件125可以适于实现细节,并且适合可用资源(例如应用流77、95、服务器和/或连接链路)的变化,以用于向/从信息存储250注册/注销连接配置信息。
[0044]
通信组件280被配置为从客户端接收应用流77、95请求。为此,通信组件280适于建立用于接收应用流77、95请求的安全隧道。作为示例,应用流77、95请求包括:应用名称;流标识符;客户端标识符;数据有效载荷;以及入口点数据。
[0045]
在接收到应用请求时,通信组件280将所接收到的请求传递到配置组件270。配置组件270适于结合被存储在信息存储250中的连接配置信息来处理所接收的请求,以便确定所请求的应用流77、95和所存储的连接配置信息。作为示例,配置组件270被配置为例如基于在请求中包括的应用名称来识别所请求的应用流77、95,以及例如基于在请求中包括的客户端标识符来识别调用/请求客户端。进一步地,基于所识别的所请求的应用流77、95和客户端,配置组件270则适于查询信息存储250以识别与所识别的所请求的应用流77、95和客户端相关联的连接配置信息。
[0046]
配置组件270将所识别的连接配置信息传递到通信组件280。通信组件280适于将所识别的连接配置信息传送回客户端。为此,通信组件280适于建立用于传送所识别的连接配置信息的安全隧道。例如,通信组件280可以在连接组件125与调用代理之间建立相互认证的tls隧道连接。
[0047]
因此,根据以上描述,连接组件125可被认为具有用于与外部部署和内部部署服务器模块建立隧道的安全通信组件280。连接组件125也可以被认为包括:注册模块260,其适于在连接组件125的数据存储器中注册并存储与应用流相关联的连接配置信息,例如,应用流77、95的连接细节120;以及用于向和/或来自应用流77、95的数据传输的客户端库。因此,
当客户端连接时和/或当配置改变时,客户端可以向连接组件125注册连接配置信息。当应用流77、95变成不可访问时,这种信息也可被注销,例如从数据存储中移除或删除。所接收的对应用流77、95的调用(例如请求)可由连接组件125分析,并被用于查询被动态维持的信息存储250,以识别指示到所请求的应用流77、95的多个连接路由的连接配置信息。
[0048]
仅仅作为所提出的概念的进一步说明,现在将考虑对图1和图2的实施例的修改。更具体地,参考图3,将考虑根据所提出的实施例的在混合集成系统中配置与应用流的数据通信的另一个示例性方法,其中,第一排队系统300和第二排队系统310被提供为外部部署。在此,第一排队系统300被标记为“排队系统a”,第二排队系统310被标记为“排队系统b”。
[0049]
图3的混合集成系统类似于图1和图2的实施例,但是,不同之处在于外部部署资源包括多个交换排队系统,例如第一排队系统300和第二排队系统310。如前所述,连接组件125被配置为促进到可调用应用流77、95的连接路由的动态建立以及这种连接路由的动态选择。客户端可以像它会调用任何其它本地应用一样调用应用流77、95,然后,连接组件125用到被调用的应用流77、95的不同路由的连接细节来响应。
[0050]
所建议的图3的配置允许在连接组件125上配置第一排队系统300和第二排队系统310的连接细节。因此,在图3的集成系统中,提供了代理78、90可连接到的第一排队系统300和第二排队系统310。因此,在该示例中,除了连接组件125具有用于发送数据的排队系统之外,内部部署代理90也可被配置有排队系统。
[0051]
图3通过带标记的箭头示出根据所提出的实施例概念实现连接的方式。
[0052]
如被标记为a”的箭头所示,当应用流95被部署到内部部署服务器85的集成引擎100时,它向连通性组件125注册它的调用节点。它到连接组件125的隧道保持开放,并且它将接受协议的连接细节以监听请求。它将监听这些以及在它自己的排队系统上进行监听。然后,代理90将在两个排队系统上进行监听,并允许直接来自连接组件125的请求。
[0053]
如被标记为b”的箭头所示,当应用流77被部署到外部部署服务器75的集成引擎76时,它向连通性组件125注册它的调用节点。它到连接组件125的隧道保持开放,并且它将接受协议的连接细节以在发送请求时监听。在这种情况下,它将接收两组排队系统细节:在连接组件125上配置的查询系统a连接细节320和由内部部署代理90注册的查询系统b连接细节330。例如,它们以有序列表被提供,并且代理90排队系统首先到来,接下来是定义下一个的连接组件。
[0054]
如被标记为c1”和c2”的箭头所示,当外部部署服务器75的调用应用流77想要调用内部部署服务器85的可调用应用流95时,它使用由连接组件125提供的连接细节。它将选择第二排队系统310的细节,其会是内部部署代理90的优选排队系统。它还可以在这一点上使用其它选择标准选择不同于该顺序的连接路由74,如:排队系统的例如使用最接近它自己的地址的子网;或者选择它可以寻址的排队系统。注意,它可以例如基于延迟、吞吐量和错误来在稍后的点改变路由的选择。
[0055]
作为所提出的概念的进一步描述,现在将考虑对图3的实施例的修改。更具体地,参考图4,将考虑在根据所提出的实施例的在混合集成系统中配置与应用流程77、95的数据通信的另一个示例性方法,其中,第一集成服务器85和第二集成服务器400被提供为内部部署。
[0056]
具体地,图4的经修改的实施例的内部部署资源73进一步包括第二内部部署服务
器400(除了第一内部部署服务器85之外)。第二内部部署服务器400包括用于与连接组件125通信的代理410。第二内部部署服务器400还包括实现应用流430的集成引擎420。
[0057]
因此,图4的混合集成系统类似于图3的实施例,但不同之处在于内部部署资源73包括多个集成服务器85、400。如前所述,连接组件125被配置为促进到可调用应用流430的连接路由的动态配置和这种连接路由的动态选择。客户端可以像它会调用任何其他本地应用一样调用应用流430,然后,连接组件125用到所调用的应用流430的不同路由的连接细节来响应。
[0058]
所提出的图4的配置允许在连接组件125上配置第一排队系统300和第二排队系统310的连接细节。因此,在图4的集成系统中,提供了代理78、90、410可连接到的第一排队系统300和第二排队系统310。因此,在该示例中,除了第一集成服务器85的内部部署代理90具有用于发送数据的排队系统之外,第二集成服务器400的内部部署代理410也可被配置有排队系统。因此,在该示例中,两个代理90、410都注册相同的可调用应用流95、410,并且都提供不同的排队系统细节。
[0059]
根据所提出的实施例概念,调用应用流77可以调用应用流95、430的两个副本中的任何一个,而不是代理90、410,因为将在队列320、330上进行监听的是应用流95、430。
[0060]
例如,图4使用被标记的箭头示出根据所提出的实施例概念实现连接的方式。
[0061]
如被标记为a1*的箭头所示,当应用流95被部署到第一内部部署服务器85的集成引擎100时,它向连接组件125注册它的调用节点。应用流95到连接组件125的隧道保持打开,并且它将接受协议的连接细节以监听请求。应用流95将监听这些以及在它自己的排队系统上进行监听。然后,代理90将在两个排队系统上监听,并允许直接来自连接组件125的请求。
[0062]
类似地,如由被标记为a2*的箭头所示,当应用流430被部署到第二内部部署服务器400的集成引擎420时,它向连接组件125注册它的调用节点。应用流430到连接组件125的隧道保持打开,并且它将接受协议的连接细节以监听请求。应用流430将监听这些以及在它自己的排队系统上进行监听。然后,第二内部部署服务器400的代理410将在两个排队系统上进行监听并允许直接来自连接组件125的请求。
[0063]
如被标记为b*的箭头所示,当应用流77被部署到外部部署服务器75的集成引擎76时,它向连接组件125注册它的调用节点。应用流77到连接组件125的隧道保持打开,并且它将接受协议的连接细节以在发送请求时监听/使用。在这种情况下,应用流程430将接收两组排队系统细节:由第一内部部署服务器85的内部部署代理90注册的查询系统a连接细节320;以及由第二内部部署服务器400的内部部署代理410注册的查询系统b连接细节330。
[0064]
如被标记为c1*和c2*的箭头所示,当外部部署服务器75的调用应用流77想要调用第一内部部署服务器85的可调用应用流95时,应用流77使用由连接组件125提供的连接细节。它将选择第一排队系统300的细节,其会是内部部署代理90的优选排队系统。它还可以在这一点上使用其它选择标准选择不同于该顺序的连接路由74,如:排队系统的例如使用最接近它自己的地址的子网;或者选择它可以寻址的排队系统。注意,它可以例如基于延迟、吞吐量和错误来在稍后的点改变路由的选择。
[0065]
注意,在上述实施例中,当代理离开或加入系统时,可以经由连接组件125向被注册为调用者的任何集成服务器通知可用排队系统的改变。它将停止向已经离开的代理进行
发送,并且如果任何新代理满足它的选择标准,则开始向任何新代理进行发送。这样,连接配置信息可以根据需要动态地分发和改变。
[0066]
应当理解,所示的示例被简化,并且可以根据需要使系统复杂以用于用户满足要求。例如,可以并入许多代理和许多不同的排队系统(在公共和专用网络两者上)。可以根据需要动态地添加和/或去除这种复杂度,而不改变任何部署的制品,如集成引擎或应用流。
[0067]
进一步地,尽管所示的示例采用排队系统以用于连接路由74,但是也可以配置其它协议,例如rest。然后,代理可以基于所提供的连接配置信息来决定要使用哪个路由。例如,一些路由可能是不可访问的,或者可能提供错误的服务质量。然而,实施例可以总是经由连接组件125提供连接的后退选项,而不是使用单独的路由。
[0068]
如上所述,连接组件125的信息存储250可以使用注册/注销过程来动态或自动地维持。因此,除了实现信息注册方法之外,还可以采用信息注销方法(未示出)。可以响应于例如连接、(一个或多个)用户或应用资源的变化来执行这种过程。
[0069]
从以上描述中将显而易见的是,外部部署资源可由云计算系统提供。此外,用于在集成系统中配置与应用流的数据通信的连接组件125或方法可以由云计算系统提供或实现。
[0070]
参考以下关于云计算系统的描述,可以预先理解,尽管本公开包括关于云计算的详细描述,但本文中所记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。以下云计算系统和环境的描述仅出于解释和理解的目的。
[0071]
云计算是一种服务交付模式,用于实现对共享的可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、vm和服务)池的方便、按需的网络访问,可配置计算资源可以以最小的管理成本或与服务提供商进行最少的交互来快速供应和释放。这种云模式可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
[0072]
特征如下:按需自助式服务:云的消费者可以单方面自动地按需提供计算能力(诸如服务器时间和网络存储),而无需与服务提供者进行人工交互。广泛的网络接入:能力在网络上可用并通过促进异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和pda)的使用的标准机制来接入。资源池:提供商的计算资源被归入资源池以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和再分配。一般情况下,消费者不能控制或不知道所提供的资源的确切位置,但是可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。迅速弹性:可以迅速且有弹性地(在一些情况下自动地)提供能力以快速向外扩展并被迅速释放以快速缩小。对于消费者,可用于提供的能力通常看起来是无限的,并可以在任何时间以任何数量购买。可测量的服务:云系统通过利用在适于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象程度的计量能力,自动地控制和优化资源使用。可以监视、控制和报告资源使用情况,为所利用的服务的提供者和消费者双方提供透明度。
[0073]
服务模型如下:
[0074]
软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可通过诸如网络浏览器的瘦客户机接口(例如,基于网络的电子邮件)来从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置以外,消费者既不管理也不控制包
括网络、服务器、操作系统、存储、或甚至单个应用能力等的底层云基础架构。
[0075]
平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用是使用由提供商支持的编程语言和工具创建的。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
[0076]
基础架构即服务(iaas):向消费者提供的能力是提供消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源。消费者既不管理也不控制底层云基础架构,但对操作系统、存储、所部署的应用具有控制权,对所选择的网络组件(例如,主机防火墙)可能具有有限的控制权。
[0077]
部署模型如下:
[0078]
私有云:云基础架构单独为某个组织运行。它可以由该组织或第三方管理,并且可以存在于该组织内部或外部。
[0079]
共同体云:云基础架构被若干组织共享,并支持具有共同利害关系(例如,任务、安全要求、政策和合规考虑)的特定共同体。它可以由该组织或第三方管理,并且可以存在于该组织内部或外部。
[0080]
公共云:云基础架构可用于一般公众或大型产业群,并由销售云服务的组织拥有。
[0081]
混合云:云基础架构由两个或更多云(私有云、共同体云或公共云)组成,这些云依然是独特实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语义的互操作性。计算的核心是包括互连节点网络的基础架构。
[0082]
现在参考图5,示出了云计算节点的示例的示意图。云计算节点10仅仅是合适的云计算节点的一个示例,并且不旨在对本文描述的本发明的实施例的使用范围或功能提出任何限制。无论如何,云计算节点10能够被实现和/或执行上文所阐述的任何功能。
[0083]
在云计算节点10中,存在计算机系统/服务器12,其可与许多其他通用或专用计算系统环境或配置一起操作。可适合与计算机系统/服务器12一起使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。
[0084]
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器12可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
[0085]
如图5所示,以通用计算设备的形式示出云计算节点10中的计算机系统/服务器12。计算机系统/服务器12的组件可以包括但不限于一个或多个处理器或处理单元16、系统存储器28、以及将包括系统存储器28的各种系统组件耦合到处理器16的总线18。
[0086]
总线18表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外设总线、加速图形端口、以及使用各种总线架构中的任何一种的处理器或
局部总线。作为示例而非限制,这样的架构包括工业标准体系结构(isa)总线、微通道体系结构(mca)总线、增强型isa(eisa)总线、视频电子技术标准协会(vesa)局部总线、以及外设部件互连(pci)总线。
[0087]
计算机系统/服务器12通常包括各种计算机系统可读介质。这种介质可以是可由计算机系统/服务器12访问的任何可用介质,并且它包括易失性和非易失性介质、可移除和不可移除介质。
[0088]
系统存储器28可以包括采用易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓冲存储器32。计算机系统/服务器12还可以包括其他可移除/不可移除的、易失性/非易失性的计算机系统存储介质。仅作为示例,存储系统34可被提供用于从不可移除的非易失性磁介质(未示出并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移除的非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从可移除的非易失性光盘(诸如cd-rom、dvd-rom或其它光学介质)读取或向其写入的光盘驱动器。在这种情况下,每个可以通过一个或多个数据介质接口被连接到总线18。如下面将进一步描绘和描述的,存储器28可以包括至少一个程序产品,其具有一组(例如,至少一个)程序模块,该程序模块被配置为执行本发明的实施例的功能。
[0089]
具有一组(至少一个)程序模块42的程序/实用程序40以及操作系统、一个或多个应用程序、其它程序模块和程序数据可被存储在存储器28中,这是示例而非限制。操作系统、一个或多个应用程序、其它程序模块、以及程序数据或其某种组合中的每一个可包括联网环境的实现程序模块42通常执行本文所描述的本发明实施例的功能和/或方法。
[0090]
计算机系统/服务器12还可以与以下设备通信:一个或多个外部设备14,诸如键盘、指示设备、显示器24等;使用户能够与计算机系统/服务器12交互的一个或多个设备;和/或使计算机系统/服务器12能够与一个或多个其它计算设备通信的任何设备(例如网卡、调制解调器等)。这种通信可以经由输入/输出(i/o)接口22发生。此外,计算机系统/服务器12可以经由网络适配器20与一个或多个网络(诸如局域网(lan)、通用广域网(wan)和/或公共网络(例如,因特网))通信。如图所示,网络适配器20经由总线18与计算机系统/服务器12的其它组件通信。应当理解,尽管未示出,但是,其它硬件和/或软件组件可以与计算机系统/服务器12结合使用,示例包括但不限于:微代码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、raid系统、磁带驱动器和数据档案存储系统等。
[0091]
现在参考图6,描绘了说明性的云计算环境或云计算系统50。在实施例中,这可以等同于例如图1中描绘的云计算系统。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络(诸如如上文描述的私有云、共同体云、公共云或混合云或其组合)中。这允许云计算环境50提供基础架构即服务、平台即服务和/或软件即服务,而云消费者不需要为其在本地计算设备上维护资源。应当理解,图6中所示的各类计算设备54a-n仅仅是说明性的,计算节点10和云计算环境50可以在任何类型的网络和/或网络可寻址连接上(例如,使用网络浏览器)与任何类型的计算机化设备通信。
[0092]
现在参考图7,示出了由云计算环境50(图6)提供的一组功能抽象层。首先应当理
解,图9所示的组件、层和功能仅旨在说明,并且实施例不限于此。如所描绘的,提供了以下层和相应的功能。
[0093]
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括大型机,在一个示例中是系统;基于risc(精简指令集计算机)架构的服务器,在一个示例中是系统;ibm系统;ibm系统;存储设备;网络和网络组件。软件组件的示例包括网络应用服务器软件,在一个示例中是ibm应用服务器软件;以及数据库软件,在一个实例中是ibm数据库软件。(ibm、zseries、pseries、xseries、bladecenter、websphere和db2是在全世界许多管辖区注册的国际商业机器公司的商标)。
[0094]
虚拟化层62提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器;虚拟存储器;虚拟网络,包括虚拟专用网络;虚拟应用程序和操作系统;以及虚拟客户端。
[0095]
在一个示例中,管理层64可以提供以下描述的功能。资源供应功能提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取。计量和定价提供功能提供对在云计算环境内使用资源的成本跟踪,并为这些资源的消耗提供账单或发票。在一个示例中,这些资源可以包括应用软件许可。安全性为云消费者和任务提供身份认证,并为数据和其他资源提供保护。用户门户功能为消费者和系统管理员提供对云计算环境的访问。服务层管理功能提供云计算资源的分配和管理,以满足所需的服务水平。服务水平协议(sla)计划和履行功能提供对根据sla针对其预测未来需求的云计算资源的预安排和采购。
[0096]
工作负载层66提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括但不限于:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及移动桌面。
[0097]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括在其上具有计算机可读程序指令的(一个或多个)计算机可读存储介质,该计算机可读程序指令用于使处理器执行本发明的各方面。
[0098]
计算机可读存储介质可以是可保持并存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述存储设备的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如在上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码设备、以及上述设备的任何适当的组合。如本文所使用的计算机可读存储介质不应被解释为是暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
[0099]
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络
接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0100]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或者以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk、c 等)和过程编程语言(例如“c”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种场景下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的各方面。
[0101]
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以使得经由计算机或其他可编程数据处理装置的处理器而执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,已使得在其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
[0102]
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献