CN105453040B - 在分布式计算环境中处理数据流的方法和系统 - Google Patents
在分布式计算环境中处理数据流的方法和系统 Download PDFInfo
- Publication number
- CN105453040B CN105453040B CN201480043394.7A CN201480043394A CN105453040B CN 105453040 B CN105453040 B CN 105453040B CN 201480043394 A CN201480043394 A CN 201480043394A CN 105453040 B CN105453040 B CN 105453040B
- Authority
- CN
- China
- Prior art keywords
- processing unit
- group
- task
- data flow
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Retry When Errors Occur (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种系统、方法和计算机程序产品,用于执行基于任务的并行数据集成建模操作,方式为:针对数据流确定一组处理单元,所述一组处理单元中的每个处理单元定义用于处理所述数据流的一个或多个数据处理操作;生成用于表示所述一组处理单元的一组任务,所述一组任务中的每个任务包括所述一组处理单元的一个或多个所述数据处理操作;基于所述数据流的一组特征优化所述一组任务;以及基于优化后的一组任务生成复合执行计划以在分布式计算环境中处理所述数据流。
Description
背景技术
本发明涉及计算机软件,更具体地说,涉及用于实现基于任务的并行数据集成建模的计算机软件。
用于数据集成的现有并行执行环境可以采取以下四种配置之一:对称多处理(SMP)、大规模并行处理(MPP)、集群或网格。SMP包含一个物理服务器,而其它并行执行环境支持多物理服务器。这些服务器可被进一步配置为充当计算节点、I/O节点或数据库节点。
可在大得多的规模(具有数百到数千个服务器)中建立分布式计算环境。为了在分布式计算环境中运行并行作业,并行计算引擎必须与分布式计算引擎集成,因为每个引擎可以具有自己的特定运行模式。并行引擎支持基于进程的模型,而分布式引擎支持基于任务的模型。在基于任务的模型中,数据流由子流构成,每个子流被视为一个任务。任务可以通过基于进程的模型所确定的一个或多个处理单元运行。当尝试在分布式计算环境中运行并行作业时,必须创建根据进程执行计划的基于任务的执行计划。
发明内容
此处公开的实施例提供了一种系统、方法和计算机程序产品,用于执行基于任务的并行数据集成建模操作,方式为:针对数据流确定一组处理单元,所述一组处理单元中的每个处理单元定义用于处理所述数据流的一个或多个数据处理操作;生成用于表示所述一组处理单元的一组任务,所述一组任务中的每个任务包括所述一组处理单元的一个或多个所述数据处理操作;基于所述数据流的一组特征优化所述一组任务;以及基于优化后的一组任务生成复合执行计划以在分布式计算环境中处理所述数据流。
附图说明
图1示出根据一实施例的实现基于任务的并行数据集成建模的系统;
图2示出根据一实施例的实现基于任务的并行数据集成建模的方法;
图3示出根据一实施例的生成任务执行计划的方法;
图4示出根据一实施例的分析分区和排序键的方法。
具体实施方式
此处公开的实施例提供一种基于任务的处理模型,该模型可被用于生成在分布式计算环境中运行现有数据集成应用的最优执行计划。一般而言,此处公开的实施例基于检查点需求、资源利用模式、分区和排序键,以及运行时要求生成最优执行计划。
数据流可以被建模为一组任务(对于基于任务的处理模型),其中每个任务具有一个功能。每个任务可以包含一个或多个执行功能的处理单元。所有任务的功能可被编排为表示整个数据流的应用逻辑。对于给定的数据流,任务数的范围可以是从1到N,其中N是最大处理单元数。最优任务数(即,最有效地处理数据流的任务数)也是从1到N的数字。此处公开的实施例通过考虑数据流的特征(例如,检查点需求、资源利用模式、分区和排序键,以及用户可能在运行时指定的性能要求)来确定最优任务数。基于最优任务数,可以生成两级复合最优执行计划以在分布式计算环境中运行这些任务。
例如,以下数据流可以联结来自两个源的数据,转换该数据,并且将该数据加载到目标文件系统中。第一导入运算符可将其结果传递到第一排序运算符。第一排序运算符可以将其结果传递到第一去重运算符。并行地,第二导入运算符可将其结果传递到第二排序运算符。第二排序运算符可以将其结果传递到第二去重运算符。第一和第二去重运算符的结果然后可被传递到联结(join)运算符,该联结运算符然后流到变换运算符,该变换运算符最终流到导出运算符。
将基于进程的模型应用到该样本数据流可以导致采用单节点配置的九个明显不同的进程,前提是禁用运算符组合(组合两个或更多个运算符),即,在数据流中每个步骤具有一个进程。通过将基于任务的建模应用到进程执行计划,此处公开的实施例可以生成许多不同的任务执行计划,如表 1所示:
表1
表1示出可以生成许多不同的执行计划。有利地,此处公开的实施例可以基于检查点需求、资源利用模式、分区和排序键,以及用户可能在运行时指定的性能要求生成最优执行计划。例如,在基于上面所示的数据流的第一情景下,如果在运行时确定两个数据源都是本地数据源并且具有中等数据量,则此处公开的实施例可以将计划2A识别为最优,因为联结和文件导出都可以与键值对协同工作。在该计划中,联结运算符上游的运算符可被分组为映射(map)任务,而联结运算符本身可被用作化简(reduce) 任务。在第二映射-化简任务中,变换运算符是映射任务,文件导出是化简任务。该数据流中存在两个检查点,因此如果任一任务失败,其它两个任务均能够继续运行,并且整个数据流可以从故障中恢复,并且重新开始数据处理。
在第二情景下,可以在运行时确定输入数据源位于两个具有中等数据量的远程服务器上,此处公开的实施例可以将计划2C识别为最优,因为该计划将输入/输出操作与数据处理分离,同时还通过部分地在并行引擎上以及部分地在分布式引擎上运行数据流,允许接近数据位置进行数据处理。此情景与第一情景类似,但是每个数据源在特定文件服务器上的并行框架内运行自己的任务,同时其余的数据流作为两个映射-化简任务在分布式映射-化简框架内运行。
在第三情景下,可以确定数据流包括具有大数据量的远程I/O。在此情况下,此处公开的实施例可以将计划6识别为最优,因为该计划将资源密集型处理分为不同的任务。这可允许I/O密集型任务在针对I/O配置的服务器上运行,并且允许存储器或CPU密集型任务在具有更大处理能力的服务器上运行。六个检查点允许灵活地处理长运行任务的故障恢复。映射任务(排序)和化简任务(去重)也非常适合映射-化简模型。
为了在进程级上优化表1中的计划,此处公开的实施例将不同的处理单元组合成一个进程以降低花费在数据传输上的CPU成本。根据实际的运算符组合,任务执行计划可能发生变化,也可能不变。例如,即使组合导入/排序/去重运算符,计划2A也不变。类似地,即使组合变换/导出运算符,计划2B也不变。如果执行计划保持不变,则可以优化进程执行计划以满足运行时要求。
因此,此处公开的实施例引入新的基于任务的模型以描述数据集成逻辑,并且将双层建模应用于数据流。基于任务的模型可被视为复合模型,该模型构建在基于进程的模型的顶部。基于任务的模型中的数据流的评分因此也是复合评分。双层建模使用基于进程的模型表示较低级的数据处理单元,并且在较高层使用基于任务的模型以通过分组关联的数据处理单元来执行主功能。可以基于数据流的特征和运行时性能要求而生成包括进程执行计划和任务执行计划的复合执行计划。进程执行计划定义要运行的数据处理单元,而任务执行计划定义在何处运行这些数据处理单元,以及在环境设置及作业启动方面如何运行它们。有利地,此处公开的实施例提供同时在进程级和任务级上优化执行计划的能力,并且提供支持内置和自定义的数据分析规则的能力,这些数据分析包括检查点需求、资源利用模式、分区和排序键,以及运行要求。
有利地,此处公开的实施例允许在任意计算环境中重用进程执行计划,从而提供对可重定向引擎、故障恢复和最优检查点的支持。基于任务的模型可被扩展为支持并行或分布式(异质或同质的)执行环境中的并行数据集成。此外,双层优化和任务分析规则使得执行计划评分更适应运行时的任何性能要求变化。在运行时,用户可以修改任务执行计划和/或进程执行计划,或者可以使任务执行计划和/或进程执行计划保持不变。
图1示出根据一实施例的实现基于任务的并行数据集成建模的系统 100。计算机102也可经由网络130被连接到其它计算机1011-N。计算机 1011-N可以是分布式或并行计算环境中的其它计算机。一般而言,网络130 可以是电信网络和/或广域网(WAN)。在特定环境中,网络130是因特网。
计算机102一般包括经由总线120被连接到存储器106的处理器104、网络接口设备118、存储装置108、输入设备122和输出设备124。计算机 102一般在操作系统(未示出)的控制之下。操作系统的实例包括UNIX 操作系统、Microsoft Windows操作系统的各个版本、以及Linux操作系统的多个发行版本(UNIX是The Open Group在美国和其它国家/地区的注册商标,Microsoft和Windows是Microsoft Corporation在美国和/或其它国家/地区的商标。Linux是Linux Torvalds在美国和/或其它国家/地区的注册商标)。更一般地说,可使用支持此处披露的功能的任何操作系统。包括处理器104以代表单个CPU、多个CPU、具有多处理核的单个CPU 等等。类似地,存储器106可以是随机存取存储器。尽管存储器106被示出为单个身份,但是应该理解,存储器106可以包括多个模块,并且存储器106可以存在于从高速寄存器和高速缓存到低速但较大的DRAM芯片的多个级别。网络接口单元118可以是允许计算机102经由网络130与其它计算机通信的任何类型的网络通信设备。
存储装置108可以是永久性存储器件。尽管存储装置108被示出为单个单元,但是存储装置108可以是固定和/或可移动存储器件(例如,固定盘驱动器、固态驱动器、软盘驱动器、磁带驱动器、可移动存储卡或光存储器件)的组合。存储器106和存储装置108可以是跨多个一级存储设备和二级存储设备的虚拟地址空间的一部分。
输入设备122可以是用于将输入提供给计算机102的任何设备。例如,可以使用键盘和/或鼠标。输出设备124可以是用于将输出提供给计算机 102的用户的任何设备。例如,输出设备124可以是任何传统的显示屏或扬声器设备。尽管被示出为与输入设备122分离,但是输出设备124和输入设备122可以组合。例如,可使用具有集成触摸屏的显示屏。
如图所示,存储器106包含集成应用112,该应用是一般被配置为将并行计算作业部署到分布式计算环境中以执行的应用。集成应用112确定将要执行计算作业的平台,生成执行计划,配置平台以执行计划,以及监视计划的执行。在生成执行计划时,集成应用112可以基于检查点需求、资源利用模式、分区和排序键,以及用户可能在运行时指定的性能要求生成最优计划以在分布式计算引擎上执行并行计算作业。集成应用112的其它功能在2013年3月15日提交的第13/842,960号美国专利申请中描述,该申请的完整内容在此纳入作为参考。存储器106 还包含并行引擎113和分布式引擎114,并行引擎113一般是被配置为管理并行计算作业的执行的应用,而分布式引擎114一般是被配置为管理分布式计算作业的执行的应用。如图所示,存储装置108包含数据115,该装置存储与集成应用112 相关的数据,以及并行引擎113和分布式引擎114。例如,数据115可以包括配置数据、任务数据、计划数据,以及包含任务执行计划的评分存档。尽管被示出为数据库,但是数据115可以采取任何足以存储数据(包括文本文件、xml数据文件等等)的形式。在某些实施例中,数据115以及集成应用112、并行引擎113和分布式引擎114可以位于任意数量的不同计算机、相同计算机,或者它们的任意组合中。
图2示出根据一实施例的实现基于任务的并行数据集成建模的方法 200。在一实施例中,集成应用112执行方法200的步骤以针对需要在分布式计算系统上执行的并行处理作业生成最优执行计划。集成应用112包括一组内置规则,这些规则针对给定的数据流应用以生成任务执行计划。内置规则可以基于不同的性能特征,以便集成应用112可以生成用于不同类型数据流的最优执行计划。
在步骤210,集成应用112接收并行处理作业的数据流的对象表示。数据流的对象表示识别必须完成以处理并行处理作业的操作。例如,数据流的对象表示可以指定导入数据集,对数据进行排序,去重,以及将结果输出到文件。在步骤220,集成应用112可以接收处理数据流的运行要求。该运行要求可以是由集成应用112实施的用户定义的、自定义规则。运行要求例如可以指定所生成的任务执行计划中的物理分区数、每个逻辑分区上的任务数,或跨所有分区的任务总数。用户也可以通过设定并行配置文件来配置运行任务的环境。用户指定的配置信息可以嵌入集成应用112所生成的最终任务执行计划内。在步骤230,集成应用112可以生成用于处理数据流的进程执行计划。在一个实施例中,集成应用112基于数据流的对象表示生成进程执行计划。一般而言,在步骤230,集成应用112通过确定每个运算符的分区源,在必要时插入自动重分区运算符和数据集,计算虚拟数据集的直连优化来为进程分配处理运算符(单元),并且在可能的情况下组合这些运算符。进程执行计划的生成在2013年3月15日提交的第13/842,960号美国专利申请中更详细地描述,该申请的完整内容在此纳入作为参考。
在步骤240,集成应用112基于进程执行计划和运行要求生成任务执行计划。在生成任务执行计划时,集成应用112可以使用一组规则执行任务分析,最后完善任务执行计划,以及序列化任务执行计划并将任务执行计划保存为评分存档的一部分。集成应用112为了生成任务执行计划所执行的步骤将参考图3进行更详细地描述。在步骤250,用户可以可选地通过修改任务执行计划和/或进程执行计划来优化执行计划。备选地,用户可以拒绝修改任务或进程执行计划,允许系统继续进行集成应用112所生成的进程执行计划和任务执行计划。在步骤260,集成应用112可以基于优化后的执行计划部署作业。在一实施例中,作业可以是在分布式计划环境中部署的并行计算作业。但是,并行计算作业可以被扩展到任意数量的计算平台,反之亦然。
图3示出根据一实施例与生成任务执行计划的步骤240对应的方法 300。一般而言,集成应用112通过接收作为输入的进程执行计划和运行要求来生成任务执行计划,使用一组规则分析任务,最后完善任务执行计划,以及将任务执行计划保存为评分存档的一部分。用于任务分析的一组规则可以包括检查点需求、资源利用模式、分区和排序键,以及从用户处接收的运行要求。
在步骤310,集成应用112可以分析数据流的检查点。不同的数据流 (或者同一数据流的不同运行)可以具有不同的检查点需求。可以确定数据流中的最优检查点以利用检查点实现性能改善和故障恢复。有关这些检查点的信息可以被嵌入进程执行计划内。当分析进程执行计划时,集成应用112可以标记子流边界,并且使用指定的检查点和子流来确定任务组。任务组可以包含一个或多个任务。在检查了检查点需求之后,集成应用112 可以分析每个任务组以确定用于处理数据流的个体任务。在步骤320,集成应用112分析每个任务的资源利用模式以识别展示特殊资源利用模式的任何进程。例如,集成应用112可以判定给定的任务进程是I/O密集型任务、存储密集型任务还是CPU密集型任务。如果进程被识别为具有特殊的资源利用模式,则集成应用112尝试将进程分配给任务执行计划中的不同任务。例如,集成应用112可以不将I/O密集型进程和CPU密集型进程分配给同一任务。同样,集成应用112不将多个存储密集型进程、多个CPU 密集型进程和多个I/O密集型进程分配给同一任务。
在步骤330,如参考图4更详细地描述,集成应用112可以分析分区和排序键以将剩余进程映射到任务。一般而言,集成应用112识别键分裂边界以定义任务执行计划中的映射任务和化简任务。在步骤S340,集成应用112分析用户指定的任何运行要求。如前所述,集成应用112基于这些用户指定的规则最后完善任务执行计划。例如,集成应用112可以修改它所生成的任务,以便不超过指定的物理分区数、每个逻辑分区上指定的任务数,或者跨所有分区的指定任务总数。在步骤360,集成应用112按照适当的执行顺序对所生成的任务进行排序。在步骤370,集成应用112可以将任务执行计划保存到评分存档中,该评分存档在一实施例中为数据 115。
图4示出根据一实施例的与分析分区和排序键的步骤330对应的方法 400。一般而言,集成应用112在分析检查点需求和资源利用模式之后执行方法400的步骤,便将任何剩余的进程映射到任务执行计划中的任务。在步骤410,集成应用112可以识别基于键的运算符。基于键的运算符可以是对分区或排序键执行操作的任何运算符。分区或排序键可以是被用于确定一组记录的分区或排序的一个或多个列。在步骤420,集成应用112针对在步骤410识别的每个基于键的运算符执行包含步骤430-460的循环。在步骤430,集成应用112识别在当前基于键的运算符上游的未在任何任务中被使用的任何运算符。在步骤440,集成应用112定义包括所识别的上游运算符的映射任务。在步骤450,集成应用112使用基于键的运算符定义化简任务。在步骤460,集成应用112判定是否还剩余基于键的运算符。如果是,集成应用112返回到步骤420。否则,集成应用112在步骤 470识别键分裂边界。如果下游基于键的运算符具有相同的键要求,则集成应用112可以将这些基于键的运算符组合成同一化简任务。在步骤480,集成应用112将尽可能多的运算符组合成同一任务。
此处公开的实施例接收数据流的对象表示和进程执行计划作为输入,并且基于检查点需求、资源利用模式、分区和排序键以及用户可在运行时指定的性能要求来生成任务执行计划。数据流可以被建模为一组任务,每个任务具有可以被一个或多个处理单元执行的主功能。可编排所有任务的主功能以表示完整数据流的应用逻辑。有利地,此处公开的实施例通过考虑数据流的特征和性能要求来识别用于处理单元的最优任务数。基于所生成的一组最优任务,此处公开的实施例然后能够生成两级最优复合执行计划以在分布式计算环境中运行并行计算作业。
出于示例目的给出了对本发明的多个实施例的描述,并且所述描述并非旨在是穷举的或是将本发明限于所公开的实施例。对于本领域的普通技术人员来说,在不偏离所述实施例的范围和精神的情况下,许多修改和变化都将是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
所属技术领域的技术人员知道,本发明的各方面可以体现为系统、方法或计算机程序产品。因此,本发明的各方面可以具体实现为以下形式,即,可以是完全的硬件实施例、完全的软件实施例(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明的各方面还可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该介质中包含计算机可读程序代码。
可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质,计算机可读存储介质例如可以是—但不限于—电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或前述各项的任何适当的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或前述各项的任何适当的组合。在本文语境中,计算机可读存储介质可以是任何含有或存储供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的有形介质。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括—但不限于—无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明各方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,生成了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机、其它可编程数据处理装置或其它设备以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就生成出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以生成计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
本发明的实施例可通过云计算基础架构被提供给最终用户。云计算一般是指作为网络上服务的可扩展计算资源部署。更正式地说,云计算可被定义为在计算资源与其底层技术架构(例如,服务器、存储、网络)之间提供抽象的计算能力,从而允许用于对共享的可配置计算资源池进行方便、按需的网络访问,可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源。因此,云计算允许用户访问“云”中的虚拟计算资源(例如,存储、数据、应用,甚至完整的虚拟化计算环境),无需考虑用于提供计算资源的底层物理系统(或这些系统的位置)。
通常,云计算资源根据按次计费的方式被提供给用户,其中仅针对实际使用的计算资源向用户收费(用户使用的存储空间量或用户实例化的虚拟化系统数量)。用户可以跨因特网,从任何位置随时访问驻留在云中的任何资源。在本公开的语境中,用户可以访问云中可用的应用(例如,集成应用)或相关的数据。例如,集成应用可以在云中的计算系统上执行,并且生成用于处理数据流的最优执行计划。在这种情况下,集成应用可以生成执行计划,并且将该执行计划存储在云中的存储位置。这允许用户从被连接到网络(该网络与云相连,例如,因特网)的任何计算系统访问此信息。
附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/ 或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
尽管上面描述了本发明的实施例,但是在不偏离所附权利要求确定的本发明的基本范围的情况下,可以构想本发明的其它以及进一步的实施例。
Claims (20)
1.一种在分布式计算环境中处理数据流的方法,包括:
针对数据流确定一组处理单元,所述一组处理单元中的每个处理单元定义用于处理所述数据流的一个或多个数据处理操作,其中确定一组处理单元包括:
确定所述每个处理单元的分区源;
插入自动重分区处理单元和虚拟数据集;以及
计算虚拟数据集的直连优化;
生成用于表示所述一组处理单元的一组任务,所述一组任务中的每个任务包括所述一组处理单元的一个或多个所述数据处理操作;
基于所述数据流的一组特征优化所述一组任务;以及
基于优化后的一组任务生成复合执行计划以在分布式计算环境中处理所述数据流。
2.根据权利要求1所述的方法,其中基于一个或多个用户定义要求进一步优化所述一组任务,其中所述数据流的所述一组特征包括:(i)所述数据流的检查点要求;(ii)每个所述处理单元的处理要求,(iii)识别每个所述处理单元的一个或多个键分裂边界,以及(iv)一个或多个用户定义要求。
3.根据权利要求2所述的方法,其中识别所述一个或多个键分裂边界包括:
识别所述一组处理单元中的至少一个基于键的处理单元;
识别所述至少一个基于键的处理单元的上游处理单元,其中所述上游处理单元未被用于处理所述一组任务中的任何任务;
定义包括所述上游处理单元的映射任务;
使用所述至少一个基于键的处理单元定义化简任务;以及
在确定所述上游处理单元和所述至少一个基于键的处理单元具有相同的键要求时,将所述上游处理单元和所述至少一个基于键的处理单元相组合。
4.根据权利要求2所述的方法,其中所述一个或多个用户定义要求包括:(i)用于处理所述数据流的物理分区数,(ii)一个或多个逻辑分区上的任务数,(iii)跨所有分区的最大任务数。
5.根据权利要求2所述的方法,其中每个所述处理单元的处理要求包括以下至少一项:(i)每个处理单元的存储要求,(ii)每个处理单元的CPU要求,以及(iii)每个处理单元的I/O要求。
6.根据权利要求1所述的方法,其中基于所确定的一组处理单元而进一步生成所述复合执行计划。
7.根据权利要求6所述的方法,其中确定所述一组处理单元基于根据至少两个处理单元的一个或多个处理要求来组合所述至少两个处理单元。
8.一种在分布式计算环境中处理数据流的系统,包括:
一个或多个计算机处理器;以及
存储器,其包含程序,当由所述一个或多个处理器执行时,所述程序执行操作,所述操作包括:
针对数据流确定一组处理单元,所述一组处理单元中的每个处理单元定义用于处理所述数据流的一个或多个数据处理操作,其中确定一组处理单元包括:
确定所述每个处理单元的分区源;
插入自动重分区处理单元和虚拟数据集;以及
计算虚拟数据集的直连优化;
生成用于表示所述一组处理单元的一组任务,所述一组任务中的每个任务包括所述一组处理单元的一个或多个所述数据处理操作;
基于所述数据流的一组特征优化所述一组任务;以及
基于优化后的一组任务生成复合执行计划以在分布式计算环境中处理所述数据流。
9.根据权利要求8所述的系统,其中基于一个或多个用户定义要求进一步优化所述一组任务,其中所述数据流的所述一组特征包括:(i)所述数据流的检查点要求;(ii)每个所述处理单元的处理要求,(iii)识别每个所述处理单元的一个或多个键分裂边界,以及(iv)一个或多个用户定义要求。
10.根据权利要求9所述的系统,其中识别所述一个或多个键分裂边界包括:
识别所述一组处理单元中的至少一个基于键的处理单元;
识别所述至少一个基于键的处理单元的上游处理单元,其中所述上游处理单元未被用于处理所述一组任务中的任何任务;
定义包括所述上游处理单元的映射任务;
使用所述至少一个基于键的处理单元定义化简任务;以及
在确定所述上游处理单元和所述至少一个基于键的处理单元具有相同的键要求时,将所述上游处理单元和所述至少一个基于键的处理单元相组合。
11.根据权利要求9所述的系统,其中所述一个或多个用户定义要求包括:(i)用于处理所述数据流的物理分区数,(ii)一个或多个逻辑分区上的任务数,(iii)跨所有分区的最大任务数。
12.根据权利要求9所述的系统,其中每个所述处理单元的处理要求包括以下至少一项:(i)每个处理单元的存储要求,(ii)每个处理单元的CPU要求,以及(iii)每个处理单元的I/O要求。
13.根据权利要求8所述的系统,其中基于所确定的一组处理单元而进一步生成所述复合执行计划。
14.根据权利要求13所述的系统,其中确定所述一组处理单元基于根据至少两个处理单元的一个或多个处理要求来组合所述至少两个处理单元。
15.一种计算机可读存储介质,其中包含计算机可读程序代码,所述计算机可读程序代码包括:
被配置为针对数据流确定一组处理单元的计算机可读程序代码,所述一组处理单元中的每个处理单元定义用于处理所述数据流的一个或多个数据处理操作,其中被配置为针对数据流确定一组处理单元的计算机可读程序代码包括:
被配置为确定所述每个处理单元的分区源的计算机可读程序代码;
被配置为插入自动重分区处理单元和虚拟数据集的计算机可读程序代码;以及
被配置为计算虚拟数据集的直连优化的计算机可读程序代码;
被配置为生成用于表示所述一组处理单元的一组任务的计算机可读程序代码,所述一组任务中的每个任务包括所述一组处理单元的一个或多个所述数据处理操作;
被配置为基于所述数据流的一组特征优化所述一组任务的计算机可读程序代码;以及
被配置为基于优化后的一组任务生成复合执行计划以在分布式计算环境中处理所述数据流的计算机可读程序代码。
16.根据权利要求15所述的计算机可读存储介质,其中基于一个或多个用户定义要求进一步优化所述一组任务,其中所述数据流的所述一组特征包括:(i)所述数据流的检查点要求;(ii)每个所述处理单元的处理要求,(iii)识别每个所述处理单元的一个或多个键分裂边界,以及(iv)一个或多个用户定义要求。
17.根据权利要求16所述的计算机可读存储介质,其中识别所述一个或多个键分裂边界包括:
识别所述一组处理单元中的至少一个基于键的处理单元;
识别所述至少一个基于键的处理单元的上游处理单元,其中所述上游处理单元未被用于处理所述一组任务中的任何任务;
定义包括所述上游处理单元的映射任务;
使用所述至少一个基于键的处理单元定义化简任务;以及
在确定所述上游处理单元和所述至少一个基于键的处理单元具有相同的键要求时,将所述上游处理单元和所述至少一个基于键的处理单元相组合。
18.根据权利要求16所述的计算机可读存储介质,其中所述一个或多个用户定义要求包括:(i)用于处理所述数据流的物理分区数,(ii)一个或多个逻辑分区上的任务数,(iii)跨所有分区的最大任务数。
19.根据权利要求16所述的计算机可读存储介质,其中每个所述处理单元的处理要求包括以下至少一项:(i)每个处理单元的存储要求,(ii)每个处理单元的CPU要求,以及(iii)每个处理单元的I/O要求。
20.根据权利要求15所述的计算机可读存储介质,其中基于所确定的一组处理单元而进一步生成所述复合执行计划,其中确定所述一组处理单元基于根据至少两个处理单元的一个或多个处理要求来组合所述至少两个处理单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/966,903 US9477511B2 (en) | 2013-08-14 | 2013-08-14 | Task-based modeling for parallel data integration |
US13/966,903 | 2013-08-14 | ||
PCT/CN2014/084354 WO2015021931A1 (en) | 2013-08-14 | 2014-08-14 | Task-based modeling for parallel data integration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105453040A CN105453040A (zh) | 2016-03-30 |
CN105453040B true CN105453040B (zh) | 2019-03-01 |
Family
ID=52467789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480043394.7A Expired - Fee Related CN105453040B (zh) | 2013-08-14 | 2014-08-14 | 在分布式计算环境中处理数据流的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9477511B2 (zh) |
CN (1) | CN105453040B (zh) |
WO (1) | WO2015021931A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9323619B2 (en) | 2013-03-15 | 2016-04-26 | International Business Machines Corporation | Deploying parallel data integration applications to distributed computing environments |
US9477511B2 (en) | 2013-08-14 | 2016-10-25 | International Business Machines Corporation | Task-based modeling for parallel data integration |
JP2015095132A (ja) * | 2013-11-13 | 2015-05-18 | 富士通株式会社 | 情報処理システム、情報処理システムの制御方法及び管理装置の制御プログラム |
US10198293B2 (en) * | 2014-09-29 | 2019-02-05 | Samsung Electronics Co., Ltd. | Distributed real-time computing framework using in-storage processing |
WO2016163903A1 (en) * | 2015-04-08 | 2016-10-13 | Siemens Aktiengesellschaft | Method and apparatus for automated generation of a data processing topology |
WO2016163905A1 (en) * | 2015-04-08 | 2016-10-13 | Siemens Aktiengesellschaft | Method and apparatus for automatically generating an optimized computational topology |
US20180217870A1 (en) * | 2015-07-31 | 2018-08-02 | Societa Innovations Ipco Limited | System And Method For Multi-Tiered Real Time Processing Using Configurable Platform Instances |
US10387195B2 (en) * | 2015-11-24 | 2019-08-20 | Informatica Llc | Method, apparatus, and computer-readable medium for performing a data exchange on a data exchange framework |
CN106933669B (zh) * | 2015-12-29 | 2021-01-08 | 伊姆西Ip控股有限责任公司 | 用于数据处理的装置和方法 |
CN105812188A (zh) * | 2016-04-25 | 2016-07-27 | 北京网康科技有限公司 | 流量识别方法及装置 |
CN106547613B (zh) * | 2016-10-20 | 2020-04-03 | 西北工业大学 | 任务处理流程的调度及故障恢复方法 |
US10481949B2 (en) * | 2016-12-09 | 2019-11-19 | Vmware, Inc. | Methods and apparatus to automate deployments of software defined data centers based on user-provided parameter values |
CN113227965B (zh) * | 2018-12-21 | 2024-04-02 | 日本电信电话株式会社 | 分布式处理辅助装置、分布式处理辅助方法以及存储介质 |
CN111985860A (zh) * | 2019-05-21 | 2020-11-24 | 北京京东乾石科技有限公司 | 一种任务处理方法和装置 |
CN110197022B (zh) * | 2019-05-21 | 2020-10-23 | 浙江大学 | 面向流式大数据的并行概率变分软测量建模方法 |
CN112130812B (zh) * | 2020-08-04 | 2022-04-15 | 中科天玑数据科技股份有限公司 | 一种基于数据流混合编排的分析模型构建方法及系统 |
CN114024963A (zh) * | 2021-10-25 | 2022-02-08 | 深圳市高德信通信股份有限公司 | 一种分布式边缘计算系统及分布式边缘计算方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236578A (zh) * | 2010-05-07 | 2011-11-09 | 微软公司 | 分布式工作流执行 |
CN102831139A (zh) * | 2011-03-25 | 2012-12-19 | 微软公司 | 用于查询计划优化以及数据并行编程模型的共同范围分区 |
Family Cites Families (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0659906A (ja) | 1992-08-10 | 1994-03-04 | Hitachi Ltd | 並列計算機の実行制御方法 |
DE4497320T1 (de) | 1993-09-27 | 1996-11-21 | Oracle Corp | Verfahren und Vorrichtung zur parallelen Verarbeitung in einem Datenbanksystem |
US5996088A (en) | 1997-01-22 | 1999-11-30 | Oracle Corporation | High-speed database checkpointing through sequential I/O to disk |
US6549928B1 (en) | 1998-04-29 | 2003-04-15 | Xerox Corporation | Machine control integrating event based model with task based model |
US6434664B1 (en) | 1999-02-04 | 2002-08-13 | Maxtor Corporation | Data transfer scheme for efficiently moving data through a high latency media access channel |
US6983234B1 (en) | 1999-04-01 | 2006-01-03 | Sun Microsystems, Inc. | System and method for validating processor performance and functionality |
US6584581B1 (en) | 1999-12-06 | 2003-06-24 | Ab Initio Software Corporation | Continuous flow checkpointing data processing |
US6983317B1 (en) | 2000-02-28 | 2006-01-03 | Microsoft Corporation | Enterprise management system |
US20020055868A1 (en) | 2000-05-24 | 2002-05-09 | Dusevic Angela G. | System and method for providing a task-centric online environment |
US6725211B1 (en) | 2000-09-28 | 2004-04-20 | International Business Machines Corporation | Work load assessment heuristic for optimal task parallelism determination |
US6782489B2 (en) | 2001-04-13 | 2004-08-24 | Hewlett-Packard Development Company, L.P. | System and method for detecting process and network failures in a distributed system having multiple independent networks |
US7082606B2 (en) | 2001-05-01 | 2006-07-25 | The Regents Of The University Of California | Dedicated heterogeneous node scheduling including backfill scheduling |
US7412520B2 (en) | 2001-06-07 | 2008-08-12 | Intel Corporation | Systems and methods for recoverable workflow |
EP1318453A1 (en) | 2001-12-07 | 2003-06-11 | Hewlett-Packard Company | Scheduling system, method and apparatus for a cluster |
US8224986B1 (en) | 2002-03-07 | 2012-07-17 | Cisco Technology, Inc. | Methods and apparatus for redirecting requests for content |
US7039663B1 (en) | 2002-04-19 | 2006-05-02 | Network Appliance, Inc. | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
GB0304628D0 (en) | 2003-02-28 | 2003-04-02 | Imec Inter Uni Micro Electr | Method for hardware-software multitasking on a reconfigurable computing platform |
US8015541B1 (en) | 2002-10-24 | 2011-09-06 | Rage Frameworks, Inc. | Business process technology for the enterprise |
US7337444B2 (en) | 2003-01-09 | 2008-02-26 | International Business Machines Corporation | Method and apparatus for thread-safe handlers for checkpoints and restarts |
US20070067373A1 (en) | 2003-11-03 | 2007-03-22 | Steven Higgins | Methods and apparatuses to provide mobile applications |
EP1569104A3 (en) | 2004-01-09 | 2006-05-03 | Interuniversitair Microelektronica Centrum Vzw | An automated method for performing parallelization of sequential code and a computerized system adapted therefore |
US7756919B1 (en) | 2004-06-18 | 2010-07-13 | Google Inc. | Large-scale data processing in a distributed and parallel processing enviornment |
FR2873830B1 (fr) | 2004-07-30 | 2008-02-22 | Commissariat Energie Atomique | Procede d'ordonnancement de traitement de taches et dispositif pour mettre en oeuvre le procede |
US7574424B2 (en) | 2004-10-13 | 2009-08-11 | Sybase, Inc. | Database system with methodology for parallel schedule generation in a query optimizer |
US7665093B2 (en) | 2004-12-22 | 2010-02-16 | Microsoft Corporation | Synchronization of runtime and application state via batching of workflow transactions |
US7634687B2 (en) | 2005-01-13 | 2009-12-15 | Microsoft Corporation | Checkpoint restart system and method |
KR101138944B1 (ko) | 2005-01-26 | 2012-04-25 | 서울옵토디바이스주식회사 | 직렬 연결된 복수개의 발광셀들을 갖는 발광 소자 및그것을 제조하는 방법 |
US20110016214A1 (en) | 2009-07-15 | 2011-01-20 | Cluster Resources, Inc. | System and method of brokering cloud computing resources |
US8015564B1 (en) | 2005-04-27 | 2011-09-06 | Hewlett-Packard Development Company, L.P. | Method of dispatching tasks in multi-processor computing environment with dispatching rules and monitoring of system status |
US7516361B2 (en) | 2005-06-27 | 2009-04-07 | Sun Microsystems, Inc. | Method for automatic checkpoint of system and application software |
US20070094214A1 (en) | 2005-07-15 | 2007-04-26 | Li Eric Q | Parallelization of bayesian network structure learning |
EP1797528A1 (en) | 2005-08-16 | 2007-06-20 | Swiss Reinsurance Company | Computer-based data processing system and method of processing data objects |
US8972872B2 (en) | 2006-03-27 | 2015-03-03 | Fujitsu Limited | Building computing applications based upon metadata |
US8181150B2 (en) | 2006-05-12 | 2012-05-15 | The Mathworks, Inc. | System and method for synchronized workflow management |
US7461241B2 (en) | 2006-07-31 | 2008-12-02 | International Business Machines Corporation | Concurrent physical processor reassignment method |
US8219848B2 (en) | 2007-04-10 | 2012-07-10 | International Business Machines Corporation | Mechanism for recovery from site failure in a stream processing system |
US7895474B2 (en) | 2007-05-03 | 2011-02-22 | International Business Machines Corporation | Recovery and restart of a batch application |
US7739547B2 (en) * | 2007-06-07 | 2010-06-15 | International Business Machines Corporation | Failure recovery and error correction techniques for data loading in information warehouses |
WO2009044296A2 (en) | 2007-06-26 | 2009-04-09 | Softlife Projects Limited Doing Business As Appli Ed Cytometry Systems | System and method for optimizing data analysis |
US8161492B2 (en) | 2008-04-15 | 2012-04-17 | Microsoft Corporation | Continuation based runtimes in transactions |
US20090265707A1 (en) | 2008-04-21 | 2009-10-22 | Microsoft Corporation | Optimizing application performance on virtual machines automatically with end-user preferences |
US8266477B2 (en) | 2009-01-09 | 2012-09-11 | Ca, Inc. | System and method for modifying execution of scripts for a job scheduler using deontic logic |
CN101799809B (zh) | 2009-02-10 | 2011-12-14 | 中国移动通信集团公司 | 数据挖掘方法和数据挖掘系统 |
US8671418B2 (en) | 2009-02-10 | 2014-03-11 | International Business Machines Corporation | Environment modification in a hybrid node computing environment |
US8239847B2 (en) | 2009-03-18 | 2012-08-07 | Microsoft Corporation | General distributed reduction for data parallel computing |
US8205113B2 (en) | 2009-07-14 | 2012-06-19 | Ab Initio Technology Llc | Fault tolerant batch processing |
US8935702B2 (en) | 2009-09-04 | 2015-01-13 | International Business Machines Corporation | Resource optimization for parallel data integration |
US8145944B2 (en) | 2009-09-30 | 2012-03-27 | International Business Machines Corporation | Business process error handling through process instance backup and recovery |
US9009294B2 (en) | 2009-12-11 | 2015-04-14 | International Business Machines Corporation | Dynamic provisioning of resources within a cloud computing environment |
JP2011123817A (ja) | 2009-12-14 | 2011-06-23 | Fujitsu Ltd | ジョブ振分装置、ジョブ振分プログラム及びジョブ振分方法 |
US9619291B2 (en) | 2009-12-20 | 2017-04-11 | Yahoo! Inc. | System and method for a task management library to execute map-reduce applications in a map-reduce framework |
US8359367B2 (en) | 2010-01-08 | 2013-01-22 | International Business Machines Corporation | Network support for system initiated checkpoints |
US8788879B2 (en) | 2010-01-08 | 2014-07-22 | International Business Machines Corporation | Non-volatile memory for checkpoint storage |
US8566428B2 (en) | 2010-03-24 | 2013-10-22 | Accenture Global Services Limited | Cloud-based software eco-system |
US9495427B2 (en) | 2010-06-04 | 2016-11-15 | Yale University | Processing of data using a database system in communication with a data processing framework |
US8627143B2 (en) | 2010-07-12 | 2014-01-07 | Hewlett-Packard Development Company, L.P. | Dynamically modeling and selecting a checkpoint scheme based upon an application workload |
US9003416B2 (en) | 2010-09-29 | 2015-04-07 | International Business Machines Corporation | Predicting resource requirements for a computer application |
US20120102189A1 (en) | 2010-10-25 | 2012-04-26 | Stephany Burge | Dynamic heterogeneous computer network management tool |
JP2012118669A (ja) | 2010-11-30 | 2012-06-21 | Ntt Docomo Inc | 負荷分散処理システム及び負荷分散処理方法 |
US8495352B2 (en) | 2010-12-08 | 2013-07-23 | International Business Machines Corporation | System and method for instantiation of distributed applications from disk snapshots |
CN102063336B (zh) | 2011-01-12 | 2013-02-27 | 国网电力科学研究院 | 一种分布式计算多应用功能异步并发调度方法 |
US8726076B2 (en) | 2011-05-27 | 2014-05-13 | Microsoft Corporation | Operator state checkpoint markers and rehydration |
US9063790B2 (en) | 2011-06-13 | 2015-06-23 | Accenture Global Services Limited | System and method for performing distributed parallel processing tasks in a spot market |
US9335977B2 (en) * | 2011-07-28 | 2016-05-10 | National Instruments Corporation | Optimization of a data flow program based on access pattern information |
US20130247069A1 (en) | 2012-03-15 | 2013-09-19 | International Business Machines Corporation | Creating A Checkpoint Of A Parallel Application Executing In A Parallel Computer That Supports Computer Hardware Accelerated Barrier Operations |
US8572051B1 (en) | 2012-08-08 | 2013-10-29 | Oracle International Corporation | Making parallel execution of structured query language statements fault-tolerant |
US20140059552A1 (en) | 2012-08-24 | 2014-02-27 | International Business Machines Corporation | Transparent efficiency for in-memory execution of map reduce job sequences |
US20140208169A1 (en) | 2013-01-18 | 2014-07-24 | Unisys Corporation | Domain scripting language framework for service and system integration |
US20140215471A1 (en) * | 2013-01-28 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Creating a model relating to execution of a job on platforms |
CN104050202B (zh) * | 2013-03-15 | 2019-03-15 | 伊姆西公司 | 用于搜索数据库的方法和装置 |
US9256460B2 (en) | 2013-03-15 | 2016-02-09 | International Business Machines Corporation | Selective checkpointing of links in a data flow based on a set of predefined criteria |
US9401835B2 (en) | 2013-03-15 | 2016-07-26 | International Business Machines Corporation | Data integration on retargetable engines in a networked environment |
US9323619B2 (en) | 2013-03-15 | 2016-04-26 | International Business Machines Corporation | Deploying parallel data integration applications to distributed computing environments |
US20140359624A1 (en) * | 2013-05-30 | 2014-12-04 | Hewlett-Packard Development Company, L.P. | Determining a completion time of a job in a distributed network environment |
JP2015001828A (ja) * | 2013-06-14 | 2015-01-05 | 富士通株式会社 | 割当プログラム、割当装置および割当方法 |
US9477511B2 (en) | 2013-08-14 | 2016-10-25 | International Business Machines Corporation | Task-based modeling for parallel data integration |
-
2013
- 2013-08-14 US US13/966,903 patent/US9477511B2/en not_active Expired - Fee Related
-
2014
- 2014-08-14 CN CN201480043394.7A patent/CN105453040B/zh not_active Expired - Fee Related
- 2014-08-14 WO PCT/CN2014/084354 patent/WO2015021931A1/en active Application Filing
- 2014-09-12 US US14/485,362 patent/US9477512B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236578A (zh) * | 2010-05-07 | 2011-11-09 | 微软公司 | 分布式工作流执行 |
CN102831139A (zh) * | 2011-03-25 | 2012-12-19 | 微软公司 | 用于查询计划优化以及数据并行编程模型的共同范围分区 |
Also Published As
Publication number | Publication date |
---|---|
US20150052530A1 (en) | 2015-02-19 |
US9477511B2 (en) | 2016-10-25 |
CN105453040A (zh) | 2016-03-30 |
US9477512B2 (en) | 2016-10-25 |
WO2015021931A1 (en) | 2015-02-19 |
US20150074669A1 (en) | 2015-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105453040B (zh) | 在分布式计算环境中处理数据流的方法和系统 | |
US10353913B2 (en) | Automating extract, transform, and load job testing | |
CN112866333B (zh) | 基于云原生的微服务场景优化方法、系统、设备和介质 | |
US10366112B2 (en) | Compiling extract, transform, and load job test data cases | |
US8516495B2 (en) | Domain management and integration in a virtualized computing environment | |
US10412195B2 (en) | Risk-aware service management stack transformation during workload migration | |
US20120254435A1 (en) | Placement goal-based database instance dynamic consolidation | |
US11188348B2 (en) | Hybrid computing device selection analysis | |
CN105897805A (zh) | 对多层架构的数据中心的资源进行跨层调度的方法和装置 | |
US11429440B2 (en) | Intelligent orchestration of disaggregated applications based on class of service | |
CN110661842A (zh) | 一种资源的调度管理方法、电子设备和存储介质 | |
CN113052696B (zh) | 金融业务任务处理方法、装置、计算机设备和存储介质 | |
US10469329B1 (en) | Computing service capacity management | |
CN107256167A (zh) | 应用于应用系统迁移的升级控制方法及升级控制设备 | |
US10296227B2 (en) | System and method for dynamic cache distribution for in-memory data grids | |
US20220188727A1 (en) | Predictive capacity optimizer | |
Fortuna et al. | On-premise artificial intelligence as a service for small and medium size setups | |
Prakash et al. | An efficient workflow scheduling approach in cloud computing | |
da Silva Filho et al. | Tools to support SMEs to migrate to the cloud: opportunities and challenges | |
Parnami et al. | Toward adapting metamodeling approach for legacy to cloud migration | |
US20240028408A1 (en) | Reference implementation of cloud computing resources | |
Jia | Ru Jia | |
Groenda et al. | Model integration method and supporting tooling: project deliverable D5. 1 | |
Dewangan | Smart: Self-management aware autonomic resource management technique in cloud | |
Mehta | Workload Assignment in various Heterogeneous Cloud Environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190301 |
|
CF01 | Termination of patent right due to non-payment of annual fee |