用于控制水平扩展软件应用中的利用率的方法和装置制造方法及图纸

技术编号:11762660 阅读:84 留言:0更新日期:2015-07-22 19:04
本发明专利技术包括用于水平扩展应用中的分布式业务控制的装置和方法,其中,基于软件的应用被实现为多个对等应用实例,每一个应用实例提供应用的总能力或容量的一部分。在每一个应用实例处实例化或以其他方式实现包括分布式业务控制器的装置,并且这些装置共同操作以根据例如服务水平协议或SLA限制各个客户端或附属客户端组对应用的总利用率,并且还操作以防止应用实例中的任意一个的不成比例利用率。有利地,根据本文的教导在分布式业务控制器之间使用有效信息传播协议来完成这些操作。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上涉及分布式处理,具体地,涉及水平扩展(horizontally scaled)处理系统。
技术介绍
在本文设想的类型的水平扩展系统中,在多个对等应用实例中实现整个软件应用,每一个对等应用实例提供了应用的整个功能并且每一个对等应用实例表示总应用容量或性能能力的一部分。然而,用于管理来自客户端池的应用业务的现有解决方案基于通常对于水平扩展系统不成立的大量假设。这种操作源自以下传统假设:在单个实例中执行针对客户端池的业务控制,例如,通过单个硬件服务器建立整个系统,并且通过单个点来路由所有业务,其中可以在该单个点处对业务进行观测和控制。然而,在水平扩展系统中,例如由于故障、升级等,硬件和/或软件实例可能在任意时间点来去。可能更关键的是,从客户端池向水平扩展应用中的对等应用实例分发业务可能导致一些应用实例被过度利用而一些应用实例未被充分利用。例如,给定客户端或至少源自相同客户端上下文的给定连接可能比其他客户端或连接“更具粘性”。在这一方面,“粘性”连接是持久的并且与持续的应用业务相关联。本文认为以循环“负载分发”方案向各个应用实例指派来自不同客户端池的应用业务未考虑以下事实:由分布式应用业务引起的粘性连接可能聚合在应用实例中的一个或多个处。此外,在对等应用实体之间同步业务控制参数的状态在可用网络带宽和达到和/或维护同步状态所需的消息数量方面可能是昂贵的。专利技术内容本专利技术包括用于水平扩展应用中的分布式业务控制的装置和方法,其中,基于软件的应用被实现为多个对等应用实例,每一个应用实例提供应用的总能力或容量的一部分。在每一个应用实例处实例化或以其他方式实现包括分布式业务控制器的装置,并且这些装置共同操作以根据例如服务水平协议或SLA限制各个客户端或附属客户端组对应用的总利用率,并且还操作以防止应用实例中的任意一个的不成比例利用率。有利地,根据本文的教导在分布式业务控制器之间使用有效信息传播协议来完成这些操作。在更详细的示例中,本文的教导公开了控制单独客户端对软件应用的利用率的方法。应用被实现为多个对等应用实例,这些对等应用实例从多个客户端中的任意一个或多个客户端接收应用业务,并且在每一个应用实例处实现所述方法。有了该理解,所述方法包括:将进入进入所述应用实例的应用业务分类为与所述客户端中的不同客户端和/或不同类型的应用业务相对应的流;以及关于所述应用实例估计每一个流的本地需求值。所述方法还包括:与所述应用实例中的一个或多个其他应用实例交换本地需求信息。所述交换包括:发送针对所述应用实例处的所述流所估计的本地需求值,以及接收所述应用实例中的其他应用实例处的所有相似流的相似估计的本地需求值。根据该方法,在每一个应用实例处使用交换的本地需求信息来确定应用实例处的每一个流的总体需求值。关于应用确定总体需求值。在这个意义上,在非限制性示例中可以将针对给定应用实例处的给定流所确定的总体需求值理解为针对该应用实例处的该流所估计的本地需求值和针对其他应用实例处的所有相似流所估计的本地需求值之和。有利地,所述方法继续使用针对每一个流所确定的总体需求值来计算应用实例处的流的本地利用率限制。相应地,所述方法还包括:根据是否超出所述流的本地利用率限制,将每一个流中的应用业务标记为不符合策略业务或符合策略业务。该操作可以被理解为第一级监管,在该第一级监管中应用了逐流利用率限制。作为第二步或第二级监管,所述方法附加地包括:确定所述应用实例处的所有流的应用业务的聚合是否超出本地聚合利用率限制。根据所述方法,基于是否超出所述本地聚合利用率限制和/或基于对符合策略业务和不符合策略业务的区分,控制对去往所述应用实例的聚合应用业务的缓存。例如,虽然可以响应于不符合策略业务来约束单独流,但是也可以是以下情况:对聚合应用业务进行缓存涉及:至少在超出本地聚合利用率限制期间向符合策略业务和不符合策略业务应用不同的缓存优先级。在本文教导的一个或多个实施例中使用包括分布式业务控制器和通信控制器的装置实现上述方法及其变形或扩展。装置可以是基于软件的,例如,根据存储在计算机可读介质中的计算机程序指令的执行被实现为逻辑或功能电路。在示例性情况下,装置被实现为每一个应用实例的一部分,或者被实现为联合主机操作系统环境中的应用实例执行的伴随程序。在示例性配置中,分布式业务控制器将进入进入其相关联的应用实例的应用分类为流,并且对每一个流应用第一级基于令牌桶的监管。也即是说,将逐流令牌桶监管方案应用于每一个流中的业务,以根据是否超出流的本地利用率限制将流中的应用业务标记为符合策略的或不符合策略的,并且可选择地,以每一个流为基础应用第一级业务调节(例如,通过丢弃来自流的应用业务中的一些)。根据由分布式业务控制器针对与该分布式业务控制器配对的应用实例处的流所估计的本地需求值和由其他分布式业务控制器在其他应用实例处针对所有相似流所估计的本地需求值来确定这些逐流利用率限制。也即是说,通过每一个应用实例处的每一个流的分类参数——例如,业务类型、客户端域等——来定义该流,并且具有相同分类参数的另一应用实例处的任意流是相似流。因此,与任意给定流相关联的总需求或总体需求取决于所有应用实例之间的所有相似流的本地需求。与分布式业务控制器配对的通信控制器交换本地需求信息,从而提供本地需求值在所有分布式业务控制器之间的传播,从而使得能够在考虑所有其他应用实例处的相应流需求的情况下计算准确的总体需求值并且以每一个流为基础动态地调节本地利用率限制。作为另一优点,每一个分布式业务控制器向每一个应用实例处的应用业务的聚合——即,组合应用实例处的所有各流的聚合流——应用第二级监管。聚合级的监管可以涉及:根据是否超出本地聚合利用率限制来选择性地调节聚合流。根据独立权利要求的本专利技术的效果是针对给定应用实例处的给定流所准许的容量或其他应用资源的比例随着与该流相关联的总体需求而改变。当然,本专利技术不限于这些或其他前述特征和优点。实际上,本领域技术人员在阅读以下详细描述之后并且在查看附图之后将认识到附加特征和优点。附图说明图1是实现水平扩展应用的分布式处理系统的一个实施例的框图。图2是示出了图1的分布式处理系统的示例性细节的框图。图3是本文设想的分布式业务控制器的一个实施例的框图。图4是图本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/CN104798356.html" title="用于控制水平扩展软件应用中的利用率的方法和装置原文来自X技术">用于控制水平扩展软件应用中的利用率的方法和装置</a>

