当前位置: 首页 > 专利查询>微软公司专利>正文

在可缩放环境中管理分区制造技术

技术编号:10486931 阅读:122 留言:0更新日期:2014-10-03 15:59
本发明专利技术提供了启用用于对可缩放环境中的应用定义的作业进行分区的通用框架的系统和方法。该通用框架将对作业进行分区从其他方面的作业中解耦出来。结果,定义应用定义的作业所需的努力被降低或最小化,因为不需要用户提供分区算法。通用框架还促成对在分布式环境中执行计算的主机和服务器的管理。

【技术实现步骤摘要】
【国外来华专利技术】在可缩放环境中管理分区背景云计算环境提供用于允许用户具有对大量计算资源的访问而无须购置相应的架构的潜在平台。相反,该计算环境可被云计算提供者作为服务来提供。这可允许用户调谐所请求的计算资源以匹配计算作业的尺寸和重要性。然而,充分利用可用作服务的附加计算资源可能需要将各计算任务划分成较小的部分,以使得多个物理或虚拟处理器可被用于执行任务。概述在各个实施例中,提供了启用用于对可缩放环境中的应用定义的作业进行分区的通用框架的系统和方法。该通用框架将对作业进行分区从该作业的其他方面中解耦出来。结果,定义应用定义的作业所需的努力被降低或最小化,因为不需要用户提供分区算法。通用框架还促成对在分布式环境中执行计算的主机和服务器的管理。提供本概述是为了以简化的形式介绍将在以下【具体实施方式】中进一步描述的概念选择。该概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在独立地用于帮助确定所要求保护的主题的范围。附图简述下面将参考附图详细描述本专利技术,其中:图1到图3示意性地示出根据本专利技术的各方面的分布式计算环境的一示例的各个方面;图4示意性地示出根据本专利技术的各方面的各个接口之间用于执行通用分区环境中的作业的交互。图5示出了根据本专利技术的各方面的通用分区环境的示例;图6示出根据本专利技术的各方面的为活跃主机角色提供备份机器的示例;图7是适用于在实现本专利技术的各实施例时使用的示例性计算环境的框图;图8示出根据本专利技术的各方面的为主机角色提供备份机器的另一示例;图9到图10示出根据本专利技术的各实施例的方法的示例;以及图11示出根据本专利技术的各方面的相对于错误域和升级域为主机角色提供备份机器的示例性方面。详细描述摄览由于通过网络的数据传输速度的增加和其他网络特征的改善,越来越有可能在其中计算资源分布在大型网络上的环境中执行大规模计算任务。处于第一位置的用户可向计算服务提交作业或计算任务,并且使该任务在该用户不直接知晓的计算机群组上执行。用于执行用户的任务的计算资源可分布在多个位置上。位于一个或多个位置中的第一计算资源群组可以存储用于执行用户的计算任务的数据和其他信息,而位于相同位置或者可能位于一组不同的一个或多个位置中的第二计算资源群组可被用于执行该计算任务。对各种分布式计算资源的访问允许用户执行作业任务,而无需关心这些计算资源位于何处。分布式资源还为用户提供了扩展(scale up)(或收缩(scale down))所使用的资源量以便满足计算任务的目标(诸如用指定时间完成该计算任务)的机会。然而,使用分布式计算资源向用户提出了数个挑战。常规上,用户或应用设计者将需要将资源从设计应用或作业中转移走,以便确定如何利用具体的分布式计算环境。在各个实施例中,提供了启用用于在分布式环境(诸如云计算环境)中构建可缩放应用的通用框架的系统和方法。该通用框架可允许将对作业或工作项进行分区从执行与这些作业或工作项相关联的计算中解耦出来。这允许分布式环境的所有者以可访问或简化方式向用户提供资源,而同时仍提供分布式资源的高可用性。该通用框架通过提供以下框架来降低为分布式环境设计应用的复杂性:用于处理诸如可缩放性、容错性、和/或可用性之类的特征,同时降低或最小化处理这些特征所需的努力量的框架。结果,该框架可允许应用设计者聚焦于该应用,而不是将附加的时间花在该分布式环境的要求上。定义“密钥”是通用分区框架中使用的基板概念之一。密钥是来自命名空间或域的值。命名空间的示例是对应于云计算环境中的所有存储账户的标识符。在这样的示例中,密钥可对应于账户名、账号、或允许引用特定账户的另一标识符。命名空间的另一示例是针对作业的输入参数的可能字母数字值范围。优选地,跨越命名空间的各密钥将也具有某种组织方法,以使得密钥可被描述成序列值范围。例如,这些密钥可以按数字、按字母、基于散列值、或以允许密钥范围基于将两个密钥指定为范围开始和范围结束来定义的任何其他方便的串行方式来组织。“分区”是由低(包括性)和高(排他性)密钥限定的范围。分区永远不可能是空范围。如果需要的话,单个分区可包含域的整个范围。分区被定义成是互斥的,以使得两个不同分区的范围之间不存在交迭。所有分区的并将跨越整个域或命名空间。“分区服务器”是云计算环境内与用于提供零个或更多个分区的角色实例相对应的虚拟机。分区并非在相同时间由一个以上的分区服务器来服务。然而,给定分区服务器可能不具有当前正由该分区服务器来服务的任何分区。分区服务器可包括用于执行各种动作的应用定义的接口和(由分区系统定义的)固定接口两者。“分区主机”是诸如通过将分区分派给分区服务器和解除这种分派来管理针对给定类型的角色的分区服务器的角色。分区主机角色还诸如通过验证分区服务器仍服务于所分派的分区来监控这些分区服务器。通常,该角色对于容错性而言是冗余的。分区主机可包括用于执行各种动作的应用定义的接口和(由分区系统定义的)固定接口两者。“应用定义的接口 ”指的是由客户机定义来供角色实例执行的计算、操作或其他功能。可以为分区主机或分区服务器角色创建应用定义的接口。应用定义的接口不同于分区系统的“固定接口”。固定接口指的是作为分区系统的一部分来提供的应用接口。客户机无法修改固定接口的动作。然而,应用定义的接口可结合固定接口被使用。例如,主机角色的固定接口可能每时间周期都会发送心跳消息,以验证正由主机角色管理的任何服务器的状态。服务器角色的相应固定接口可以是用于以恰当方式对该心跳消息作出响应的接口。应用定义的接口的示例可以是向心跳消息添加附加信息的接口,而另一示例可以是从心跳消息提取这样的附加信息的接口。在这样的情况下,心跳消息的发送本身是固定接口。用户或应用无法修改用于发送该消息的协议。然而,用于定义消息内容的接口可以被用户修改。用于补充心跳消息中的信息的接口的基本结构可以由该系统来提供。然而,由于客户机可以修改这个接口所提供的内容,因此在本文中这样的接口被定义成应用定义的接口。作为另一示例,应用定义的接口可结合固定接口一起使用以提供负载平衡的总特征。用于将分区分派给分区服务器或将分区拆解成两个分区的接口是固定接口。然而,应用定义的接口可提供关于负载平衡动作应何时发生的表达,如在各机器之间改变分区分派,或判定何时拆解分区。每一活跃分区主机角色或分区服务器角色具有控制与该角色相对应的数据的相应存储对象。存储对象的示例是二进制大型对象或团块。对于分区服务器,存储对象包括正被服务的各分区的身份。注意,分区服务器的存储对象通常不包含与该分区相对应的底层数据。通过仅存储分区身份而将底层数据留在分开的数据存储位置,可以用最小的数据转移将各分区从一个服务器移动到另一服务器。对于分区主机,该存储对象包括用于建立分区主机的特定实例是活跃实例的信息。存储对象可任选地还包括关于正由该主机来管理的服务器的所有存储对象的信息。在操作期间,主机和服务器角色可维护对相应存储对象的租用。当某角色的对存储对象的租用被中断时,相应的角色可被终止。如上所述,给定类型的角色的分区主机优选是冗余的,使得如果发生故障,则至少一个附加分区主机可用。“命令器(dictator)”被定义成当前执行给定类型的角色的分区主机功能的分区主机。命令器是维护对与给定分区主机角色相关联的存储对象的租用的分本文档来自技高网...
在可缩放环境中管理分区

