用于云端连接共享集合的系统和方法

文档序号:9583632阅读:627来源:国知局
用于云端连接共享集合的系统和方法
【技术领域】
[0001] 本公开内容涉及连接共享集合,更具体来说涉及在云端环境中管理连接共享集 合。
【背景技术】
[0002] 连接是服务器与客户端彼此通信的手段。客户端和服务器可以处在不同的计算设 备上或者处在相同的计算设备上。客户端使用连接向服务器发送命令以及从服务器接收答 复。
[0003] 针对客户端/服务器通信的一种解决方案是直接连接。直接连接技术的一个问题 在于,服务器在同一时间所能支持的连接数目受到限制。如果在短时间内形成过多的直接 连接,则服务器的性能可能会急剧下降,或者服务器可能会完全停止工作。直接连接技术的 另一个问题在于,相对于为通过连接所请求的(多项)请求提供服务所需的时间,建立连接 需要花费大量时间。每当应用需要连接时(例如每当应用需要从服务器查询数据时)都由 应用创建和关闭连接的做法非常低效。
[0004] 为了解决这两个问题,已经开发出连接集合共享(pooling)。连接集合共享涉及创 建与服务器的连接集合,并且在需要连接的客户端之间共享连接。因此,当客户端需要发送 请求时,该客户端从共享集合中取回连接。当客户端完成时,客户端随后把连接返回到共享 集合,其中所述连接变为可供其他客户端使用。这一连接共享集合改进了简单客户端/服 务器环境中的客户端/服务器通信。但是对于云端应用开发者来说,在云端环境中建立软 件组件之间的连接仍然具有相当的挑战性。
[0005] 后面列出了传统应用(比如web应用)与工作在复杂云端环境中的应用之间在服 务器连接方面的一些重要差异。
[0006] 对于传统应用,连接的寄主、端口和协议相对固定,并且不太可能发生改变。实际 上,可以使用简单的配置文件来存储这样的信息。与此相对,对于云端应用,寄主、端口和协 议需要被动态地发现,这是因为云端环境是分布式的并且会动态地改变。
[0007] 对于传统应用,对于单一任务通常只需要连接到一台服务器。即使服务器的数目 多于一台,其总数也受到限制。与此相对,对于云端应用,对于单一任务可能需要连接到数 以百计或者数以千计的服务器。举例来说,云端应用可能需要单一任务改变服务器的SSL 端口。在表面上,这样的任务看起来非常简单。但是在云端环境中存在数以百计的服务器。 因此,这一简单任务可能涉及数以百计的实例一一一个实例对应于改变一台特定服务器的 SSL端口。需要每一个实例形成仅仅一个连接。但是对于作为整体的任务,所述任务需要许 多不同的连接。此外,服务器的数目可能会动态地改变(即增加或减少)。应用开发者无法 限制在云端环境中可以有多少服务器。
[0008] 对于传统应用,即使存在多于一台服务器,用以决定要连接到哪一台服务器的逻 辑通常也是简单并且固定的。与此相对,在云端环境中,大多数目标组件(寻求与之连接的 组件)都无法被直接连接到以用于配置和监测目的。
[0009] 对于传统应用,服务器平台通常是预先定义的。与此相对,对于云端应用,目标组 件的不同实例应当能够在不同的平台上运行,比如WebLogic、WebSphere、JBoss等等。用以 管理云端组件的相同代码(包括getConnectionO代码)需要对于所有受到支持的平台都 能工作。受到支持的平台的数目可能会由于业务决定而减少/增加,其中受到支持的平台 的数目改变可能会在用以管理软件组件的代码被编写的时间之后发生。
[0010] 在本章节中所描述的方法是可以被寻求的方法,但不一定是先前已经设想到或寻 求过的方法。因此,除非另行表明,否则不应当仅仅由于其被包括在本章节中而假设在本章 节中所描述的任何方法都有资格作为现有技术。
【附图说明】
[0011] 在附图中:
[0012] 图1是一个实施例中的描绘出示例性云端环境的方框图;
[0013] 图2A-2B是一个实施例中的描绘出用于对连接请求作出响应的处理的流程图;
[0014] 图3是示出了可以在其上实施本发明的一个实施例的计算机系统的方框图。
【具体实施方式】
[0015] 在后面的描述中,出于解释的目的阐述了许多具体细节以便提供关于本发明的透 彻理解。但是应当认识到,可以在没有这些具体细节的情况下实践本发明。此外,以方框图 的形式示出了众所周知的结构和设备,以避免不必要地模糊本发明。
[0016] -般性综述
[0017] 本发明提供了用于允许在云端环境中执行的软件组件获得到在云端环境中执行 的另一个软件组件的连接的技术。云端连接共享集合(CCP)使用映射数据从云端环境中的 多个软件组件当中确定发出请求的组件应当连接到的特定软件组件。由CCP使用的映射数 据较为复杂,并且不时地发生改变以便反映出云端环境本身中的改变。在识别出发出请求 的组件应当连接到的目标组件之后,CCP随后使用另一项映射来识别对应于目标组件的连 接共享集合,如果这样的连接共享集合已经存在的话。如果不存在,则创建连接共享集合。 CCP包括用以实施以下步骤的硬件或程序逻辑:(1)从针对连接的客户端请求确定正确的 连接共享集合;(2)调用所选择的连接共享集合以向客户端返回连接;以及(3)创建/保持 对于所有云端服务器保有连接的连接共享集合的集合。
[0018] CCP具有两层,这是在于CCP包含连接共享集合的总集。在收到返回连接的请求 时,CCP首先搜索哪一个连接共享集合是目标共享集合(第一层),并且随后调用连接共享 集合以返回连接(第二层)。
[0019] CCP被设计用于复杂并且先进的云端计算环境。CCP提供简单的接口以允许发出 请求的组件获得到另一个云端管理的组件的连接,即使所述另一个云端管理的组件(a)正 运行在不同于云端管理软件的平台上或者(b)不可直接连接。
[0020] 这里所公开的实施例允许云端管理软件管理运行在分布式的跨平台环境中的极 为多样化的软件组件。如果没有在这里关于云端连接共享集合所公开的实施例,则软件开 发者必须采取两种解决方案当中的一种:(a)形成到另一个软件组件的直接连接,或者(b) 使用仅能对于特定平台工作并且功能性受限的现有连接共享集合技术。
[0021] 系统综述
[0022] 图1是一个实施例中的描绘不例性云端环境100的方框图。云端环境100包括托 管一项或多项服务的许多计算设备,其中每一项服务由一个或多个软件组件提供。云端环 境100可以由单一公司或组织管理,而在云端环境100中托管的服务则由不同的公司或组 织提供。
[0023] -个或多个客户端设备(比如客户端设备102和104)被配置成发现托管在云端 环境100中的一项或多项服务,并且向这些服务发送(例如HTTP)请求。服务由一个或多 个应用以及可选地还有支持所述一个或多个应用的应用服务器提供。应用被配置成对客户 端请求作出响应,并且可能需要来自其相关联的应用服务器的信息或者由其相关联的应用 服务器进行的处理。示例性的应用类型包括顾客关系管理(CRM)、人力资本管理(HCM)以及 财务管理。
[0024] 应用服务器是专用来高效地执行用于支持一个或多个应用的规程(程序、例程、 脚本)的服务器。应用服务器充当可由软件开发者通过由特定平台定义的API访问的组件 集合。对于Web应用,所述组件集合通常被实施在与其(多台)Web服务器相同的运行环境 中,并且所述组件集合的主要工作是支持动态页面的构造。但是应用服务器的目标可以远 超出仅仅进行网页生成。应用服务器可以实施例如数据安全性、群集、故障切换和负载平衡 之类的服务,从而使得应用的开发者可以专注于实施其对应的应用的业务逻辑。
[0025] 为了使用由应用服务器提供的组件集合,应用必须与应用服务器建立连接。应用 的开发者可以编写对于建立连接所必要的代码。这种方法被称作"直接连接",而且并非寻 常。正如前面所提到的那样,一种替换的方法被称作连接集合共享,其中应用服务器保持对 于该应用服务器所支持的应用立即可用的多个连接的共享集合。
[0026] 云端管理器
[0027] 云端环境100包括云端管理器110。云端管理器110可以通过硬件、软件或者硬件 和软件的任意组合来实施。除了通过CCP112向云端环境100内的受管理组件提供连接服 务之外,云端管理器110还可以向受托管组件提供一项或多项其他服务,比如:
[0028] -系统监测:状态、图表、事件、量度等等。
[0029] -群组管理:将多个目标组织到各个群组中以便更容易管理。
[0030] -软件库:存储在储存库中的软件比特、补丁、金镜像(goldimage)、脚本。
[0031] -部署规程和工作系统:可以运行在分布式环境中的用于自动化、策划和跟踪任 务的云端自动化框架;这样的任务被称作"部署规程",其是步骤的分级序列,其中每一个步 骤可以包含其他步骤的序列。
[0032] -遵从性管理:把用户配置与已公布的标准进行比较,并且向
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1