【技术保护点】
一种控制单独客户端(12)对软件应用(10)的利用率的方法(500),其中所述应用被实现为多个对等应用实例(14),所述多个对等应用实例(14)从多个客户端(12)中的任意一个或多个客户端(12)接收应用业务,并且所述方法(500)在每一个应用实例(14)处包括:将进入所述应用实例(14)的应用业务分类(502)为与所述客户端(12)中的不同客户端和/或不同类型的应用业务相对应的流(22);关于所述应用实例(14)估计(504)每一个流(22)的本地需求值;与所述应用实例(14)中的一个或多个其他应用实例交换(506)本地需求信息,包括:发送针对所述应用实例(14)处的所述流(22)所估计的所述本地需求值,以及接收针对在所述应用实例(14)中的其他应用实例处的所有相似流(22)的相似估计的本地需求值;基于所交换的本地需求信息来关于所述应用(10)确定(508)每一个流(22)的总体需求值;根据针对所述流(22)所确定的总体需求值来计算(510)每一个流(22)的本地利用率限制;根据是否超出所述流(22)的本地利用率限制,将每一个流(22)中的所述应用业务标记(512)为不符合策略业务或符合策略业务;确定(514)所述应用实例(14)处的所有流(22)的应用业务的聚合是否超出本地聚合利用率限制;以及基于是否超出所述本地聚合利用率限制以及对符合策略业务和不符合策略业务的区分,以每一个流和/或聚合流为基础来控制对去往所述应用实例(14)的聚合应用业务的缓存。...