【技术保护点】
一种用于在分布式计算环境中执行计算的方法,包括:接收一个或多个应用定义的分区系统接口;创建包括所述一个或多个应用定义的分区系统接口的多个主机角色实例,所述主机角色实例对应于主机存储对象;分派对所述主机存储对象的租用,每一主机角色实例竞争所述租用,被分派所述租用的主机角色实例是命令器主机角色实例;通过所述命令器主机角色实例来将分区群组分派给多个分区服务器;以及使用所述多个分区服务器来执行与应用相对应的一个或多个计算。

【技术特征摘要】
【国外来华专利技术】2012.02.03 US 13/366,0391.一种用于在分布式计算环境中执行计算的方法,包括: 接收一个或多个应用定义的分区系统接口; 创建包括所述一个或多个应用定义的分区系统接口的多个主机角色实例,所述主机角色实例对应于主机存储对象; 分派对所述主机存储对象的租用,每一主机角色实例竞争所述租用,被分派所述租用的主机角色实例是命令器主机角色实例; 通过所述命令器主机角色实例来将分区群组分派给多个分区服务器;以及 使用所述多个分区服务器来执行与应用相对应的一个或多个计算。2.如权利要求1所述的方法,其特征在于,进一步包括通过所述命令器主机角色实例来将心跳消息发送给所述多个分区服务器,其中一个或多个度量是响应于心跳消息从所述分区服务器接收的,并且其中所述一个或多个度量中的至少一个度量是应用定义度量。3.如权利要求2所述的方法,其特征在于,还包括: 在所述命令器主机角色实例维护对所述主机存储对象的租用时,通过所述命令器主机角色实例来发送将一个或多个分区分派给多个分区服务器中的一个分区服务器的消息,来自所述命令器主机角色实例的所述消息包括时期号;以及 通过所述多个分区服务器中的所述分区服务器来维护从所述命令器主机角色实例处接收到的分区分派。4.如权利要求3所述的方法,其特征在于,还包括: 通过所述命令器主机角色实例来将分派标识符与所述一个或多个分区的分派相关联,所述命令器主机角色实例将所述分派标识符以及所述消息发送给所述分区服务器; 由所述分区服务器来更新相应的存储对象的内容以存储所述分派标识符;以及 由所述分区服务器来将确认消息发送给所述命令器主机角色实例。5.如权利要求3所述的方法,其特征在于,还包括: 通过所述命令器主机角色实例来将分派标识符与所述一个或多个分区的分派相关联,所述命令器主机角色实例将所述分派标识符以及所述消息发送给所述分区服务器; 由所述分区服务器来从所述命令器主机角色实例接收所述消息,而无需向所述命令器主机发送确认消息; 由所述命令器主机角色实例来中断所述分区服务器对相应存储对象的租用; 由所述命令器主机角色实例来删除与所述分区服务器相对应的存储对象;以及由所述分区服务器来检测所述租用的中断,所述分区服务器响应于检测到中断所述租用而终止。6.如权利要求3所述的方法,其特征在于,还包括...

【专利技术属性】
技术研发人员:J·王B·G·卡尔德A·E·绍尔斯沃德
申请(专利权)人:微软公司
类型:发明
国别省市:美国;US

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

1