CN102236581B - 用于数据中心的映射化简方法和系统 - Google Patents

用于数据中心的映射化简方法和系统 Download PDF

Info

Publication number
CN102236581B
CN102236581B CN2010101716379A CN201010171637A CN102236581B CN 102236581 B CN102236581 B CN 102236581B CN 2010101716379 A CN2010101716379 A CN 2010101716379A CN 201010171637 A CN201010171637 A CN 201010171637A CN 102236581 B CN102236581 B CN 102236581B
Authority
CN
China
Prior art keywords
mapping
task
output result
server
abbreviation
Prior art date
Application number
CN2010101716379A
Other languages
English (en)
Other versions
CN102236581A (zh
Inventor
蔡斌
薛伟
向哲
杨博
于琦
Original Assignee
国际商业机器公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 国际商业机器公司 filed Critical 国际商业机器公司
Priority to CN2010101716379A priority Critical patent/CN102236581B/zh
Publication of CN102236581A publication Critical patent/CN102236581A/zh
Application granted granted Critical
Publication of CN102236581B publication Critical patent/CN102236581B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Abstract

公开了一种用于数据中心的映射化简方法,包括:响应于作业服务器所分配的映射任务,映射任务服务器执行映射任务以生成具有版本信息的映射输出结果,存储所生成的映射输出结果,并向作业服务器通知映射输出结果的相关信息;响应于作业服务器所分配的化简任务,化简任务服务器从映射任务服务器获取具有指定版本信息的键值名的映射输出结果,其中所获取的映射输出结果包括具有指定版本信息的映射输出结果以及具有指定版本信息之前的版本信息的历史映射输出结果,并对所获取的映射输出结果执行化简任务。此外还公开了由化简任务服务器执行的数据化简的方法以及相应的映射化简系统和化简任务服务器。

Description

用于数据中心的映射化简方法和系统
技术领域
[0001] 本发明涉及在数据中心中使用的映射化简(MapReduce)机制,具体地,涉及具有版本管理的MapReduce方法和系统。
背景技术
[0002] MapReduce机制是Google公司提出的用于分布式计算的软件架构,其可实现大规模数据集上的并行运算。概念“Map (映射)”和“Reduce (化简)”及其主要思想都是来源于函数式编程语言。当前的MapReduce中间件实现要求应用开发者指定一个Map (映射)函数以将一组键值对(key-value pair)映射成一些新的键值对(称作中间键值对),此外还要求应用开发者指定一个Reduce (化简)函数以对Map函数输出的中间键值对进行进一步处理。在Map调用中,输入数据被自动分割成M个输入数据分片,然后,这些输入数据分片被分布到多台机器上进行并行处理。在Reduce调用中,中间键值对通过分割函数按照中间键值名(key)分割成R片(例如,hash (key)mod R),并也被分布到多台机器上。分割数量R和分割函数可由用户指定。MapReduce机制通过将对大规模数据集的操作分发到网络上的多个节点来实现伸缩性。
[0003]目前,MapReduce机制被认为是构建数据中心的重要程序设计规范,已经有非常广泛的应用,典型的应用包括:分布式grep、分布式排序、web访问日志分析、反向索引构建、文档聚类、机器学习、基于统计的机器翻译等等。
[0004] 图1示出了现有的MapReduce体系结构的示意图,其中,作业服务器(JobTracker)和多个任务服务器(Task Tracker)是该MapReduce体系结构中最基本的两个服务。通常,作业服务器部署在主节点上,接收用户所提交的作业,统一调度所有的作业,管理所有的任务服务器,将用户提交的每一个作业拆分成多个任务,包括Map任务和Reduce任务等,并负责将任务分配给相应的任务服务器。任务作为具体执行的基本单元,需要被分配到合适的任务服务器上执行。多个任务服务器轮询作业服务器,以获得任务。被分配执行Map任务的任务服务器是Map任务服务器,被分配执行Reduce任务的任务服务器是Reduce任务服务器。任务服务器一边执行一边向作业服务器汇报各个任务的状态,以此帮助作业服务器了解作业执行的整体情况。
[0005] 具体地,输入文件被上传到在数据中心上部署的分布式文件系统,并根据分割规则而分成M个输入数据分片,每个片的大小一般在16到64MB的范围内。执行作业所需的程序文件也被上传到分布式文件系统,包括作业配置文件(包括Map函数、合并函数、Reduce函数等)等。当作业服务器接收到来自客户端程序的作业请求后,将作业分解为多个任务,包括M个Map任务和R个Reduce任务,并负责将Map任务或Reduce任务分配给空闲的任务服务器。
[0006] 然后,Map任务服务器根据所分配的任务,读取相应的输入数据分片,并从中分析出输入键值对。接着,Map任务服务器调用Map函数map ()以将输入键值对映射成中间键值对,Map函数所产生的中间键值对被缓存在内存中。缓存的中间键值对通过调用合并函数而对每个键值名聚集该键值名的所有值,并通过调用分割函数而被分割成R片,然后被周期性地写入本地磁盘的R个区域中。当Map任务完成后,Map任务服务器向作业服务器通知任务完成以及中间键值对在本地磁盘上的位置信息。
[0007] 当Reduce任务服务器从作业服务器获得Reduce任务后,根据位置信息从一个或多个Map任务服务器的本地磁盘上读取中间键值对,然后根据键值名对中间键值对进行排序,将相同键值名的值聚合在一起。Reduce任务服务器调用Reduce函数reduce (),对这些中间键值对进行化简,并将Reduce函数的输出添加到该Reduce任务服务器的最终输出文件中。
[0008] 当使用现有的MapReduce机制处理巨量数据集时,所涉及的开销,例如,数据计算开销、数据传送开销等,通常与输入数据集的大小成正比。因此,当输入数据集的大小增加时,上述开销也增加。另外,输入数据集的大小通常随着时间增加,例如电信领域中的呼叫详单(CDR)数据集和网站的网络日志数据集等每天增加。因此,所聚集的数据集的大小可能很快达到非常大的规模,并且继续天天增加,这将导致处理这些数据集的MapReduce作业需要更多的时间或资源。在现有的MapReduce机制中,每当数据集新增了数据时,都将重新对整个数据集进行MapReduce。然而,在很多情况下,虽然所聚集的数据集越来越大,但一天或一星期所产生的新增量可能相对较少,也就是说,受到影响的数据相对较少,这样,重新对整个数据集进行MapReduce会浪费很多不必要的时间和资源,而且随着数据集的增大,处理时间和所需的资源也增大。
发明内容
[0009] 本发明正是鉴于上述技术问题而提出的,其目的在于提供一种用于数据中心的映射化简方法和系统,其能够有效地降低每次出现新增数据时需处理的数据量,从而减少处理时间。
[0010] 根据本发明的第一 个方面,提供了一种用于数据中心的映射化简方法,其中所述数据中心包括作业服务器、映射任务服务器和化简任务服务器,所述方法包括:响应于作业服务器所分配的映射任务,映射任务服务器执行映射任务以生成具有版本信息的映射输出结果;映射任务服务器存储所生成的映射输出结果;映射任务服务器向作业服务器通知映射输出结果的相关信息;响应于作业服务器所分配的化简任务,化简任务服务器从映射任务服务器获取具有指定版本信息的键值名的映射输出结果,其中所获取的映射输出结果包括具有所述指定版本信息的映射输出结果以及具有所述指定版本信息之前的版本信息的历史映射输出结果;以及化简任务服务器对所获取的映射输出结果执行化简任务。
[0011] 根据本发明的第二个方面,提供了一种在数据中心中由化简任务服务器执行的数据化简的方法,包括:响应于作业服务器所分配的化简任务,从映射任务服务器获取具有指定版本信息的键值名的映射输出结果,其中所获取的映射输出结果包括具有所述指定版本信息的映射输出结果以及具有所述指定版本信息之前的版本信息的历史映射输出结果;以及对所获取的映射输出结果执行化简任务。
[0012] 根据本发明的第三个方面,提供了一种用于数据中心的映射化简系统,包括:作业服务器,用于指定映射任务服务器执行映射任务以及指定化简服务器执行化简任务;映射任务服务器,其包括:映射任务执行模块,用于响应于作业服务器所分配的映射任务,执行映射任务以生成具有版本信息的映射输出结果;存储模块,用于存储所生成的映射输出结果;通知模块,用于向作业服务器通知映射输出结果的相关信息;以及提供模块,用于响应于来自化简任务服务器的请求,向所述化简任务服务器提供所请求的映射输出结果;以及化简任务服务器,其包括:获取模块,用于响应于作业服务器所分配的化简任务,从映射任务服务器获取具有指定版本信息的键值名的映射输出结果,其中所获取的映射输出结果包括具有所述指定版本信息的映射输出结果以及具有所述指定版本信息之前的版本信息的历史映射输出结果;以及化简任务执行模块,用于对所获取的映射输出结果执行化简任务。
[0013] 根据本发明的第四个方面,提供了一种在数据中心中执行数据化简的化简任务服务器,包括:获取模块,用于响应于作业服务器所分配的化简任务,从映射任务服务器获取具有指定版本信息的键值名的映射输出结果,其中所获取的映射输出结果包括具有所述指定版本信息的映射输出结果以及具有所述指定版本信息之前的版本信息的历史映射输出结果;以及化简任务执行模块,用于对所获取的映射输出结果执行化简任务。
附图说明
[0014] 图1是现有的MapReduce体系结构的示意图;
[0015] 图2是根据本发明的一个实施例的用于数据中心的MapReduce方法的流程图;
[0016] 图3是图2所示实施例中Map任务服务器执行Map任务的一个例子的流程图;
[0017] 图4是图2所示实施例中Map任务服务器执行Map任务的另一个例子的流程图;
[0018] 图5是图2所不实施例中Reduce任务服务器响应于作业服务器所分配的Reduce任务而从Map任务服务器获取映射输出结果的一个例子的流程图;
[0019] 图6是图2所不实施例中 Reduce任务服务器响应于作业服务器所分配的Reduce任务而从Map任务服务器获取映射输出结果的另一个例子的流程图;
[0020] 图7是根据本发明的一个实施例的在数据中心中由Reduce任务服务器执行的数据化简的方法的流程图;
[0021] 图8是根据本发明的一个实施例的用于数据中心的MapReduce系统的示意性框图;
[0022] 图9是根据本发明的一个实施例的Map任务服务器的示意性框图;
[0023] 图10是根据本发明的一个实施例的Reduce任务服务器的示意性框图。
具体实施方式
[0024] 相信通过以下结合附图对本发明的具体实施例的详细描述,本发明的上述和其它目的、特征和优点将变得更加明显。
[0025] 图2示出了根据本发明的一个实施例的用于数据中心的MapReduce方法的流程图。下面结合附图,对本实施例进行详细描述。
[0026] 在本实施例中,数据中心可包括作业服务器、Map任务服务器和Reduce任务服务器。
[0027] 如图2所示,在步骤S201,响应于作业服务器所分配的Map任务,Map任务服务器执行该Map任务以生成具有版本信息的映射输出结果。在该步骤中,作业服务器从客户端程序接收作业请求,将作业分解成多个任务,包括M个Map任务和R个Reduce任务,并将Map任务或Reduce任务分配给空闲的任务服务器,Map任务服务器在接收到所分配的任务后开始执行Map任务。在本实施例以及随后的实施例的说明中,将主要描述版本信息仅包括版本值(即版本信息是版本值)的情况。
[0028] 图3示出了 Map任务服务器执行Map任务的一个例子的流程图。如图3所示,在步骤S301,Map任务服务器从作业服务器接收Map任务,其包括用于映射任务的输入数据分片的存储位置。接着,在步骤S302,从所指定的存储位置读取输入数据分片,存储位置可以是Map任务服务器本地,也可以是其它服务器。在步骤S303,Map任务服务器分析所读取的输入数据分片以产生一组键值对,此时,键值对的形式为〈键值名Key,键值Value〉。然后,在步骤S304,Map任务服务器向每一个键值对分配版本值Version,此时,键值对的形式变为〈Key,Value, Version〉。通过版本值可以区分输入数据分片是否是新增的数据,每当出现新增数据时,就分配新的版本值。在步骤S305,Map任务服务器使用Map函数对具有版本值的键值对进行映射操作,具体地,具有版本值的键值对被传递给用户指定的Map函数,Map函数通过对键值名Key和键值Value执行映射并保持版本值不变,形成具有版本值的中间键值对,所形成的具有版本值的中间键值对被缓存在内存中。在步骤S306,对缓存的中间键值对进行分割操作,具体地,缓存的中间键值对通过合并函数和分割函数而产生Map任务的映射输出结果,其中相同键值名的键值被聚集在一起,即映射输出结果表示为〈Key,Value 1,Version, Value 2,Version,…>。
[0029] 图4示出了 Map任务服务器执行Map任务的另一个例子的流程图,其中步骤S401、S402、S403与图3所示的例子中的步骤S301、S302、S303相同。在本例中,在步骤S404,使用Map函数对所产生的键值对进行映射操作以产生中间键值对,然后在步骤S405,向上述中间键值对分配版本值,并将具有版本值的中间键值对缓存在内存中,在步骤S406,对所缓存的具有版本值的中间键值对进行分割操作,以产生Map任务的映射输出结果。
[0030] 返回图2,在步 骤S205,Map任务服务器存储在步骤S201生成的映射输出结果。在本实施例中,Map任务服务器将映射输出结果按照版本值以及相关联的Reduce任务服务器(可使用在R个Reduce任务中的索引标识)存储在本地硬盘的相应存储区域中。在所有的Map任务服务器中,相同键值名的映射输出结果都与同一个Reduce任务服务器相关联。当然,本领域的普通技术人员能够理解,除了按照版本值和相关联的Reduce任务服务器进行存储之外,还可以采用其它方式存储映射输出结果。
[0031] 然后,在步骤S210,Map任务服务器向作业服务器通知映射输出结果的相关信息。在本实施例中,映射输出结果的相关信息可包括作业序号、映射任务序号和版本信息。进一步地,相关信息还可以包括键值名集合,即本次Map任务所涉及的键值名的集合。Map任务服务器在所分配的Map任务完成后,通知作业服务器任务完成,并将映射输出结果的相关信息传送给作业服务器,以便作业服务器提供给Reduce任务服务器。Map任务服务器在将键值名集合传输给作业服务器之前,可以使用布隆过滤器(Bloom Filter)处理这些键值名,从而能够节省存储空间。Bloom过滤器对于本领域的普通技术人员来说是已知的,在此省略其描述。
[0032] 在步骤S215,响应于作业服务器所分配的Reduce任务,Reduce任务服务器从Map任务服务器获取具有指定版本值的键值名的映射输出结果,其中所获取的映射输出结果包括具有指定版本值的映射输出结果以及具有指定版本值之前的版本值的历史映射输出结果。在本实施例中,Reduce任务服务器与Map任务服务器之间的通信是基于拉(pull)模型的。在本步骤中,作业服务器在知道所有的Map任务完成后,通知Reduce任务服务器开始执行Reduce任务。
[0033] 图5不出了 Reduce任务服务器响应于作业服务器所分配的Reduce任务而从Map任务服务器获取映射输出结果的一个例子的流程图,该例子适用于相关信息包括作业序号、映射任务序号和版本值的情况。如图5所示,在步骤S501,RedUCe任务服务器从作业服务器接收Reduce任务,该Reduce任务包括指定版本值。指定版本值可用于限定Reduce任务所需的映射输出结果的范围。接着,在步骤S502,Reduce任务服务器向所有的Map任务服务器请求映射输出结果,其中该请求包括指定版本值。Map任务服务器在接收到上述关于映射输出结果的请求之后,在步骤S503,根据指定版本值和该Reduce任务服务器的身份从相关联的本地存储区域查找映射输出结果。然后,在步骤S504,Map任务服务器将所找到的映射输出结果传输到Reduce任务服务器。Reduce任务服务器在接收到所传输的具有指定版本值的映射输出结果之后,在步骤S505,从所接收的映射输出结果中提取键值名,这些键值名即是将要执行的Reduce任务所要处理的键值名。接着,在步骤S506,基于所提取的键值名,Reduce任务服务器向所有映射任务服务器请求这些键值名的指定版本值之前的历史映射输出结果。Map任务服务器在接收了关于键值名的历史映射输出结果的请求之后,在步骤S507,查找这些键值名的历史映射输出结果,并在步骤S508,将所查找的历史映射输出结果传输到Reduce任务服务器,Reduce任务服务器接收这些历史映射输出结果,并可选地,按照键值名,将历史映射输入结果与先前接收的具有指定版本值的映射输出结果合并。在图5所示的例子中,Reduce任务服务器通过两次拉操作,获得了所需的映射输出结果。
[0034] 图6示出了 Reduce任务服务器从Map任务服务器获取映射输出结果的另一个例子的流程图,该例子适用于相关信息包括作业序号、映射任务序号、版本值和键值名集合的情况。如图6所示,在步骤S601,ReduCe任务服务器从作业服务器接收化简任务,其包括指定版本值和指定键值名集合。指定键值名集合表明了所分配的Reduce任务所要处理的键值名。接着,在步骤S602,Reduce任务服务器向所有的Map任务服务器发送对映射输出结果的请求,其中该请求包括上述指定版本值和指定键值名集合。Map任务服务器在接收到关于映射输出结果的请求之后,在步骤S603,查找指定键值名集合中所有键值名的映射输出结果,其中各键值名的映射输出结果包括该键值名的具有指定版本值的映射输出结果和具有指定版本值之前的版本值的历史映射输出结果,并在步骤S604,向Reduce任务服务器传输所查找的映射输出结果,Reduce任务服务器接收来自Map任务服务器的映射输出结果。在图6所示的例子中,由于作业服务器指定了 Reduce任务所需的键值名集合,因此,Reduce任务服务器只需一次拉操作就可以获得所需的映射输出结果。
[0035] 在该例子中,如果Map任务服务器在向作业服务器通知相关信息时使用Bloom过滤器对键值名集合进行了处理,那么Map任务服务器在接收到请求后,也使用Bloom过滤器判断其是否存储有键值名集合中的键值名的映射输出结果。
[0036] 返回图2,在步骤S220,Reduce任务服务器对所获取的映射输出结果执行Reduce任务。在该步骤中,Reduce任务服务器对所获取的映射数据结果进行排序,以使具有相同键值名(key)的映射输出结果聚集在一起,这样排序后的每个键值名的映射输出结果可包括来自不同Map任务服务器的该键值名的具有 指定版本值的映射输出结果以及具有指定版本值之前的版本值的历史映射输出结果。然后,Reduce任务服务器使用Reduce函数对排序后的映射输出结果进行化简操作,即排序后的映射输出结果被传递给Reduce函数,Reduce函数所产生的输出被添加到最终输出文件中。然后,当Reduce任务完成后,Reduce任务服务器通知作业服务器Reduce任务完成。
[0037] 通过以上描述可以看出,本实施例的方法通过引入版本信息(例如版本值等)以区分是否出现新增数据,而且Reduce任务服务器从Map映射服务器仅获取受到新增数据影响的中间键值对并进行Reduce操作,而不获取其它未受到影响的中间键值对,从而有效地减少了出现新增数据时需要处理的键值对的量和资源,进而减少处理的延迟。
[0038] 在同一个发明构思下,图7示出了根据本发明的一个实施例的在数据中心中由Reduce任务服务器执行的数据化简的方法的流程图。本实施例的方法是图2所示的实施例的MapReduce方法中Reduce任务服务器所执行的部分,因此,对于其中相同的部分,适当省略其说明。
[0039] 如图7所示,在步骤S701,响应于作业服务器所分配的Reduce任务,Reduce任务服务器从Map任务服务器获取具有指定版本值的键值名的映射输出结果,所获取的映射输出结果包括具有指定版本值的映射输出结果以及具有指定版本值之前的版本值的历史映射输出结果。
[0040] 当Reduce任务服务器从作业服务器接收的化简任务包括指定版本值时,则Reduce任务服务器向所有Map任务服务器请求映射输出结果,其中该请求包括上述指定版本值,然后从Map任务服务器接收具有指定版本值且与该Reduce任务服务器相关联的映射输出结果,并从这些映射输出结果中提取键值名。如前所述,所提取的键值名是随后执行的Reduce任务所处理的键值名。然后,Reduce任务服务器向所有的Map任务服务器请求所提取的键值名的指定版本值之前的历史映射输出结果,并从Map任务服务器接收这些键值名的历史映射输出结果。
[0041] 当Reduce任务 服务器从作业服务器接收的化简任务包括指定版本值和指定键值名集合时,Reduce任务服务器向所有的Map任务服务器请求映射输出结果,其中该请求包括上述指定版本值和指定键值名集合,然后,Reduce任务服务器从Map任务服务器接收指定键值名集合中的所有键值名的映射输出结果,其中各键值名的映射输出结果包括该键值名的具有指定版本值的映射输出结果和具有指定版本值之前的版本值的历史映射输出结果。
[0042] 接着,在步骤S705,Reduce任务服务器对所获取的映射输出结果执行化简任务。具体地,Reduce任务服务器对所获取的映射数据结果进行排序,以使具有相同键值名的映射输出结果聚集在一起,然后,使用Reduce函数对排序后的映射输出结果进行Reduce操作。
[0043] 在同一个发明构思下,图8示出了根据本发明的一个实施例的用于数据中心的MapReduce系统800的示意性框图。下面参照附图,对本实施例进行详细描述,其中与前面实施例相同的部分,适当省略其说明。
[0044] 如图8所示,本实施例的MapReduce系统800包括作业服务器801、多个Map任务服务器802和多个Reduce任务服务器803。Map任务服务器802进一步包括:Map任务执行模块8021,其响应于作业服务器801所分配的Map任务,执行Map任务以生成具有版本值的映射输出结果;存储模块8022,其存储由Map任务执行模块8021所生成的映射输出结果;通知模块8023,其向作业服务器801通知映射输出结果的相关信息;以及提供模块8024,其响应于来自Reduce任务服务器803的请求,向Reduce任务服务器803提供所请求的映射输出结果。Reduce任务服务器803进一步包括:获取模块8031,其响应于作业服务器801所分配的Reduce任务,从Map任务服务器802获取具有指定版本值的键值名的映射输出结果,所获取的映射输出结果包括具有指定版本值的映射输出结果以及具有指定版本值之前的版本值的历史映射输出结果;以及Reduce任务执行模块8032,其对所获取的映射输出结果执行Reduce任务。
[0045] 应当指出,本实施例的MapReduce系统800在操作上能够实现如图2所示的用于数据中心的MapReduce方法。
[0046] 图9进一步示出了 Map任务服务器802的示意性框图,其中版本信息包括版本值。如图9所示,在Map任务执行模块8021中,任务接收单元901从作业服务器801接收Map任务,在Map任务中指示了用于Map任务的输入数据分片的存储位置。接着,数据读取单元902从所指定的存储位置读取输入数据分片,并提供给分析单元903进行分析,以产生键值对,再由版本管理单元904向分析单元903所生成的键值对分配版本值。然后,具有版本值的键值对被传送到Map单元905,以通过Map函数进行映射操作,从而产生中间键值对。最后,分割单元906对所产生的中间键值对进行分割操作以产生Map任务的映射输出结果。
[0047] 在另一个实施例中,Map任务执行模块8021中的版本管理单元904向由Map单元905进行了 Map操作后输出的中间键值对分配版本值。
[0048] Map任务执行模块8021输出的映射输出结果被存储在存储模块8022中。在本实施例中,存储模块8022被配置为按照版本值和相关联的Reduce任务服务器803存储映射输出结果。当然,本领域的普通技术人员能够理解,除了这种方式外,存储模块8022还可以采用其它方式存储映射输出结果。当Map任务完成后,通知模块8023通知作业服务器SOlMap任务完成,并且向其传送映射输出结果的相关信息。如前所述,相关信息可以包括作业序号、映射任务序号和版本信息,另外,还可以进一步包括键值名集合。
[0049] 当相关信息包括作业序号、映射任务序号和版本值时,当Reduce任务服务器803向Map任务服务器802请求映射输出结果时,在提供模块8024中,请求接收单元911接收到该请求,其包括指定版本值。然后,查找单元912根据指定版本值和发出请求的Reduce任务服务器803的身份,从Map任务服务器802本地相关联的区域查找相应的映射输出结果,并将其通过传输单元913传输到Reduce任务服务器803。然后,请求接收单元911再次从Reduce任务服务器803接收关于键值名的指定版本值之前的历史映射输出结果的请求,并由查找单元912查找这些键值名的历史映射输出结果,然后通过传输单元913向Reduce任务服务器803传输这些历史映射输出结果。
[0050] 另外,当相关信息包括作业序号、映射任务序号、版本值和键值名集合时,当Reduce任务服务器803向Map任务服务器802请求映射输出结果时,在提供模块8024中,请求接收单元911接收到关于映射输出结果的请求,其中该请求包括指定版本值和指定键值名集合,然后,查找 单元912查找指定键值名集合中所有键值名的映射输出结果,其中各键值名的映射输出结果包括该键值名的具有指定版本值的映射输出结果和具有指定版本值之前的版本值的历史映射输出结果,并由传输单元913将这些映射输出结果传输到Reduce任务服务器803。
[0051] 图10进一步示出了 Reduce任务服务器803的示意性框图。如图10所示,在获取模块8031中,任务接收单元1001从作业服务器801接收Reduce任务。当所接收的Reduce任务包括指定版本值时,请求单元1002向Map任务服务器802请求映射输出结果,其中该请求包括该指定版本值,然后,由映射输出结果接收单元1003接收具有该指定版本值的映射输出结果,接着提取单元1004从这些映射输出结果中提取键值名,并通过请求单元1002向所有Map任务服务器802请求这些键值名的指定版本值之前的历史映射输出结果,再由映射输出结果接收单元1003从Map任务服务器802接收这些键值名的历史映射输出结果。当所接收的Reduce任务包括指定版本值和指定键值名集合时,请求单元1002向Map任务服务器802请求映射输出结果,其中该请求包括上述指定版本值和指定键值名集合,然后映射输出结果接收单元1003从Map任务服务器802接收指定键值名集合中所有键值名的映射输出结果,其中各键值名的映射输出结果包括该键值名的具有指定版本值的映射输出结果和具有指定版本值之前的版本值的历史映射输出结果。
[0052] 然后,在Reduce任务执行模块8032中,排序单元1011对获取模块8031所获取的映射数据结果进行排序,以致具有相同键值名的映射输出结果聚集在一起,然后由Reduce单元1012使用Reduce函数对这些排序后的映射输出结果进行Reduce操作。
[0053] 应当指出,本 实施例的Reduce任务服务器803在操作上能够实现如图7所示的在数据中心中由Reduce任务服务器执行的数据化简的方法。
[0054] 以上所公开的实施例的用于数据中心的MapReduce方法和在数据中心中由Reduce任务服务器执行的数据化简的方法可以在软件、硬件、或软件和硬件的结合中实现。硬件部分可以利用专用逻辑来实现。例如,上述实施例中的MapReduce系统、Reduce任务服务器及其各个组成部分可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器、个人计算机(PC)或大型机来执行。
[0055] 以上虽然通过示例性的实施例详细描述了本发明的用于数据中心的MapReduce方法和系统以及在数据中心中由Reduce任务服务器执行的数据化简的方法和Reduce任务服务器,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附的权利要求限定。

Claims (26)

1.一种用于数据中心的映射化简方法,其中所述数据中心包括作业服务器、映射任务服务器和化简任务服务器,所述方法包括: 响应于作业服务器所分配的映射任务,映射任务服务器执行映射任务以生成具有版本信息的映射输出结果; 映射任务服务器存储所生成的映射输出结果; 映射任务服务器向作业服务器通知映射输出结果的相关信息; 响应于作业服务器所分配的化简任务,化简任务服务器从映射任务服务器获取具有指定版本信息的键值名的映射输出结果,其中所获取的映射输出结果包括具有所述指定版本信息的映射输出结果以及具有所述指定版本信息之前的版本信息的历史映射输出结果;以及 化简任务服务器对所获取的映射输出结果执行化简任务。
2.根据权利要求1所述的方法,其中,所述版本信息包括版本值。
3.根据权利要求2所述的方法,其中,响应于作业服务器所分配的映射任务,映射任务服务器执行映射任务 以生成具有版本信息的映射输出结果的步骤包括: 从作业服务器接收映射任务,所述映射任务包括用于映射任务的输入数据分片的存储位置; 从所述存储位置读取所述输入数据分片; 分析所述输入数据分片以产生键值对; 向所述键值对分配版本值; 使用映射函数对具有版本值的键值对进行映射操作,以产生具有版本值的中间键值对;以及 对所述中间键值对进行分割操作,以产生所述映射输出结果。
4.根据权利要求2所述的方法,其中,响应于作业服务器所分配的映射任务,映射任务服务器执行映射任务以生成具有版本信息的映射输出结果的步骤包括: 从作业服务器接收映射任务,所述映射任务包括用于映射任务的输入数据分片的存储位置; 从所述存储位置读取所述输入数据分片; 分析所述输入数据分片以产生键值对; 使用映射函数对所产生的键值对进行映射操作,以生成中间键值对; 向所述中间键值对分配版本值;以及 对具有版本值的中间键值对进行分割操作,以产生所述映射输出结果。
5.根据权利要求1至4任意一项所述的方法,其中,所述相关信息包括:作业序号、映射任务序号和所述版本信息。
6.根据权利要求5所述的方法,其中,响应于作业服务器所分配的化简任务,化简任务服务器从映射任务服务器获取具有指定版本信息的键值名的映射输出结果的步骤包括: 化简任务服务器从作业服务器接收包括指定版本值的化简任务,并向映射任务服务器请求具有所述指定版本值的映射输出结果; 响应于接收上述关于映射输出结果的请求,所述映射任务服务器查找具有所述指定版本值且与所述化简任务服务器相关联的映射输出结果,并向所述化简任务服务器传输所查找的映射输出结果; 所述化简任务服务器接收所传输的映射输出结果,从所接收的映射输出结果中提取键值名,并向所述映射任务服务器请求所提取的键值名的所述指定版本值之前的历史映射输出结果; 响应于接收上述关于所提取的键值名的所述指定版本值之前的历史映射输出结果的请求,所述映射任务服务器查找所述键值名的历史映射输出结果,并将所述历史映射输出结果传输到所述化简任务服务器;以及 所述化简任务服务器接收所述历史映射输出结果。
7.根据权利要求5所述的方法,其中,所述相关信息还包括:键值名集合。
8.根据权利要求7所述的方法,其中,响应于作业服务器所分配的化简任务,化简任务服务器从映射任务服务器获取具有指定版本信息的键值名的具有映射输出结果的步骤包括: 化简任务服务器从作业服务器接收包括指定版本值和指定键值名集合的化简任务,并向映射任务服务器请求映射输出结果,其中该请求包括所述指定版本值和所述指定键值名集合; 响应于接收上述关于映射输出结果的请求,所述映射任务服务器查找所述指定键值名集合中所有键值名的映射输出结果,其中所查找的各键值名的映射输出结果包括该键值名的具有所述指定版本值的映射输出结果以及具有所述指定版本值之前的版本值的历史映射输出结果,并向所述化简任务服务器传输所查找的映射输出结果;以及 所述化简任务服务器从所述映射任务服务器接收所传输的映射输出结果。
9.根据权利 要求1至4任意一项所述的方法,其中,化简任务服务器对所获取的映射输出结果执行化简任务的步骤包括: 对所获取的映射数据结果进行排序,以致具有相同键值名的映射输出结果聚集在一起;以及 使用化简函数对排序后的映射输出结果进行化简操作。
10.一种在数据中心由化简任务服务器执行的数据化简的方法,包括: 响应于作业服务器所分配的化简任务,从映射任务服务器获取具有指定版本信息的键值名的映射输出结果,其中所获取的映射输出结果包括具有所述指定版本信息的映射输出结果以及具有所述指定版本信息之前的版本信息的历史映射输出结果;以及 对所获取的映射输出结果执行化简任务。
11.根据权利要求10所述的方法,其中,响应于作业服务器所分配的化简任务,从映射任务服务器获取具有指定版本信息的键值名的具有映射输出结果的步骤包括: 从作业服务器接收包括指定版本值的化简任务; 向映射任务服务器请求具有所述指定版本值的映射输出结果; 从所述映射任务服务器接收具有所述指定版本值且与所述化简任务服务器相关联的映射输出结果; 从所接收的映射输出结果中提取键值名; 向所述映射任务服务器请求所提取的键值名的所述指定版本值之前的历史映射输出结果;以及从所述映射任务服务器接收所述键值名的所述指定版本值之前的历史映射输出结果。
12.根据权利要求10所述的方法,其中,响应于作业服务器所分配的化简任务,从映射任务服务器获取具有指定版本信息的键值名的具有映射输出结果的步骤包括: 从作业服务器接收包括指定版本值和指定键值名集合的化简任务; 向映射任务服务器请求映射输出结果,其中该请求包括所述指定版本值和所述指定键值名集合;以及 从所述映射任务服务器接 收所述指定键值名集合中所有键值名的的映射输出结果,其中所查找的各键值名的映射输出结果包括该键值名的具有所述指定版本值的映射输出结果以及具有所述指定版本值之前的版本值的历史映射输出结果。
13.根据权利要求10至12任意一项所述的方法,其中,对所获取的映射输出结果执行化简任务的步骤包括: 对所获取的映射数据结果进行排序,以致具有相同键值名的映射输出结果聚集在一起;以及 使用化简函数对排序后的映射输出结果进行化简操作。
14.一种用于数据中心的映射化简系统,包括: 作业服务器,用于指定映射任务服务器执行映射任务以及指定化简服务器执行化简任务; 映射任务服务器,其包括: 映射任务执行模块,用于响应于作业服务器所分配的映射任务,执行映射任务以生成具有版本信息的映射输出结果; 存储模块,用于存储所生成的映射输出结果; 通知模块,用于向作业服务器通知映射输出结果的相关信息;以及提供模块,用于响应于来自化简任务服务器的请求,向所述化简任务服务器提供所请求的映射输出结果;以及 化简任务服务器,其包括: 获取模块,用于响应于作业服务器所分配的化简任务,从映射任务服务器获取具有指定版本信息的键值名的映射输出结果,其中所获取的映射输出结果包括具有所述指定版本信息的映射输出结果以及具有所述指定版本信息之前的版本信息的历史映射输出结果;以及 化简任务执行模块,用于对所获取的映射输出结果执行化简任务。
15.根据权利要求14所述的系统,其中,所述版本信息包括版本值。
16.根据权利要求15所述的系统,其中,所述映射任务执行模块包括: 任务接收单元,用于从作业服务器接收映射任务,所述映射任务包括用于映射任务的输入数据分片的存储位置; 数据读取单元,用于从所述存储位置读取所述输入数据分片; 分析单元,用于分析所述输入数据分片以产生键值对; 版本管理单元,用于向所述键值对分配版本值; 映射单元,用于使用映射函数对具有版本值的键值对进行映射操作,以产生具有版本值的中间键值对;以及分割单元,用于对所述中间键值对进行分割操作,以产生所述映射输出结果。
17.根据权利要求15所述的系统,其中,所述映射任务执行模块包括: 任务接收单元,用于从作业服务器接收映射任务,所述映射任务包括用于映射任务的输入数据分片的存储位置; 数据读取单元,用于从所述存储位置读取所述输入数据分片; 分析单元,用于分析所述输入数据分片以产生键值对; 映射单元,用于使用映射函数对所产生的键值对进行映射操作,以生成中间键值对; 版本管理单元,用于向所述中间键值对分配版本值;以及 分割单元,用于对具有版本值的中间键值对进行分割操作,以产生所述映射输出结果。
18.根据权利要求14至17任意一项所述的系统,其中,所述相关信息包括:作业序号、映射任务序号和所述版本信息。
19.根据权利要求18所述的系统,其中,所述获取模块包括: 任务接收单元,用于从作业服务器接收包括指定版本值的化简任务; 请求单元,用于向映射任务服务器请求具有所述指定版本值的映射输出结果,以及向映射任务服务器请求键值名的所述指定版本值之前的历史映射输出结果; 映射输出结果接收单元,用于从所述映射任务服务器接收具有所述指定版本值且与所述化简任务服务器相关联的映射输出结果,以及从所述映射任务服务器接收所述键值名的所述指定版本值之前的历史映射输出结果; 提取单元,用于从具有所述指定版本值且与所述化简任务服务器相关联的映射输出结果中提取所述键值名; 其中,所述提供模块包括: 请求接收单元,用于从所述化简任务服务器接收关于具有所述指定版本值的映射输出结果的请求,以及从所述化简任务服务器接收关于键值名的所述指定版本值之前的历史映射输出结果的请求; 查找单元,用于查找具有所述指定版本值且与所述化简任务服务器相关联的映射输出结果,以及查找所述键值名的所述指定版本值之前的历史映射输出结果;以及 传输单元,用于向所述化简任务服务器传输具有所述指定版本值且与所述化简任务服务器相关联的映射输出结果,以及向所述化简任务服务器传输所述键值名的所述指定版本值之前的历史映射输出结果。
20.根据权利要求18所述的系统,其中,所述相关信息还包括:键值名集合。
21.根据权利要求20所述的系统,其中,所述获取模块包括: 任务接收单元,用于从作业服务器接收包括指定版本值和指定键值名集合的化简任务; 请求单元,用于向映射任务服务器请求映射输出结果,其中该请求包括所述指定版本值和所述指定键值名集合; 映射输出结果接收单元,用于从所述映射任务服务器接收所传输的映射输出结果; 其中,所述提供模块包括: 请求接收单元,用于从所述化简任务服务器接收上述关于映射输出结果的请求,其中该请求包括所述指定版本值和所述指定键值名集合;查找单元,用于查找所述指定键值名集合中所有键值名的映射输出结果,其中所查找的各键值名的映射输出结果包括该键值名的具有所述指定版本值的映射输出结果以及具有所述指定版本值之前的版本值的历史映射输出结果;以及 传输单元,用于向所述化简任务服务器传输所查找的映射输出结果。
22.根据权利要求14至17任意一项所述的系统,其中,所述化简任务执行模块包括: 排序单元,用于对所获取的映射数据结果进行排序,以致具有相同键值名的映射输出结果聚集在一起;以及 化简单元,用于使用化简函数对排序后的映射输出结果进行化简操作。
23.一种在数据中心执行数据化简的化简任务服务器,包括: 获取模块,用于响应于作业服务器所分配的化简任务,从映射任务服务器获取具有指定版本信息的键值名的映射输出结果,其中所获取的映射输出结果包括具有所述指定版本信息的映射输出结果以及具有所述指定版本信息之前的版本信息的历史映射输出结果;以及 化简任务执行模块,用于对所获取的映射输出结果执行化简任务。
24.根据权利要求23所述的化简任务服务器,其中,所述获取模块包括: 任务接收单元,用于从作业服务器接收包括指定版本值的化简任务; 请求单元,用于向映射任务服务器请求具有所述指定版本值的映射输出结果,以及向映射任务服务器请求键值名的所述指定版本值之前的历史映射输出结果; 映射输出结果接收单元,用于从所述映射任务服务器接收具有所述指定版本值且与所述化简任务服务器相关联的映射输出结果,以及从所述映射任务服务器接收所述键值名的所述指定版本值之前的历史映射输出结果;以及 提取单元,用于从具有所述指定版本值且与所述化简任务服务器相关联的映射输出结果中提取所述键值名。
25.根据权利要求23所述的化简任务服务器,其中,所述获取模块包括: 任务接收单元,用于从作业服务器接收包括指定版本值和指定键值名集合的化简任务; 请求单元,用于向映射任务服务器请求映射输出结果,其中该请求包括所述指定版本值和所述指定键值名集合;以及 映射输出结果接收单元,用于从所述映射任务服务器接收所述指定键值名集合中所有键值名的映射输出结果,其中所查找的各键值名的映射输出结果包括该键值名的具有所述指定版本值的映射输出结果以及具有所述指定版本值之前的版本值的历史映射输出结果。
26.根据权利要求23至25任意一项所述的化简任务服务器,其中,所述化简任务执行模块包括: 排序单元,用于 对所接收的映射数据结果进行排序,以致具有相同键值名的映射输出结果聚集在一起;以及 化简单元,用于使用化简函数对排序后的映射输出结果进行化简操作。
CN2010101716379A 2010-04-30 2010-04-30 用于数据中心的映射化简方法和系统 CN102236581B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101716379A CN102236581B (zh) 2010-04-30 2010-04-30 用于数据中心的映射化简方法和系统

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN2010101716379A CN102236581B (zh) 2010-04-30 2010-04-30 用于数据中心的映射化简方法和系统
EP11718685A EP2564318A1 (en) 2010-04-30 2011-04-20 Data center operation
PCT/EP2011/056370 WO2011134875A1 (en) 2010-04-30 2011-04-20 Data center operation
US13/643,595 US9378053B2 (en) 2010-04-30 2011-04-20 Generating map task output with version information during map task execution and executing reduce tasks using the output including version information
US15/150,902 US10114682B2 (en) 2010-04-30 2016-05-10 Method and system for operating a data center by reducing an amount of data to be processed
US16/106,917 US10831562B2 (en) 2010-04-30 2018-08-21 Method and system for operating a data center by reducing an amount of data to be processed

Publications (2)

Publication Number Publication Date
CN102236581A CN102236581A (zh) 2011-11-09
CN102236581B true CN102236581B (zh) 2013-08-14

Family

ID=44263053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101716379A CN102236581B (zh) 2010-04-30 2010-04-30 用于数据中心的映射化简方法和系统

Country Status (4)

Country Link
US (3) US9378053B2 (zh)
EP (1) EP2564318A1 (zh)
CN (1) CN102236581B (zh)
WO (1) WO2011134875A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236581B (zh) * 2010-04-30 2013-08-14 国际商业机器公司 用于数据中心的映射化简方法和系统
US8640137B1 (en) 2010-08-30 2014-01-28 Adobe Systems Incorporated Methods and apparatus for resource management in cluster computing
JP5888336B2 (ja) * 2011-10-06 2016-03-22 富士通株式会社 データ処理方法、分散処理システムおよびプログラム
US9201690B2 (en) 2011-10-21 2015-12-01 International Business Machines Corporation Resource aware scheduling in a distributed computing environment
US9747127B1 (en) * 2012-03-30 2017-08-29 EMC IP Holding Company LLC Worldwide distributed job and tasks computational model
CN102426609B (zh) * 2011-12-28 2013-02-13 厦门市美亚柏科信息股份有限公司 一种基于MapReduce编程架构的索引生成方法和装置
CN103186416B (zh) * 2011-12-29 2016-06-22 比亚迪股份有限公司 构建多任务多分支过程的方法、状态机及执行方法
US8924977B2 (en) * 2012-06-18 2014-12-30 International Business Machines Corporation Sequential cooperation between map and reduce phases to improve data locality
CN102970158B (zh) * 2012-11-05 2017-02-08 广东睿江云计算股份有限公司 日志存储与处理的方法及日志服务器
CN103078941B (zh) * 2012-12-31 2016-01-20 中金数据系统有限公司 一种分布式计算系统的任务调度方法
US9354938B2 (en) 2013-04-10 2016-05-31 International Business Machines Corporation Sequential cooperation between map and reduce phases to improve data locality
CN104216684B (zh) * 2013-06-04 2017-05-31 阿里巴巴集团控股有限公司 一种多核并行系统及其数据处理方法
US9342355B2 (en) 2013-06-20 2016-05-17 International Business Machines Corporation Joint optimization of multiple phases in large data processing
CN103327128A (zh) * 2013-07-23 2013-09-25 百度在线网络技术(北京)有限公司 用于MapReduce的中间数据传输方法及系统
CN104346380B (zh) * 2013-07-31 2018-03-09 华为技术有限公司 基于MapReduce模型的数据排序方法和系统
US10326824B2 (en) * 2013-12-17 2019-06-18 Excalibur Ip, Llc Method and system for iterative pipeline
CN104036039B (zh) * 2014-06-30 2017-09-29 浪潮(北京)电子信息产业有限公司 一种数据的并行处理方法和系统
CN106202092B (zh) 2015-05-04 2020-03-06 阿里巴巴集团控股有限公司 数据处理的方法及系统
CN106844288A (zh) 2015-12-07 2017-06-13 阿里巴巴集团控股有限公司 一种随机字符串生成方法及装置
EP3376372A4 (en) * 2015-12-31 2018-12-26 Huawei Technologies Co., Ltd. Data processing method, device, and system
US10462220B2 (en) 2016-09-16 2019-10-29 At&T Mobility Ii Llc Cellular network hierarchical operational data storage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183368A (zh) * 2007-12-06 2008-05-21 华南理工大学 联机分析处理中分布式计算及查询海量数据的方法和系统
WO2009059377A1 (en) * 2007-11-09 2009-05-14 Manjrosoft Pty Ltd Software platform and system for grid computing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8630973B2 (en) 2004-05-03 2014-01-14 Sap Ag Distributed processing system for calculations based on objects from massive databases
US7650331B1 (en) * 2004-06-18 2010-01-19 Google Inc. System and method for efficient large-scale data processing
US7590620B1 (en) * 2004-06-18 2009-09-15 Google Inc. System and method for analyzing data records
US7756919B1 (en) * 2004-06-18 2010-07-13 Google Inc. Large-scale data processing in a distributed and parallel processing enviornment
TWI317909B (en) * 2004-09-10 2009-12-01 Hon Hai Prec Ind Co Ltd System and method for mould production scheduling
US20070220026A1 (en) 2006-03-17 2007-09-20 Microsoft Corporation Efficient caching for large scale distributed computations
US20080046862A1 (en) * 2006-08-18 2008-02-21 Juergen Sattler Business task management
US7523123B2 (en) * 2006-11-16 2009-04-21 Yahoo! Inc. Map-reduce with merge to process multiple relational datasets
AU2008213820B2 (en) * 2007-02-06 2013-09-05 Reneo, Inc. A resource tracking method and apparatus
US8943057B2 (en) * 2007-12-12 2015-01-27 Oracle America, Inc. Method and system for distributed bulk matching and loading
US8726290B2 (en) * 2008-06-12 2014-05-13 Yahoo! Inc. System and/or method for balancing allocation of data among reduce processes by reallocation
US8682998B2 (en) * 2008-10-31 2014-03-25 Software Ag Method and server cluster for map reducing flow services and large documents
US8832173B2 (en) * 2009-01-20 2014-09-09 Sap Ag System and method of multithreaded processing across multiple servers
US8713038B2 (en) * 2009-04-02 2014-04-29 Pivotal Software, Inc. Integrating map-reduce into a distributed relational database
US8510538B1 (en) * 2009-04-13 2013-08-13 Google Inc. System and method for limiting the impact of stragglers in large-scale parallel data processing
CN102236581B (zh) 2010-04-30 2013-08-14 国际商业机器公司 用于数据中心的映射化简方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009059377A1 (en) * 2007-11-09 2009-05-14 Manjrosoft Pty Ltd Software platform and system for grid computing
CN101183368A (zh) * 2007-12-06 2008-05-21 华南理工大学 联机分析处理中分布式计算及查询海量数据的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑启龙,房明,汪胜,王向前,吴晓伟,王昊.基于MapReduce模型的并行科学计算.《微电子学与计算机》.2009,第26卷(第8期), *

Also Published As

Publication number Publication date
US10831562B2 (en) 2020-11-10
US20130104135A1 (en) 2013-04-25
US20160253220A1 (en) 2016-09-01
US20180357111A1 (en) 2018-12-13
US9378053B2 (en) 2016-06-28
EP2564318A1 (en) 2013-03-06
US10114682B2 (en) 2018-10-30
WO2011134875A1 (en) 2011-11-03
CN102236581A (zh) 2011-11-09

Similar Documents

Publication Publication Date Title
US10320623B2 (en) Techniques for tracking resource usage statistics per transaction across multiple layers of protocols
US10078650B2 (en) Hierarchical diff files
CN104573115B (zh) 支持多类型数据库操作的集成接口的实现方法及系统
US10606711B2 (en) Recovery strategy for a stream processing system
CN105138592B (zh) 一种基于分布式架构的日志数据存储和检索方法
US9367601B2 (en) Cost-based optimization of configuration parameters and cluster sizing for hadoop
US20180089312A1 (en) Multi-layer partition allocation for query execution
US20190163539A1 (en) Managing Resource Allocation in a Stream Processing Framework
US10402424B1 (en) Dynamic tree determination for data processing
US10726009B2 (en) Query processing using query-resource usage and node utilization data
US20190155646A1 (en) Providing strong ordering in multi-stage streamng processing
Schultz-Møller et al. Distributed complex event processing with query rewriting
US9842000B2 (en) Managing processing of long tail task sequences in a stream processing framework
US8918365B2 (en) Dedicating disks to reading or writing
CN100531055C (zh) 数据同步系统及其方法
US7624118B2 (en) Data processing over very large databases
RU2343537C2 (ru) Компьютерный поиск с помощью ассоциативных связей
US20140351233A1 (en) System and method for continuous analytics run against a combination of static and real-time data
US20190147086A1 (en) Generating a subquery for an external data system using a configuration file
Elgazzar et al. Clustering wsdl documents to bootstrap the discovery of web services
US20170083368A1 (en) Maintaining throughput of a stream processing framework while increasing processing load
US20190138641A1 (en) Subquery generation based on a data ingest estimate of an external data system
CN100462979C (zh) 分布式索引文件的检索方法、检索系统及检索服务器
CN101802815B (zh) 数据-驱动同步
JP4839585B2 (ja) 資源情報収集配信方法およびシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant