【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
大规模数据处理可以包括并行处理,其通常涉及同时对大数据集的每个元素执行某个操作。可以在数据并行流水线中将各种操作链在一起,以创建用于对数据集进行处理的高效机制。数据集的产生可能涉及在一组大进化输入上周期性地运行的“批量作业”。随着输入被更新,前一个输出变得越来越陈旧,所以在定期基础上重新运行流水线。
技术实现思路
本公开涉及在并行处理系统中执行数据的增量处理。一般而言,本说明书中所描述的主题的一个创新方面能够用包括以下动作的方法加以具体化:识别包括指定要对数据集执行的计算操作的指令的同步代码;将所述同步代码变换成包括一个或多个流水线对象的流水线应用,所述流水线应用被配置成跨越多个计算设备并行执行,所述一个或多个流水线对象中的每一个流水线对象被配置成接收输入数据集并且产生输出数据集;识别要对其执行所述流水线应用的第一输入数据集;对第一输入数据集执行所述流水线应用以产生第一输出数据集,所述执行所述流水线应用包括按照前一个流水线对象将其输出数据集提供给下一个流水线对象作为其输入数据集的次序执行所述一个或多个流水线对象中的每一个流水线对象;在对所述第一输入数据集执行所述流水线应用之后,识别要对其执行所述流水线应用的第二输入数据集;确定所述第一输入数据集与所述第二输入数据集之间的差异的集合;以及对所述差异集合执行所述流水线应用以产生第二输出数据集,所述对差异的集合执行所述流水线应用包括:执行所述一个或多个流水线对象中的每一个流水线对象,包括每一个前一个流水线对象按照将与其前一个输出数据集的差异提供给所述下一个流水线对象作为其输入数据集的次序,并且所述第二输出数据集 ...
【技术保护点】
一种由一个或多个处理器执行的计算机实现的方法,所述方法包括:识别包括指令的同步代码,所述指令指定要对数据集执行的计算操作;将所述同步代码变换成包括一个或多个流水线对象的流水线应用,所述流水线应用被配置成跨越多个计算设备并行执行,所述一个或多个流水线对象中的每一个流水线对象被配置成接收输入数据集并且产生输出数据集;识别要被执行所述流水线应用的第一输入数据集;对第一输入数据集执行所述流水线应用以产生第一输出数据集,执行所述流水线应用包括:按照前一个流水线对象将其输出数据集提供给下一个流水线对象作为其输入数据集的次序执行所述一个或多个流水线对象中的每一个流水线对象;在对所述第一输入数据集执行所述流水线应用之后,识别要被执行所述流水线应用的第二输入数据集;确定所述第一输入数据集与所述第二输入数据集之间的差异集合;以及对所述差异集合执行所述流水线应用以产生第二输出数据集,对所述差异集合执行所述流水线应用包括:执行所述一个或多个流水线对象中的每一个流水线对象,包括每一个前一个流水线对象按照将与其前一个输出数据集的差异提供给所述下一个流水线对象作为其输入数据集的次序,并且所述第二输出数据集包括与所述 ...
【技术特征摘要】
【国外来华专利技术】2014.04.01 US 14/231,9831.一种由一个或多个处理器执行的计算机实现的方法,所述方法包括:识别包括指令的同步代码,所述指令指定要对数据集执行的计算操作;将所述同步代码变换成包括一个或多个流水线对象的流水线应用,所述流水线应用被配置成跨越多个计算设备并行执行,所述一个或多个流水线对象中的每一个流水线对象被配置成接收输入数据集并且产生输出数据集;识别要被执行所述流水线应用的第一输入数据集;对第一输入数据集执行所述流水线应用以产生第一输出数据集,执行所述流水线应用包括:按照前一个流水线对象将其输出数据集提供给下一个流水线对象作为其输入数据集的次序执行所述一个或多个流水线对象中的每一个流水线对象;在对所述第一输入数据集执行所述流水线应用之后,识别要被执行所述流水线应用的第二输入数据集;确定所述第一输入数据集与所述第二输入数据集之间的差异集合;以及对所述差异集合执行所述流水线应用以产生第二输出数据集,对所述差异集合执行所述流水线应用包括:执行所述一个或多个流水线对象中的每一个流水线对象,包括每一个前一个流水线对象按照将与其前一个输出数据集的差异提供给所述下一个流水线对象作为其输入数据集的次序,并且所述第二输出数据集包括与所述第一输出数据集的差异。2.根据权利要求1所述的方法,还包括:响应于对所述第一输入数据集执行所述流水线而确定流水线状态,所述流水线状态包括所述第一输入数据集和所述第一输出数据集的表示。3.根据权利要求2所述的方法,还包括:响应于对与所述第一输入数据集的所述差异集合执行所述流水线而更新所述流水线状态以生成更新的流水线状态,所述更新的流水线状态包括所述第二输入数据集和所述第二输出数据集的表示。4.根据权利要求1所述的方法,还包括:响应于对所述第一输入数据集执行所述流水线而针对所述一个或多个流水线对象中的每一个流水线对象确定流水线对象状态,所述流水线对象状态包括所述流水线对象的所述输入数据集和所述输出数据集的表示。5.根据权利要求4所述的方法,还包括:响应于对与所述第一输入数据集的所述差异集合执行所述流水线而更新所述流水线对象状态以生成更新的流水线对象状态,所述更新的流水线对象状态包括与所述流水线对象的所述输入数据集和所述输出数据集的差异。6.根据权利要求1所述的方法,其中,识别要被执行所述流水线的所述第一输入数据集包括:将所述第一输入数据集变换成密钥值对的第一集合;以及将密钥值对的所述第一集合存储在密钥值储存器中。7.根据权利要求1所述的方法,其中,确定所述第一输入数据集与所述第二输入数据集之间的所述差异集合包括:将所述第二输入数据集变换成密钥值对的第二集合;将密钥值对的所述第二集合与密钥值对的所述第一集合进行比较;以及识别相对于密钥值对的所述第一集合已被从密钥值对的所述第二集合中添加或者删除的密钥值对。8.根据权利要求1所述的方法,其中,确定所述第一输入数据集与所述第二输入数据集之间的所述差异集合包括:确定所述流水线的最后执行时间戳,所述最后执行时间戳表示对所述第一输入数据集执行所述流水线的时间;以及识别包括在所述最后执行时间戳之后的时间戳的所述第二输入数据集中的项集合。9.一种存储指令的非暂时性计算机可读介质,所述指令在被执行时能够操作用于致使至少一个处理器执行操作,所述操作包括:识别包括指令的同步代码,所述指令指定要对数据集执行的计算操作;将所述同步代码变换成包括一个或多个流水线对象的流水线应用,所述流水线应用被配置成跨越多个计算设备并行执行,所述一个或多个流水线对象中的每一个流水线对象被配置成接收输入数据集并且产生输出数据集;识别要被执行所述流水线应用的第一输入数据集;对第一输入数据集执行所述流水线应用以产生第一输出数据集,执行所述流水线应用包括:按照前一个流水线对象将其输出数据集提供给下一个流水线对象作为其输入数据集的次序执行所述一个或多个流水线对象中的每一个流水线对象;在对所述第一输入数据集执行所述流水线应用之后,识别要被执行所述流水线应用的第二输入数据集;确定所述第一输入数据集与所述第二输入数据集之间的差异集合;以及对所述差异集合执行所述流水线应用以产生第二输出数据集,所述对差异集合执行所述流水线应用包括:执行所述一个或多个流水线对象中...
【专利技术属性】
技术研发人员:伯特·布拉德肖,克雷格·D·钱伯斯,以斯拉·库伯,阿希什·拉尼瓦拉,弗朗西丝·J·佩里,
申请(专利权)人:谷歌公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。