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

技术编号:12882429 阅读:48 留言:0更新日期:2016-02-17 15:07
现今的云端软件(特别是云端管理软件)面对具有极端多样化的软件组件的复杂的分布式跨平台环境。云端连接集合共享(CCP)是一种在这样的环境中获得连接的技术,并且比传统的连接集合共享更加复杂。CCP允许发出请求的组件建立到目标组件的连接。CCP使用把各个云端组件彼此相关联的云端映射数据,并且存储标识用于管理目标组件的组件(或“管理组件”)的连接共享集合的共享集合数据。响应于来自发出请求的组件的连接请求,CCP确定与所请求的目标组件相关联的管理组件,并且识别出(或创建)与管理组件相关联的连接共享集合。CCP随后从连接共享集合取回连接,并且向发出请求的组件返回连接。

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

【技术保护点】
一种用于提供到云端环境中的受管理组件的连接的方法,所述方法包括:从发出请求的组件接收针对连接到目标组件的请求;响应于接收到所述请求,从不同于目标组件的多个管理组件当中确定与目标组件相关联的管理组件;识别对于管理组件的连接共享集合;确定所述连接共享集合是否包括可用的连接;响应于确定连接共享集合中存在可用连接,向发出请求的组件提供所述连接,其中,所述方法由一个或多个计算设备实施。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:袁宏T·贾斯瓦
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1