CN109101188A - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- CN109101188A CN109101188A CN201711168741.0A CN201711168741A CN109101188A CN 109101188 A CN109101188 A CN 109101188A CN 201711168741 A CN201711168741 A CN 201711168741A CN 109101188 A CN109101188 A CN 109101188A
- Authority
- CN
- China
- Prior art keywords
- node
- reduce
- map
- map processing
- processing result
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 277
- 238000000034 method Methods 0.000 claims abstract description 34
- 239000000872 buffer Substances 0.000 claims description 50
- 238000004891 communication Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 21
- 241001269238 Data Species 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- YREOLPGEVLLKMB-UHFFFAOYSA-N 3-methylpyridin-1-ium-2-amine bromide hydrate Chemical compound O.[Br-].Cc1ccc[nH+]c1N YREOLPGEVLLKMB-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种数据处理方法和装置,该方法包括:从子数据集中获取多个待处理数据;对所述多个待处理数据分别进行Map处理,得到多个Map处理结果;针对得到的每个Map处理结果,将所述Map处理结果发送给对应的Reduce节点,以使所述Reduce节点根据Map处理结果进行Reduce处理。通过本申请的技术方案,Map节点得到Map处理结果后,将Map处理结果发送给Reduce节点,不需要将Map处理结果写入到磁盘,不需要从磁盘中读取所有的Map处理结果,提高Map节点的处理性能和运行效率,减少磁盘IO的消耗。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据处理方法和装置。
背景技术
随着计算机技术的发展,计算机需要处理的数据量也越来越大,单台计算机已经不能处理一些大规模数据,为此需要将多台计算机联合起来,构成计算机群,并行处理大规模数据。为了将多台计算机联合起来,并行处理大规模数据,当前提出一种并行处理大规模数据的系统,即映射归约(MapReduce)系统,MapReduce系统可以对大规模数据集进行并行处理,是分布式计算框架。
在对数据集进行并行处理时,将数据集分解为多个子数据集,每个映射(Map)节点对应一个或多个子数据集。Map节点读取自身对应子数据集中的数据,对读取的数据进行Map处理,得到Map处理结果,并将Map处理结果写入到缓冲区。
由于缓冲区具有存储空间限制,因此,当所述缓冲区达到该限制时,Map节点在得到Map处理结果后,不再将Map处理结果写入到缓冲区,而是将Map处理结果写入到磁盘。在任务完成后,Map节点读取磁盘中的所有Map处理结果,将读取的所有Map处理结果提供给归约(Reduce)节点。Reduce节点根据Map节点提供的Map处理结果、缓冲区中的Map处理结果进行Reduce处理。
但是,Map节点将Map处理结果写入到磁盘、Map节点从磁盘中读取所有Map处理结果的操作,会影响Map节点的处理性能,造成磁盘输入输出(InputOutput,简称:IO)的消耗,尤其是向磁盘写入大量Map处理结果,从磁盘中读取大量Map处理结果时,会严重降低Map节点的处理性能,影响业务体验。
发明内容
有鉴于此,本申请提供一种数据处理方法和装置,用以提高Map节点的处理性能,减少磁盘IO的消耗,提高Map节点的运行效率,提高业务体验。
在第一方面,本申请提供一种数据处理方法,应用于Map节点,所述方法包括:
从子数据集中获取多个待处理数据;
对所述多个待处理数据分别进行Map处理,得到多个Map处理结果;
针对得到的每个Map处理结果,将所述Map处理结果发送给对应的Reduce节点,以使所述Reduce节点根据Map处理结果进行Reduce处理。
结合第一方面,在第一种可能的实现方式中,所述将所述Map处理结果发送给对应的Reduce节点之前,所述方法还包括:
判断所述Map节点对应的缓冲区内存储的Map处理结果数量是否已经达到预设的数量阈值;
如果所述缓冲区内存储的Map处理结果数量已经达到所述数量阈值,则将所述Map处理结果发送给所述Reduce节点;
如果所述缓冲区内存储的Map处理结果数量未达到所述数量阈值,则将所述Map处理结果写入到所述缓冲区内。
结合第一方面,在第二种可能的实现方式中,所述将所述Map处理结果发送给对应的Reduce节点,具体包括:
从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点;
在所述Map节点与所述Reduce节点之间建立通信连接;
通过所述通信连接将所述Map处理结果发送给所述Reduce节点。
结合第一方面,在第三种可能的实现方式中,所述从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点,具体包括:
从所有Reduce节点中选择一个Reduce节点;
将选择出的Reduce节点确定为用于接收所述Map处理结果的Reduce节点;
或者,
向Master节点发送节点请求消息;
接收所述Master节点返回的节点响应消息,所述节点响应消息携带所述Master节点从所有Reduce节点中选择的Reduce节点的标识;
将选择出的Reduce节点的标识对应的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点;
或者,
向Master节点发送携带所述Map节点的标识的节点请求消息,以使所述Master节点从所有Reduce节点中选择一个Reduce节点,并将所述Map节点的标识发送给选择出的Reduce节点;
在接收到所述选择出的Reduce节点根据所述Map节点的标识发送的连接消息时,将发送所述连接消息的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点。
结合第一方面,在第四种可能的实现方式中,所述Map节点从所有Reduce节点中选择一个Reduce节点,具体包括:
获取所有Reduce节点中的每个Reduce节点的负载情况;
根据每个Reduce节点的负载情况,从所有Reduce节点中选择负载最轻的一个Reduce节点。
在第二方面,本申请提供一种数据处理装置,应用于Map节点,所述装置包括:
获取模块,用于从子数据集中获取多个待处理数据;
处理模块,用于对所述多个待处理数据分别进行Map处理,得到多个Map处理结果;
发送模块,用于针对得到的每个Map处理结果,将所述Map处理结果发送给对应的Reduce节点,以使所述Reduce节点根据Map处理结果进行Reduce处理。
结合第二方面,在第一种可能的实现方式中,所述装置还包括:
判断模块,用于判断所述Map节点对应的缓冲区内存储的Map处理结果数量是否已经达到预设的数量阈值;
所述发送模块还用于,如果所述缓冲区内存储的Map处理结果数量已经达到所述数量阈值,则将所述Map处理结果发送给所述Reduce节点;
所述装置还包括:写入模块,用于如果所述缓冲区内存储的Map处理结果数量未达到所述数量阈值,则将所述Map处理结果写入到所述缓冲区内。
结合第二方面,在第二种可能的实现方式中,所述发送模块,具体用于在将所述Map处理结果发送给对应的Reduce节点时,从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点;
在所述Map节点与所述Reduce节点之间建立通信连接;
通过所述通信连接将所述Map处理结果发送给所述Reduce节点。
结合第二方面,在第三种可能的实现方式中,所述发送模块,具体用于在从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点时,从所有Reduce节点中选择一个Reduce节点;将选择出的Reduce节点确定为用于接收所述Map处理结果的Reduce节点;
或者,
所述发送模块,具体用于在从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点时,向Master节点发送节点请求消息;接收所述Master节点返回的节点响应消息,所述节点响应消息携带所述Master节点从所有Reduce节点中选择的Reduce节点的标识;将选择出的Reduce节点的标识对应的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点;
或者,
所述发送模块,具体用于在从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点时,向Master节点发送携带所述Map节点的标识的节点请求消息,以使所述Master节点从所有Reduce节点中选择一个Reduce节点,并将所述Map节点的标识发送给选择出的Reduce节点;在接收到所述选择出的Reduce节点根据所述Map节点的标识发送的连接消息时,将发送所述连接消息的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点。
结合第二方面,在第四种可能的实现方式中,所述发送模块,具体用于在从所有Reduce节点中选择一个Reduce节点时,获取所有Reduce节点中的每个Reduce节点的负载情况;根据每个Reduce节点的负载情况,从所有Reduce节点中选择负载最轻的一个Reduce节点。
基于上述技术方案,本申请实施例中,Map节点得到Map处理结果后,直接将Map处理结果发送给Reduce节点,不需要将Map处理结果写入到磁盘中,也不需要从磁盘中读取所有的Map处理结果,这样,可以提高Map节点的处理性能,并减少磁盘IO的消耗,并提高Map节点的运行效率,提高业务体验。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的数据处理方法的流程图;
图3是本申请一种实施方式中的Map处理结果的存储示意图;
图4是本申请一种实施方式中的数据处理装置的结构图;
图5是本申请一种实施方式中的Map节点的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种数据处理方法,可以应用于MapReduce系统,该MapReduce系统可以对大规模的数据集进行并行处理,是分布式的计算框架。在MapReduce系统中,包括一个或多个Map节点、一个或多个Reduce节点。
参见图1所示,为本申请实施例的应用场景示意图。图1中以3个Map节点、2个Reduce节点为例进行说明。在实际应用中,Map节点的数量还可以更多,对此数量不做限制;Reduce节点的数量还可以更多,对此数量不做限制。
其中,Map节点是具有计算能力的节点,可以是软件形式的虚拟Map节点,如运行于物理设备(如计算机、终端设备等)的具有Map计算能力的虚拟节点,也可以是硬件形式的物理Map节点,如具有Map计算能力的物理设备。
此外,Reduce节点也是具有计算能力的节点,可以是软件形式的虚拟Reduce节点,如运行于物理设备的具有Reduce计算能力的虚拟节点,也可以是硬件形式的物理Reduce节点,如具有Reduce计算能力的物理设备。
当然,上述过程只是介绍了Map节点、Reduce节点的两种表现形式,对此不做限制。
在一个例子中,当Map节点是具有Map计算能力的虚拟节点时,则不同的Map节点可以部署在相同的物理设备,也可以部署在不同的物理设备。此外,当Reduce节点是具有Reduce计算能力的虚拟节点时,则不同的Reduce节点可以部署在相同的物理设备,也可以部署在不同的物理设备。此外,Map节点和Reduce节点可以部署在相同的物理设备,也可以部署在不同的物理设备。
在一个例子中,用户可以为MapReduce系统配置map处理策略和reduce处理策略。Map节点可以利用map处理策略对数据进行Map处理,而Reduce节点可以利用reduce处理策略对数据进行Reduce处理。
其中,map处理策略和reduce处理策略均可以根据经验进行在先配置,对此map处理策略和reduce处理策略的内容不做限制。例如,map处理策略用于从所有输入数据中过滤出“年龄为20”的数据,或从所有输入数据中过滤出“城市为北京”的数据等,对此不做限制。
reduce处理策略用于从所有输入数据中过滤出“性别为男”的数据,或从所有输入数据中过滤出“身高大于170厘米”的数据等,对此不做限制。
当然,上述只是map处理策略和reduce处理策略的一个示例。
假设Map节点111的输入数据是数据1-数据100,Map节点111利用map处理策略对这些数据进行Map处理,得到“年龄为20”的数据1-数据10,将数据1-数据10提供给Reduce节点121;Map节点112的输入数据是数据101-数据200,Map节点112利用map处理策略对这些数据进行Map处理,得到“年龄为20”的数据101-数据110,将数据101-数据110提供给Reduce节点121。Reduce节点121的输入数据是数据1-数据10、数据101-数据110,Reduce节点121利用reduce处理策略对这些数据进行Reduce处理,得到“性别为男”的数据1-数据5。
参见图1所示,MapReduce系统还可以包括主(Master)节点,Master节点负责MapReduce系统的调度,如为Map节点分配Map任务,为Reduce节点分配Reduce任务。例如,Master节点将map处理策略发送给Map节点111,将存储位置A的信息(如用于存储数据的地址信息,如硬盘的某存储地址,对此不做限制)通知给Map节点111,Map节点111从存储位置A读取数据,利用map处理策略对数据进行Map处理。Master节点将reduce处理策略发送给Reduce节点121,使Reduce节点121利用reduce处理策略对数据进行Reduce处理。
在上述应用场景下,参见图2所示,为本申请实施例中提出的数据处理方法的流程图,该数据处理方法可以应用于Map节点,该数据处理方法包括:
步骤201,从子数据集中获取多个待处理数据。其中,该子数据集中可以包括大量需要进行Map处理的数据,将这些数据称为待处理数据。
其中,待处理的数据集可以包括大量数据,如十万条数据。为了对这些数据进行Map处理,则Master节点可以将该数据集划分成多个子数据集,如可以将该数据集划分成10个子数据集,且每个子数据集可以包括一万条数据。
在Master节点将该数据集划分成多个子数据集时,子数据集的数量可以与Map节点数量有关。例如,子数据集的数量与Map节点数量相同,或者,子数据集的数量是Map节点数量的N倍,N为大于等于2的正整数。基于此,每个Map节点可以分配相同数量的子数据集,使得各Map节点的处理均衡。
为了方便描述,以Master节点将数据集划分成3个子数据集为例,将子数据集1分配给Map节点111,将子数据集2分配给Map节点112,将子数据集3分配给Map节点113,这样,由Map节点111处理子数据集1中的数据,Map节点112处理子数据集2中的数据,Map节点113处理子数据集3中的数据。
当然,Master节点也可以将数据集划分成其它数量的子数据集,如将数据集划分成6个子数据集,将子数据集1和子数据集2分配给Map节点111,将子数据集3和子数据集4分配给Map节点112,将子数据集5和子数据集6分配给Map节点113。或者,将数据集划分成4个子数据集,将子数据集1和子数据集2分配给Map节点111,将子数据集3分配给Map节点112,将子数据集5分配给Map节点113。以此类推,对于子数据集的划分方式不做限制。
步骤202,对所述多个待处理数据分别进行Map处理,得到多个Map处理结果。
在一个例子中,在将子数据集1分配给Map节点111,将子数据集2分配给Map节点112,将子数据集3分配给Map节点113后,则:Map节点111从子数据集1中读取待处理数据,对读取的待处理数据进行Map处理,Map节点112从子数据集2读取待处理数据,并对读取的待处理数据进行Map处理,Map节点113从子数据集3读取待处理数据,并对读取的待处理数据进行Map处理。为了方便描述,后续以Map节点111的处理为例进行说明。
具体的,Map节点111从子数据集1读取第一个待处理数据(如数据1),并利用map处理策略对数据1进行Map处理;假设map处理策略用于过滤“年龄为20”的数据,则从数据1中提取年龄信息;若年龄信息是20,则Map处理结果包括数据1,基于数据1执行步骤203,在步骤203执行完成后,从子数据集1读取第二个待处理数据(如数据2)。若数据1的年龄信息不是20或数据1不包括年龄信息,则Map处理结果不包括数据1,从子数据集1读取第二个待处理数据(如数据2);以此类推,每个数据的处理过程相同,不再重复赘述。
步骤203,针对得到的每个Map处理结果,将该Map处理结果发送给对应的Reduce节点,以使Reduce节点根据Map处理结果进行Reduce处理。
在一个例子中,Map节点111在得到每个Map处理结果后,不再将Map处理结果存储到磁盘中,而是在Map任务处理过程中,就将每个Map处理结果分别发送给Reduce节点,即单独发送每个Map处理结果给Reduce节点。
需要说明的是,这里的Reduce节点可以为同一个Reduce节点,或者为不同的Reduce节点。
例如,假设对数据1进行Map处理后,若确定Map处理结果包括数据1,则直接将数据1发送给Reduce节点。假设对数据2进行Map处理后,若确定Map处理结果包括数据2,则将数据2发送给Reduce节点。以此类推。
在上述方式中,针对得到的每个Map处理结果,Map节点111可以直接将每个Map处理结果发送给Reduce节点,而不是将Map处理结果均存储到磁盘,在Map任务处理结束后,将磁盘中所有Map处理结果一起发送给Reduce节点。
由于不需要将Map处理结果写入到磁盘中,也就不需要从磁盘中读取Map处理结果,从而可以提高Map节点的处理性能,并减少磁盘IO的消耗。
可选地,在将该Map处理结果发送给对应的Reduce节点之前,还包括Map节点对其对应的缓冲区内存储的Map处理结果数量进行判断的步骤。
具体地,Map节点还可以判断所述Map节点对应的缓冲区内存储的Map处理结果数量是否已经达到预设的数量阈值;如果缓冲区内存储的Map处理结果数量已经达到数量阈值,则将该Map处理结果发送给Reduce节点;如果缓冲区内存储的Map处理结果数量未达到数量阈值,则将该Map处理结果写入到所述缓冲区内。
其中,不同的Map节点可以对应不同的缓冲区,或者,所有的Map节点可以对应同一个缓冲区。例如,Map节点111对应缓冲区A,Map节点111的Map处理结果存储到缓冲区A中,Map节点112对应缓冲区B,Map节点112的Map处理结果存储到缓冲区B中,以此类推。或者,所有Map节点可以对应同一个缓冲区,且所有Map节点的Map处理结果均存储到该缓冲区中。
其中,数量阈值可以根据经验进行配置,例如,当缓冲区最多存储100个Map处理结果时,则数量阈值可以是100,也可以是小于100的其它数值,如98、97等,对此数量阈值不做限制,后续以数量阈值是100为例进行说明。
参见图3所示,为Map处理结果的存储示意图,由于Map节点111对应的缓冲区内存储的Map处理结果数量已经达到数量阈值。因此,Map节点111不再向缓冲区内写入Map处理结果,而是将Map处理结果发送给Reduce节点。由于Map节点112/Map节点113对应的缓冲区内存储的Map处理结果数量未达到数量阈值,因此,Map节点112/Map节点113向缓冲区内写入Map处理结果。
在上述方式中,当缓冲区内存储的Map处理结果数量未达到数量阈值时,则可以直接将Map处理结果写入到缓冲区内,由于在缓冲区内写入Map处理结果的速度比较快,因此,Map节点可以快速完成Map处理结果的存储,提高Map节点的处理速度,并提升Map节点的处理器性能。此外,当缓冲区内存储的Map处理结果数量已经达到数量阈值时,则可以直接将Map处理结果发送给Reduce节点,而不是将Map处理结果存储到磁盘,从而不需要将Map处理结果写入到磁盘中,也不需要从磁盘中读取Map处理结果,减少磁盘IO的消耗。
可选地,前述步骤中Map节点将该Map处理结果发送给对应的Reduce节点的过程可通过多种方式实现,可以包括但不限于下述实现方式:
在一种实现方式中,Map节点从所有Reduce节点中确定用于接收该Map处理结果的Reduce节点;在本Map节点与该Reduce节点之间建立通信连接,通过建立的通信连接将该Map处理结果发送给该Reduce节点。
或者,在另一种实现方式中,通过本Map节点与Reduce节点之间的通信连接,直接将Map处理结果发送给该Reduce节点。
其中,若Map节点还没有与Reduce节点建立通信连接,则采用上述第一种方式。若Map节点已经与Reduce节点建立通信连接,则采用上述第二种方式。
可选地,前述步骤中Map节点从所有Reduce节点中确定用于接收该Map处理结果的Reduce节点的过程可通过多种方式实现,可以包括但不限于下述实现方式:
方式一、Map节点从所有Reduce节点中选择一个Reduce节点,并将选择出的该Reduce节点确定为用于接收该Map处理结果的Reduce节点。
如图1所示,假设存在Reduce节点121和Reduce节点122,Map节点111可以从Reduce节点121和Reduce节点122中,选择一个Reduce节点,如Reduce节点122,并将Reduce节点122确定为用于接收Map处理结果的Reduce节点。
在一个例子中,Map节点可以随机选择一个Reduce节点,并将随机选择出的Reduce节点确定为用于接收该Map处理结果的Reduce节点。
在另一个例子中,Map节点可以获取所有Reduce节点中的每个Reduce节点的负载情况,并根据每个Reduce节点的负载情况,从所有Reduce节点中选择负载最轻的一个Reduce节点,并将选择出的该Reduce节点确定为用于接收该Map处理结果的Reduce节点。例如,Map节点111可以从Reduce节点121和Reduce节点122中,选择出一个负载最轻的Reduce节点121。
为了获取各Reduce节点的负载情况,Map节点111可以向Master节点101请求各Reduce节点的负载情况,Master节点101可以将Reduce节点121的负载情况、Reduce节点122的负载情况发送给Map节点111,这样,Map节点111可以从Reduce节点121和Reduce节点122中,选择负载最轻的Reduce节点。
其中,Master节点101可以监控各Reduce节点的负载情况。例如,所述负载情况可以包括但不限于:Reduce节点当前处理的数据量、Reduce节点当前的中央处理器(英文:Central Processing Unit,简称:CPU)使用率、当前的内存使用率等。
以Reduce节点当前处理的数据量为例,负载最轻的Reduce节点是指:当前处理的数据量最少的Reduce节点。以Reduce节点当前CPU使用率为例,负载最轻的Reduce节点是指:当前CPU使用率最小的Reduce节点。以此类推。
方式二、Map节点向Master节点发送节点请求消息,接收Master节点返回的节点响应消息,该节点响应消息可以携带Master节点从所有Reduce节点中选择的Reduce节点的标识;Map节点将选择出的Reduce节点的标识对应的Reduce节点,确定为用于接收Map处理结果的Reduce节点。
如图1所示,Map节点111可以向Master节点101发送节点请求消息。而Master节点101在接收到该节点请求消息后,可以从所有Reduce节点中选择一个Reduce节点,如Reduce节点121,并向Map节点111发送节点响应消息,该节点响应消息可以携带选择出的该Reduce节点的标识,如Reduce节点121的标识。进一步的,Map节点111在接收到该节点响应消息后,可以从该节点响应消息中解析出Reduce节点121的标识,并将Reduce节点121的标识对应的Reduce节点121确定为用于接收Map处理结果的Reduce节点。
其中,假设存在Reduce节点121和Reduce节点122,则Master节点101可以从Reduce节点121和Reduce节点122中,随机选择一个Reduce节点;或,Master节点101可以获取所有Reduce节点中的每个Reduce节点的负载情况,并根据每个Reduce节点的负载情况,从所有Reduce节点中选择负载最轻的一个Reduce节点,如根据Reduce节点121的负载情况、Reduce节点122的负载情况,从Reduce节点121和Reduce节点122中选择负载最轻的Reduce节点。
其中,Master节点101可以监控各Reduce节点的负载情况,例如,所述负载情况可以包括但不限于:Reduce节点当前处理的数据量、Reduce节点当前的CPU使用率、当前的内存使用率等。
可以理解的是,Master节点选择Reduce节点的过程与Map节点选择Reduce节点的过程类似,在此不再复述。
方式三、Map节点向Master节点发送携带本Map节点的标识的节点请求消息,以使Master节点从所有Reduce节点中选择一个Reduce节点,并将Map节点的标识发送给选择出的该Reduce节点。Map节点在接收到选择出的Reduce节点根据Map节点的标识发送的连接消息时,将发送该连接消息的该Reduce节点,确定为用于接收Map处理结果的Reduce节点。
如图1所示,Map节点111可以向Master节点101发送节点请求消息,该节点请求消息可以携带Map节点111的标识。Master节点101在接收到该请求消息之后,可以从所有Reduce节点中选择一个Reduce节点,如选择Reduce节点121,并向Reduce节点121发送节点通知消息,该节点通知消息可以携带Map节点111的标识。Reduce节点121在接收到该节点通知消息之后,根据Map节点111的标识,向Map节点111发送连接消息。Map节点111在接收到Reduce节点121发送的连接消息后,可以将发送该连接消息的Reduce节点121确定为用于接收Map处理结果的Reduce节点。
其中,假设存在Reduce节点121和Reduce节点122,则Master节点101可以从Reduce节点121和Reduce节点122中,随机选择一个Reduce节点;或,Master节点101可以获取所有Reduce节点中的每个Reduce节点的负载情况,并根据每个Reduce节点的负载情况,从所有Reduce节点中选择负载最轻的一个Reduce节点,如根据Reduce节点121的负载情况、Reduce节点122的负载情况,从Reduce节点121和Reduce节点122中选择负载最轻的Reduce节点。
其中,Master节点101可以监控各Reduce节点的负载情况,例如,所述负载情况可以包括但不限于:Reduce节点当前处理的数据量、Reduce节点当前的CPU使用率、当前的内存使用率等。
可以理解的是,Master节点选择Reduce节点的过程与Map节点选择Reduce节点的过程类似,在此不再复述。
可选地,前述步骤中在本Map节点与该Reduce节点之间建立通信连接的过程可通过多种方式实现,可以包括但不限于下述实现方式:
针对上述方式一和方式二,Map节点可以根据该Reduce节点的标识,向该Reduce节点发送连接消息。其中,该连接消息可以携带本Map节点的标识;该Reduce节点在接收到该连接消息后,可以根据该Map节点的标识,向该Map节点发送针对该连接消息的响应消息。这样,就可以在本Map节点与该Reduce节点之间建立通信连接。
针对上述方式三,Map节点在接收到Reduce节点发送的连接消息后,还可以从该连接消息中解析出该Reduce节点的标识,并根据该Reduce节点的标识,向该Reduce节点发送针对该连接消息的响应消息。这样,就可以在本Map节点与该Reduce节点之间建立通信连接。
其中,上述通信连接包括但不限于传输控制协议(英文:Transmission ControlProtocol,简称:TCP)连接。上述Map节点的标识可以为Map节点的名称,也可以为Map节点的IP地址,对此不做限制。上述Reduce节点的标识可以为Reduce节点的名称,也可以为Reduce节点的IP地址,对此不做限制。
若Map节点的标识是Map节点的IP地址,Reduce节点的标识是Reduce节点的IP地址,基于Map节点的IP地址、Reduce节点的IP地址,可以在Map节点与Reduce节点之间建立TCP连接,对此TCP连接建立过程不做限制。
若Map节点的标识是Map节点的名称,则可以基于Map节点的名称查询到Map节点的IP地址,若Reduce节点的标识是Reduce节点的名称,则可以基于Reduce节点的名称查询到Reduce节点的IP地址。基于Map节点的IP地址、Reduce节点的IP地址,可以在Map节点与Reduce节点之间建立TCP连接。
在Map节点中,可以配置Reduce节点的名称与Reduce节点的IP地址的对应关系。基于此对应关系,可以基于Reduce节点的名称查询到Reduce节点的IP地址。在Reduce节点中,可以配置Map节点的名称与Map节点的IP地址的对应关系。基于此对应关系,可以基于Map节点的名称查询到Map节点的IP地址。
可选地,前述步骤中Map节点通过所述通信连接将该Map处理结果发送给该Reduce节点的过程可通过多种方式实现,可以包括但不限于下述实现方式:
由于在Map节点与Reduce节点之间已经成功建立TCP连接,因此,Map节点可以通过该TCP连接,将该Map处理结果发送给该Reduce节点,对此Map处理结果的发送过程不做限制。
综上所述,在Map任务处理过程中,Map节点111可以将Map处理结果直接发送给Reduce节点,而不是存储到磁盘。这样,在Map任务处理结束后,Map节点111不需要从本地磁盘中读取Map处理结果。
在Map任务处理结束后,Reduce节点可以将缓冲区中的所有Map处理结果、Map任务处理过程中提供给Reduce节点的所有Map处理结果,作为输入数据,利用reduce处理策略对输入数据进行Reduce处理,得到Reduce处理结果。
例如,Reduce节点121处理Map节点111、Map节点112的Map处理结果时,可以将Map节点111的缓冲区中的所有Map处理结果、Map节点111在Map任务处理过程中提供给Reduce节点121的所有Map处理结果、Map节点112的缓冲区中的所有Map处理结果、Map节点112在Map任务处理过程中提供给Reduce节点121的所有Map处理结果,作为输入数据。然后,Reduce节点121可以利用reduce处理策略对这些输入数据进行Reduce处理,得到Reduce处理结果,如从输入数据中得到“性别为男”的数据,即Reduce处理结果。
基于上述技术方案,本申请实施例中,Map节点得到Map处理结果后,直接将Map处理结果发送给Reduce节点,不需要将Map处理结果写入到磁盘中,也不需要从磁盘中读取所有的Map处理结果,这样,可以提高Map节点的处理性能,并减少磁盘IO的消耗,并提高Map节点的运行效率,提高业务体验。
基于与上述方法同样的申请构思,本申请实施例中还提出一种数据处理装置,应用于Map节点,如图4所示,为该装置的结构图,该装置包括:
获取模块401,用于从子数据集中获取多个待处理数据;
处理模块402,用于对所述多个待处理数据分别进行Map处理,得到多个Map处理结果;
发送模块403,用于针对得到的每个Map处理结果,将所述Map处理结果发送给对应的Reduce节点,以使所述Reduce节点根据Map处理结果进行Reduce处理。
可选地,所述装置还包括:判断模块404,用于判断所述Map节点对应的缓冲区内存储的Map处理结果数量是否已经达到预设的数量阈值;
所述发送模块403还用于,如果所述缓冲区内存储的Map处理结果数量已经达到所述数量阈值,则将所述Map处理结果发送给所述Reduce节点;
所述装置还包括:写入模块405,用于如果所述缓冲区内存储的Map处理结果数量未达到所述数量阈值,则将所述Map处理结果写入到所述缓冲区内。
可选地,所述发送模块403,具体用于在将所述Map处理结果发送给对应的Reduce节点时,从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点;
在所述Map节点与所述Reduce节点之间建立通信连接;
通过所述通信连接将所述Map处理结果发送给所述Reduce节点。
可选地,所述发送模块403,具体用于在从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点时,从所有Reduce节点中选择一个Reduce节点;将选择出的Reduce节点确定为用于接收所述Map处理结果的Reduce节点;
或者,
所述发送模块403,具体用于在从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点时,向主Master节点发送节点请求消息;
接收所述Master节点返回的节点响应消息,所述节点响应消息携带所述Master节点从所有Reduce节点中选择的Reduce节点的标识;
将选择出的Reduce节点的标识对应的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点;
或者,
所述发送模块403,具体用于在从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点时,向Master节点发送携带所述Map节点的标识的节点请求消息,以使所述Master节点从所有Reduce节点中选择一个Reduce节点,并将所述Map节点的标识发送给选择出的Reduce节点;
在接收到所述选择出的Reduce节点根据所述Map节点的标识发送的连接消息时,将发送所述连接消息的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点。
可选地,所述发送模块403,具体用于在从所有Reduce节点中选择一个Reduce节点时,获取所有Reduce节点中的每个Reduce节点的负载情况;根据每个Reduce节点的负载情况,从所有Reduce节点中选择负载最轻的一个Reduce节点。
本申请实施例中提供的Map节点,从硬件层面而言,其硬件架构示意图具体可以参见图5所示。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的数据处理操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:随机存取存储器(英文:Radom Access Memory,简称:RAM)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,应用于映射Map节点,所述方法包括:
从子数据集中获取多个待处理数据;
对所述多个待处理数据分别进行Map处理,得到多个Map处理结果;
针对得到的每个Map处理结果,将所述Map处理结果发送给对应的归约Reduce节点,以使所述Reduce节点根据Map处理结果进行Reduce处理。
2.根据权利要求1所述的方法,其特征在于,所述将所述Map处理结果发送给对应的归约Reduce节点之前,所述方法还包括:
判断所述Map节点对应的缓冲区内存储的Map处理结果数量是否已经达到预设的数量阈值;
如果所述缓冲区内存储的Map处理结果数量已经达到所述数量阈值,则将所述Map处理结果发送给所述Reduce节点;
如果所述缓冲区内存储的Map处理结果数量未达到所述数量阈值,则将所述Map处理结果写入到所述缓冲区内。
3.根据权利要求1所述的方法,其特征在于,所述将所述Map处理结果发送给对应的归约Reduce节点,具体包括:
从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点;
在所述Map节点与所述Reduce节点之间建立通信连接;
通过所述通信连接将所述Map处理结果发送给所述Reduce节点。
4.根据权利要求3所述的方法,其特征在于,所述从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点,具体包括:
从所有Reduce节点中选择一个Reduce节点;
将选择出的Reduce节点确定为用于接收所述Map处理结果的Reduce节点;
或者,
向主Master节点发送节点请求消息;
接收所述Master节点返回的节点响应消息,所述节点响应消息携带所述Master节点从所有Reduce节点中选择的Reduce节点的标识;
将选择出的Reduce节点的标识对应的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点;
或者,
向Master节点发送携带所述Map节点的标识的节点请求消息,以使所述Master节点从所有Reduce节点中选择一个Reduce节点,并将所述Map节点的标识发送给选择出的Reduce节点;
在接收到所述选择出的Reduce节点根据所述Map节点的标识发送的连接消息时,将发送所述连接消息的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点。
5.根据权利要求4所述的方法,其特征在于,所述从所有Reduce节点中选择一个Reduce节点,具体包括:
获取所有Reduce节点中的每个Reduce节点的负载情况;
根据每个Reduce节点的负载情况,从所有Reduce节点中选择负载最轻的一个Reduce节点。
6.一种数据处理装置,其特征在于,应用于映射Map节点,所述装置包括:
获取模块,用于从子数据集中获取多个待处理数据;
处理模块,用于对所述多个待处理数据分别进行Map处理,得到多个Map处理结果;
发送模块,用于针对得到的每个Map处理结果,将所述Map处理结果发送给对应的归约Reduce节点,以使所述Reduce节点根据Map处理结果进行Reduce处理。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断所述Map节点对应的缓冲区内存储的Map处理结果数量是否已经达到预设的数量阈值;
所述发送模块还用于,如果所述缓冲区内存储的Map处理结果数量已经达到所述数量阈值,则将所述Map处理结果发送给所述Reduce节点;
所述装置还包括:写入模块,用于如果所述缓冲区内存储的Map处理结果数量未达到所述数量阈值,则将所述Map处理结果写入到所述缓冲区内。
8.根据权利要求6所述的装置,其特征在于,所述发送模块,具体用于在将所述Map处理结果发送给对应的Reduce节点时,从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点;
在所述Map节点与所述Reduce节点之间建立通信连接;
通过所述通信连接将所述Map处理结果发送给所述Reduce节点。
9.根据权利要求8所述的装置,其特征在于,
所述发送模块,具体用于在从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点时,从所有Reduce节点中选择一个Reduce节点;将选择出的Reduce节点确定为用于接收所述Map处理结果的Reduce节点;
或者,
所述发送模块,具体用于在从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点时,向主Master节点发送节点请求消息;接收所述Master节点返回的节点响应消息,所述节点响应消息携带所述Master节点从所有Reduce节点中选择的Reduce节点的标识;将选择出的Reduce节点的标识对应的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点;
或者,
所述发送模块,具体用于在从所有Reduce节点中确定用于接收所述Map处理结果的Reduce节点时,向Master节点发送携带所述Map节点的标识的节点请求消息,以使所述Master节点从所有Reduce节点中选择一个Reduce节点,并将所述Map节点的标识发送给选择出的Reduce节点;在接收到所述选择出的Reduce节点根据所述Map节点的标识发送的连接消息时,将发送所述连接消息的Reduce节点,确定为用于接收所述Map处理结果的Reduce节点。
10.根据权利要求9所述的装置,其特征在于,所述发送模块,具体用于在从所有Reduce节点中选择一个Reduce节点时,获取所有Reduce节点中的每个Reduce节点的负载情况;根据每个Reduce节点的负载情况,从所有Reduce节点中选择负载最轻的一个Reduce节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711168741.0A CN109101188B (zh) | 2017-11-21 | 2017-11-21 | 一种数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711168741.0A CN109101188B (zh) | 2017-11-21 | 2017-11-21 | 一种数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109101188A true CN109101188A (zh) | 2018-12-28 |
CN109101188B CN109101188B (zh) | 2022-03-01 |
Family
ID=64796511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711168741.0A Active CN109101188B (zh) | 2017-11-21 | 2017-11-21 | 一种数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109101188B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857565A (zh) * | 2012-09-03 | 2013-01-02 | 重庆邮电大学 | 一种基于云计算的智能试衣系统 |
CN103023805A (zh) * | 2012-11-22 | 2013-04-03 | 北京航空航天大学 | 一种MapReduce系统 |
CN103078941A (zh) * | 2012-12-31 | 2013-05-01 | 中金数据系统有限公司 | 一种分布式计算系统的任务调度方法及系统 |
CN103605576A (zh) * | 2013-11-25 | 2014-02-26 | 华中科技大学 | 一种基于多线程的MapReduce执行系统 |
CN104077328A (zh) * | 2013-03-29 | 2014-10-01 | 百度在线网络技术(北京)有限公司 | MapReduce分布式系统的作业诊断方法及设备 |
CN104809231A (zh) * | 2015-05-11 | 2015-07-29 | 浪潮集团有限公司 | 一种基于Hadoop的海量web数据挖掘方法 |
US20160291977A1 (en) * | 2015-03-30 | 2016-10-06 | International Business Machines Corporation | Adaptive map-reduce pipeline with dynamic thread allocations |
-
2017
- 2017-11-21 CN CN201711168741.0A patent/CN109101188B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857565A (zh) * | 2012-09-03 | 2013-01-02 | 重庆邮电大学 | 一种基于云计算的智能试衣系统 |
CN103023805A (zh) * | 2012-11-22 | 2013-04-03 | 北京航空航天大学 | 一种MapReduce系统 |
CN103078941A (zh) * | 2012-12-31 | 2013-05-01 | 中金数据系统有限公司 | 一种分布式计算系统的任务调度方法及系统 |
CN104077328A (zh) * | 2013-03-29 | 2014-10-01 | 百度在线网络技术(北京)有限公司 | MapReduce分布式系统的作业诊断方法及设备 |
CN103605576A (zh) * | 2013-11-25 | 2014-02-26 | 华中科技大学 | 一种基于多线程的MapReduce执行系统 |
US20160291977A1 (en) * | 2015-03-30 | 2016-10-06 | International Business Machines Corporation | Adaptive map-reduce pipeline with dynamic thread allocations |
CN104809231A (zh) * | 2015-05-11 | 2015-07-29 | 浪潮集团有限公司 | 一种基于Hadoop的海量web数据挖掘方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109101188B (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10686756B2 (en) | Method and apparatus for managing MAC address generation for virtualized environments | |
US8478926B1 (en) | Co-processing acceleration method, apparatus, and system | |
CN105183565A (zh) | 计算机、服务质量控制方法及装置 | |
CN111031011B (zh) | Tcp/ip加速器的交互方法和装置 | |
CN105791254B (zh) | 网络请求处理方法、装置及终端 | |
CN109032533B (zh) | 一种数据存储方法、装置和设备 | |
CN110297810B (zh) | 一种流数据处理方法、装置及电子设备 | |
CN111245732A (zh) | 一种流量控制方法、装置及设备 | |
US20140351512A1 (en) | Capacity expansion method and device | |
US9772881B2 (en) | Hardware resource allocation for applications | |
US20170052979A1 (en) | Input/Output (IO) Request Processing Method and File Server | |
CN103049328A (zh) | 计算机系统中内存资源分配方法 | |
CN104991822A (zh) | 一种管理内存的方法和装置 | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
CN111708812A (zh) | 一种分布式数据处理方法 | |
CN107168796A (zh) | 一种数据合并方法、装置、存储器及存储控制器 | |
CN112148426A (zh) | 一种带宽分配方法及装置 | |
CN106933646B (zh) | 一种创建虚拟机的方法及装置 | |
CN109101188B (zh) | 一种数据处理方法和装置 | |
CN102055671A (zh) | 一种多应用发包的优先级管理方法 | |
CN109426561A (zh) | 一种任务处理方法、装置及设备 | |
CN105988871B (zh) | 一种远端内存分配方法、装置和系统 | |
CN111510479A (zh) | 一种异构缓存系统的资源分配方法及装置 | |
CN116467235A (zh) | 一种基于dma的数据处理方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |