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

为分布式处理系统管理元数据技术方案

技术编号:14692659 阅读:117 留言:0更新日期:2017-02-23 15:28
描述了用于为分布式处理系统管理元数据的方法、系统和装置。在一个方面,一种方法包括接收计算规范,所述计算规范包括指定要由分布式处理系统执行的计算的初始状态的粒子集合,其中,每个粒子包括指定计算的初始状态的一部分的元数据;基于与每个粒子相关联的粒子类型存储表示计算的状态的粒子层级,该粒子层级包括用于预订该粒子层级的预订粒子,每个预订与该粒子层级中所包括的一个或多个粒子相对应,并且每个预订指定要由集线器设备所执行的一个或多个动作;并且在该计算的执行期间执行该至少一个预订所指定的动作中的至少一个动作。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
该说明书涉及管理分布式处理系统中的元数据。分布式处理系统是包括能够被指派为执行各种任务或过程的多个数据处理器的系统。它们例如可以包括数千个数据处理器,其中每一个能够执行多种不同的过程。分布式处理系统可以被用于处理大量数据和/或用于处理连续的数据流。能够由分布式计算系统来执行的各种计算已经促成了用于执行各种任务的许多不同工具的研发。
技术实现思路
总体上,该说明书中所描述主题的一个创新方面能够以方法来体现,其包括动作:在包括一个或多个数据处理装置的集线器设备处接收计算规范,所述计算规范包括指定要由分布式处理系统所执行的计算的初始状态的粒子集合,所述分布式处理系统包括多个数据处理器,其中该粒子集合中所包括的每个粒子包括指定计算的初始状态的一部分的元数据;由该集线器设备基于与该粒子集合中所包括的每个粒子相关联的粒子类型来存储表示计算的状态的粒子层级,该粒子层级包括用于该粒子层级的一个或多个预订的预订粒子,每个预订与该粒子层级中所包括的一个或多个粒子相对应,并且每个预订指定要由该集线器设备所执行的一个或多个动作;以及由该集线器设备并且在该计算的执行期间执行由该一个或多个预订中的至少一个预订所指定的一个或多个动作中的至少一个动作。该方面的其它实施例包括相对应的系统、装置,以及在计算机存储设备上进行编码的被配置为执行该方法的动作的计算机程序。这些和其它实施例均可选地能够包括以下一个或多个特征。该粒子层级可以包括:一个或多个管理器代理(agent)粒子,其指定一个或多个管理器代理过程的元数据,所述一个或多个管理器代理过程管理该分布式处理系统的计算的执行;一个或多个数据集粒子,其包括能够由该分布式处理系统访问的数据的元数据;一个或多个任务粒子,其包括要由该分布式处理系统执行的一个或多个任务的元数据;或者一个或多个工作器代理粒子,其针对该一个或多个任务中的至少一个任务而包括一个或多个工作器代理的元数据,每个工作器代理与用于执行该任务的多个数据处理器的子集相对应。该计算规范可以针对该粒子层级的一个或多个预订中的每一个预订指定预订代理。每个预订代理可以是i)具有粒子层级中所包括的相对应粒子的管理器代理,或者ii)具有粒子层级中所包括的相对应粒子的工作器代理。该一个或多个预订之一可以是观察预订,其指示该集线器设备向该观察预订的预订代理通知由该观察预订所对应的该粒子层级中的一个或多个粒子指定的状态部分的指定变化。该一个或多个预订之一可以是查询预订,其指示该集线器设备响应于接收到该查询预订而为该查询预订的预订代理提供与该查询预订所对应的该粒子层级中的一个或多个粒子所指定的状态部分相关联的特定信息。该一个或多个预订之一可以是主张预订,其指示该集线器设备指派该主张预订所对应的该粒子层级中的一个或多个粒子中所包括的粒子的所有权。该方法可以进一步包括:接收用于计算的附加粒子;并且针对该计算将该附加粒子存储在该粒子层级中。该方法可以进一步包括:通过在计算的执行期间监视该粒子层级中所包括的一个或多个粒子的一个或多个变化而监视该计算的状态;并且响应于检测到具有被预订代理所预订的相对应预订的特定粒子的特定变化而向该预订代理提供通知。每个粒子可以指定以下中的一个或多个:描述该粒子在该粒子层级内的位置的名称;该粒子的当前状态;拥有该粒子的所有者;该粒子的所有权将会到期的到期时间;包括用于监视计算进度的量度的统计;对粒子所有权的限制;对该粒子层级中所包括的其它粒子的依赖性;或者该集线器设备所指定的指示对该粒子的最近更新的时间戳。要由该集线器所执行的一个或多个动作可以包括以下中的一个或多个:向预订代理提供在观察预订所对应的一个或多个粒子中发生了预先指定的事件的通知;向预订代理指派主张预订所对应的一个或多个粒子的所有权;更新一个或多个粒子的当前状态;或者为预订代理提供查询预订所对应的一个或多个粒子中包括的特定元数据。管理器代理过程中的一个或多个管理器代理过程可以包括:启动器代理过程,其对工作器代理粒子子树进行观察并且启动过程;匹配器代理过程,其将要由该分布式处理系统处理的数据与工作器代理中的一个或多个工作器代理进行匹配;或者任务整形器代理过程,其对任务粒子子树进行管理。该说明书中所描述主题的特定实施例能够被实施从而实现以下一种或多种优势。使用集线器设备来管理使用分布式处理系统所执行的计算的元数据允许使用公共的集线器设备来执行各种计算。公共的集线器设备能够提供容错、调度、工作器管理以及特定计算所需的其它特征。使用集线器设备执行计算的工具开发人员避免了需要部署许多集线器设备共有的特征,并且该集线器设备在计算需要时还允许开发人员定制。除了集线器自身所支持的管理之外,所连接的代理能够观察并更新集线器中的元数据从而提供附加的管理功能,举出几个示例,诸如定制调度和工作器管理。附图以及以下的描述中给出了本说明书中所描述主题的一个或多个实施例的细节。该主题的其它特征、方面和优势将由于描述、附图和权利要求而变得显而易见。附图说明图1是其中集线器设备为分布式处理系统管理元数据的示例环境的框图。图2是集线器设备所管理的示例粒子层级的图示。图3是通过其为分布式处理系统管理元数据的示例过程的流程图。图4是示例数据处理装置的框图。各图中同样的附图标记和指示表示同样的要素。具体实施方式集线器设备促进对使用分布式处理系统执行的计算的元数据的管理。在实施主管-工作器架构的分布式处理系统中,主管的传统角色可以由集线器设备和管理器代理所承担。该集线器设备保存表示系统所执行的计算的状态的元数据。该管理器代理则观察计算的状态并随时间对其进行更新。工作器代理从集线器设备要求工作单元,执行用于计算的数据处理,并且随时间更新计算的状态。分布式处理系统可以包括许多数据处理器,它们均能够被指派工作器或管理器的角色,并且可以被用来执行部分计算。该集线器设备存储计算状态并且以被设计为包容各种计算的元数据管理要求的差异的方式来管理计算元数据。一种示例计算可以是对持续流动的传入数据流所执行的过滤、排序和报告过程的组合。另一种示例计算是大规模图形处理算法,其生成与图形中所表示的数据相关的统计和其它信息。由分布式处理系统的数据处理器所承担的管理器代理角色例如包括可以启动要由系统所执行的其它代理和过程的启动器代理,将任务划分为子任务以便由工作器代理进行处理的任务整形器代理,以及向工作器代理指派任务的匹配器代理。工作器代理执行匹配器代理所指派的任务。管理器和工作器代理都贯穿计算的执行而与集线器设备进行通信,例如发出指定计算状态的变化的更新请求或者有关计算状态的查询。存储在集线器中以用于计算的信息可以包括若干类型的元数据,它们共同包括任意给定时间的计算状态。该元数据被存储在粒子层级中,其中每个粒子表示指定计算状态的一部分的元数据。例如,任务粒子子树可以包括计算中所包括的每项任务和子任务的元数据,并且每个粒子表示任务或子任务的元数据,诸如负责执行特定子任务的工作器代理或者子任务的进度。计算的初始状态由控制器所提供的规范进行描述,上述控制器例如发起计算的计算机。贯穿该计算,粒子可以被增加、修改、或者从层级移除,这反映出计算状态的变化。例如,已经完成的任务和/或子任务的粒子可以从粒子层级中被移除,而附加任务或本文档来自技高网...
为分布式处理系统管理元数据

【技术保护点】
一种由数据处理装置实施的方法,所述方法包括:在包括一个或多个数据处理装置的集线器设备处接收计算规范,所述计算规范包括指定要由分布式处理系统执行的计算的初始状态的粒子集合,所述分布式处理系统包括多个数据处理器,其中所述粒子集合中所包括的每个粒子包括指定所述计算的所述初始状态的一部分的元数据;由所述集线器设备基于与所述粒子集合中所包括的每个粒子相关联的粒子类型来存储表示所述计算的状态的粒子层级,所述粒子层级包括对所述粒子层级的一个或多个预订的预订粒子,每个预订与所述粒子层级中所包括的一个或多个粒子相对应,并且每个预订指定要由所述集线器设备执行的一个或多个动作;以及由所述集线器设备并且在所述计算的执行期间执行由所述一个或多个预订中的至少一个预订所指定的所述一个或多个动作中的至少一个动作。

【技术特征摘要】
【国外来华专利技术】2014.03.14 US 14/211,6601.一种由数据处理装置实施的方法,所述方法包括:在包括一个或多个数据处理装置的集线器设备处接收计算规范,所述计算规范包括指定要由分布式处理系统执行的计算的初始状态的粒子集合,所述分布式处理系统包括多个数据处理器,其中所述粒子集合中所包括的每个粒子包括指定所述计算的所述初始状态的一部分的元数据;由所述集线器设备基于与所述粒子集合中所包括的每个粒子相关联的粒子类型来存储表示所述计算的状态的粒子层级,所述粒子层级包括对所述粒子层级的一个或多个预订的预订粒子,每个预订与所述粒子层级中所包括的一个或多个粒子相对应,并且每个预订指定要由所述集线器设备执行的一个或多个动作;以及由所述集线器设备并且在所述计算的执行期间执行由所述一个或多个预订中的至少一个预订所指定的所述一个或多个动作中的至少一个动作。2.根据权利要求1所述的方法,其中,所述粒子层级包括:一个或多个管理器代理粒子,所述一个或多个管理器代理粒子指定一个或多个管理器代理过程的元数据,所述一个或多个管理器代理过程管理所述分布式处理系统的所述计算的执行;一个或多个数据集粒子,所述一个或多个数据集粒子包括能够由所述分布式处理系统访问的数据的元数据;一个或多个任务粒子,所述一个或多个任务粒子包括要由所述分布式处理系统执行的一个或多个任务的元数据;或者一个或多个工作器代理粒子,所述一个或多个工作器代理粒子针对所述一个或多个任务中的至少一个任务而包括一个或多个工作器代理的元数据,所述一个或多个工作器代理中的每个工作器代理与用于执行该任务的所述多个数据处理器的子集相对应。3.根据权利要求2所述的方法,其中,所述计算规范针对所述粒子层级的所述一个或多个预订中的每一个预定指定预订代理。4.根据权利要求3所述的方法,其中,每个预订代理是i)具有所述粒子层级中所包括的相对应粒子的管理器代理、或者ii)具有所述粒子层级中所包括的相对应粒子的工作器代理。5.根据权利要求1所述的方法,其中,所述一个或多个预订中的一个预订是观察预订,所述观察预订指令所述集线器设备向所述观察预订的预订代理通知由所述观察预订所对应的所述粒子层级中的一个或多个粒子指定的状态部分的指定变化。6.根据权利要求1所述的方法,其中,所述一个或多个预订中的一个预订是查询预订,所述查询预订指令所述集线器设备响应于接收到所述查询预订而向所述查询预订的预订代理提供与由所述查询预订所对应的所述粒子层级中的一个或多个粒子指定的状态部分相关联的特定信息。7.根据权利要求1所述的方法,其中,所述一个或多个预订中的一个预订是主张预订,所述主张预订指令所述集线器设备指派所述主张预订所对应的所述粒子层级中的一个或多个粒子中包括的粒子的所有权。8.根据权利要求1所述的方法,进一步包括:接收用于所述计算的附加粒子;以及将所述附加粒子存储在所述粒子层级中用于所述计算。9.根据权利要求1所述的方法,进一步包括:通过在所述计算的执行期间监视所述粒子层级中所包括的粒子中的一个或多个粒子的一个或多个变化来监视所述计算的状态;以及响应于检测到具有被预订代理所预订的相对应预订的特定粒子的特定变化而向所述预订代理提供通知。10.根据权利要求1所述的方法,其中,每个粒子指定以下中的一个或多个:描述该粒子在所述粒子层级内的位置的名称;该粒子的当前状态;拥有该粒子的所有者;该粒子的所有权将会到期的到期时间;包括用于监视所述计算的进度的量度的统计;对该粒子的所有权的限制;对所述粒子层级中所包括的其它粒子的依赖性;或者所述集线器设备所指定的指示对该粒子的最近更新的时间戳。11.根据权利要求1所述的方法,其中,要由所述集线器设备执行的所述一个或多个动作包括以下中的一个或多个:向预订代理提供在观察预订所对应的一个或多个粒子中发生的预先指定的事件的通知;向预订代理指派主张预订所对应的一个或多个粒子的所有权;更新一个或多个粒子的当前状态;或者向预订代理提供查询预订所对应的一个或多个粒子中包括的特定元数据。12.根据权利要求2所述的方法,其中,所述管...

【专利技术属性】
技术研发人员:肯尼斯·J·戈德曼任成桓李晓舟耶莱娜·皮耶希瓦茨格尔博维奇
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国;US

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

1