【技术特征摘要】
【国外来华专利技术】2012.11.21 US 13/683,5491.一种控制单独客户端(12)对软件应用(10)的利用率的方
法(500),其中所述应用被实现为多个对等应用实例(14),所述多个
对等应用实例(14)从多个客户端(12)中的任意一个或多个客户端
(12)接收应用业务,并且所述方法(500)在每一个应用实例(14)
处包括:
将进入所述应用实例(14)的应用业务分类(502)为与所述客
户端(12)中的不同客户端和/或不同类型的应用业务相对应的流(22);
关于所述应用实例(14)估计(504)每一个流(22)的本地需
求值;
与所述应用实例(14)中的一个或多个其他应用实例交换(506)
本地需求信息,包括:发送针对所述应用实例(14)处的所述流(22)
所估计的所述本地需求值,以及接收针对在所述应用实例(14)中的
其他应用实例处的所有相似流(22)的相似估计的本地需求值;
基于所交换的本地需求信息来关于所述应用(10)确定(508)
每一个流(22)的总体需求值;
根据针对所述流(22)所确定的总体需求值来计算(510)每一
个流(22)的本地利用率限制;
根据是否超出所述流(22)的本地利用率限制,将每一个流(22)
中的所述应用业务标记(512)为不符合策略业务或符合策略业务;
确定(514)所述应用实例(14)处的所有流(22)的应用业务
的聚合是否超出本地聚合利用率限制;以及
基于是否超出所述本地聚合利用率限制以及对符合策略业务和
不符合策略业务的区分,以每一个流和/或聚合流为基础来控制对去往
所述应用实例(14)的聚合应用业务的缓存。
2.根据权利要求1所述的方法(500),其中,交换所述本地需
求信息包括:经由基于gossip的逆熵协议与所述应用实例(14)中的
一个或多个其他应用实例进行通信,所述基于gossip的逆熵协议将所
述应用实例(14)中的任意一个应用实例处估计的本地需求值传播到

\t所述应用实例(14)中的所有其他应用实例。
3.根据权利要求1或2所述的方法(500),其中,估计每一个
流(22)的本地需求值包括以下至少一项:对所述应用实例(14)处
针对所述流(22)活动的协议会话的数量进行计数;基于在定义间隔
内是否已经接收到所述流(22)中的任意新的应用业务来估计所述流
(22)的预期流速率;以及基于测量所述流(22)中的所述应用业务
的到达速率来估计所述流(22)的预期流速率。
4.根据权利要求1至3中任一项所述的方法(500),其中,确
定所述流(22)的总体需求值包括:对针对所述应用实例(14)处的
所述流(22)所估计的本地需求值和通过所述本地需求信息的交换而
获知的针对所述应用实例(14)中的其他应用实例处的所有相似流(22)
所估计的所述本地需求值进行求和。
5.根据权利要求1至4中任一项所述的方法(500),其中,计
算每一个流(22)的所述本地利用率限制包括:计算所述流(22)的
本地流速率限制。
6.根据权利要求5所述的方法(500),其中,计算所述流(22)
的本地流速率限制包括:根据关于所述应用(10)针对所述流(22)
和其所有相似流(22)的已知总最大流速率限制来计算所述本地流速
率限制,以及通过比例因子对所述总最大流速率限制进行缩放,所述
比例因子是根据所述流(22)的本地需求值与所述流(22)的总体需
求值之比来确定的。
7.根据权利要求5所述的方法(500),其中,计算每一个流(22)
的本地利用率限制还包括:计算所述流(22)中的应用业务的本地突
发大小限制。
8.根据前述权利要求中任一项所述的方法(500),其中,控制
对去往所述应用实例(14)的聚合应用业务的缓存包括:相对于不符
合策略业务优先处理符合策略业务,包括:根据优先级划分方案清空
针对所述应用实例(14)的一个或多个延迟缓存(58、60),其中与所
述不符合策略业务相比,所述优先级划分方案通常对所述符合策略业
务施加更短的缓存延迟。
9.根据权利要求8所述的方法(500),还包括:根据在与所述
流(22)中的各个流相关联的相应服务水平协议SLA中定义的一个或
多个服务参数对所述一个或多个延迟缓存中的聚合应用业务进一步划
分优先级,以便满足在所述SLA中的一个或多个中针对所述流(22)
所定义的一个或多个最小应用业务参数。
10.根据前述权利要求中任一项所述的方法(500),其中,所述
标记步骤还包括监管步骤,所述监管步骤包括:根据需要对每一个流
(22)中的应用业务中的应用消息进行节流或选择性丢弃,以保持与
针对所述流(22)的已知相应服务水平协议SLA中保证的最大服务水
平符合。
11.一种用于控制单独客户端(12)对软件应用(10)的利用率
的装置(28),其中所述应用(10)被实现为多个对等应用实例(14),
所述多个对等应用实例(14)从多个客户端(12)中的任意一个或多<...

【专利技术属性】
技术研发人员:帕·卡尔森米卡埃尔·卡尔松
申请(专利权)人:瑞典爱立信有限公司
类型:发明
国别省市:瑞典;SE

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

1