CN111444148B - 基于MapReduce的数据传输方法和装置 - Google Patents

基于MapReduce的数据传输方法和装置 Download PDF

Info

Publication number
CN111444148B
CN111444148B CN202010273234.9A CN202010273234A CN111444148B CN 111444148 B CN111444148 B CN 111444148B CN 202010273234 A CN202010273234 A CN 202010273234A CN 111444148 B CN111444148 B CN 111444148B
Authority
CN
China
Prior art keywords
calculation result
data
result file
map
file
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.)
Active
Application number
CN202010273234.9A
Other languages
English (en)
Other versions
CN111444148A (zh
Inventor
耿筱喻
顾荣
郭俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Douyin Vision Co Ltd
Original Assignee
Nanjing University
Douyin Vision Co Ltd
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 Nanjing University, Douyin Vision Co Ltd filed Critical Nanjing University
Priority to CN202010273234.9A priority Critical patent/CN111444148B/zh
Publication of CN111444148A publication Critical patent/CN111444148A/zh
Application granted granted Critical
Publication of CN111444148B publication Critical patent/CN111444148B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了基于MapReduce的数据传输方法和装置。该方法的一具体实施方式包括:执行Map任务,以生成计算结果文件,其中,该计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;将该计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端通过该目标文件***获取该计算结果文件中的数据,其中,该目标文件***按照预定的命名规则对该计算结果文件进行命名,以及按照预定目录结构对该计算结果文件进行存储。该实施方式避免了由于重计算而带来的计算资源消耗和时间花销,提升Shuffle过程的稳定性,并且具备较好的普适性。

Description

基于MapReduce的数据传输方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及基于MapReduce的数据传输方法和装置。
背景技术
随着计算机技术的飞速发展,MapReduce分布式计算框架取得越来越广泛的应用。在Map(映射)和Reduce(规约)过程之间,需要Shuffle(洗牌)来实现数据从Map任务(Task)的输出到Reduce任务的输入的传输。由于Shuffle操作是连接Map过程和Reduce过程中必不可少的桥梁,且常常伴随着大量的网络传输和磁盘读写,因此Shuffle的性能往往直接影响整个MapReduce过程的性能和吞吐量。
实践中,节点故障、网络延迟、集群负载较高等原因会导致Shuffle过程中数据传输超时,从而Reduce端(Reducer)无法从Map端(Mapper)获取到所需的数据,进而使得Shuffle过程失败。相关的方式通常是利用MapReduce本身提供的容错机制,对Shuffle失败的任务执行重计算(即选取部分输入数据重新执行Map过程再接续此前被中断的Reduce过程)。
发明内容
本申请实施例提出了基于MapReduce的数据传输方法和装置。
第一方面,本申请实施例提供了一种基于MapReduce的数据传输方法,应用于Map端,该方法包括:执行Map任务,以生成计算结果文件,其中,计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;将计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端通过目标文件***获取计算结果文件中的数据,其中,目标文件***按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。
在一些实施例中,上述计算结果文件包括索引文件和数据文件,上述数据文件用于记录数据,上述索引文件用于标识各分区的数据在数据文件中的起始位置和结束位置;以及该方法还包括:向任务调度端(MapReduce任务调度器)发送计算结果文件的元数据信息,其中,元数据信息包括计算结果文件与Map端的对应关系。
在一些实施例中,上述预定的命名规则包括计算结果文件的名称中包括对应的Map端的标识,以及根据后缀区分计算结果文件的数据文件和索引文件。
在一些实施例中,上述预定目录结构包括树形结构,上述树形结构自顶向下包括应用的标识、属于应用的MapReduce过程的标识、属于MapReduce过程的Map任务的标识、属于Map任务的计算结果文件的标识。
第二方面,本申请实施例提供了一种基于MapReduce的数据传输方法,应用于Reduce端,该方法包括:响应于确定从与Reduce端对应的Map端获取数据失败,从提供冗余存储的目标文件***获取与Reduce端对应的分区的数据,其中,目标文件***按照预定目录结构存储计算结果文件,计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;利用所获取的数据,执行Reduce任务,以生成MapReduce过程的最终结果。
在一些实施例中,在上述从文件***获取与Reduce端对应的分区的数据之前,该方法还包括:从任务调度端获取与Reduce端对应的至少一个Map端的地址,其中,任务调度端存储有计算结果文件的元数据信息,元数据信息包括计算结果文件与Map端的对应关系;根据至少一个Map端的地址,向至少一个Map端发送用于获取与Reduce端对应的分区的数据的数据获取请求。
第三方面,本申请实施例提供了一种基于MapReduce的数据传输装置,应用于Map端,该装置包括:第一生成单元,被配置成执行Map任务,以生成计算结果文件,其中,计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;上传单元,被配置成将计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端通过目标文件***获取计算结果文件中的数据,其中,目标文件***按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。
在一些实施例中,上述计算结果文件包括索引文件和数据文件,上述数据文件用于记录数据,上述索引文件用于标识各分区的数据在数据文件中的起始位置和结束位置;以及该装置还包括:发送单元,被配置成向任务调度端发送计算结果文件的元数据信息,其中,元数据信息包括计算结果文件与Map端的对应关系。
在一些实施例中,上述预定的命名规则包括计算结果文件的名称中包括对应的Map端的标识,以及根据后缀区分计算结果文件的数据文件和索引文件。
在一些实施例中,上述预定目录结构包括树形结构,上述树形结构自顶向下包括应用的标识、属于应用的MapReduce过程的标识、属于MapReduce过程的Map任务的标识、属于Map任务的计算结果文件的标识。
第四方面,本申请实施例提供了一种基于MapReduce的数据传输装置,应用于Reduce端,该装置包括:第一获取单元,被配置成响应于确定从与Reduce端对应的Map端获取数据失败,从提供冗余存储的目标文件***获取与Reduce端对应的分区的数据,其中,目标文件***按照预定目录结构存储计算结果文件,计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;第二生成单元,被配置成利用所获取的数据,执行Reduce任务,以生成MapReduce过程的最终结果。
在一些实施例中,该装置还包括:地址获取单元,被配置成从任务调度端获取与Reduce端对应的至少一个Map端的地址,其中,任务调度端存储有计算结果文件的元数据信息,元数据信息包括计算结果文件与Map端的对应关系;第二获取单元,被配置成根据至少一个Map端的地址,向至少一个Map端发送用于获取与Reduce端对应的分区的数据的数据获取请求。
第五方面,本申请实施例提供了一种基于MapReduce的数据传输***,该***包括:Map端,被配置成执行实现如第一方面中任一实现方式描述的方法;Reduce端,被配置成执行实现如第二方面中任一实现方式描述的方法;目标文件***,被配置成响应于接收到计算结果文件,按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。
在一些实施例中,上述目标文件***还被配置成在目标文件***的数据节点中存储计算结果文件的多个副本。
第六方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第七方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的基于MapReduce的数据传输方法和装置,首先执行Map任务,以生成计算结果文件。其中,上述计算结果文件中包括与Reduce端数目一致的分区及其对应的数据。而后,将计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端通过目标文件***获取计算结果文件中的数据。其中,上述目标文件***按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。从而实现了通过目标文件***进行计算结果文件的备份,为Shuffle失败提供备用数据源以供Reduce端获取。从而避免了由于重计算而带来的计算资源消耗和时间花销,提升Shuffle过程的稳定性。并且,由于未对整个MapReduce模型内部进行改动,对计算框架的侵入性很小,具备较好的普适性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性***架构图;
图2是根据本申请的基于MapReduce的数据传输方法的一个实施例的流程图;
图3是根据本申请的实施例的基于MapReduce的数据传输方法的一个目录结构的示意图;
图4是根据本申请的基于MapReduce的数据传输方法的又一个实施例的流程图;
图5是根据本申请的基于MapReduce的数据传输装置的一个实施例的结构示意图;
图6是根据本申请的基于MapReduce的数据传输装置的一个实施例的结构示意图;
图7a是根据本申请的基于MapReduce的数据传输的一个实施例中各个设备之间交互的时序图;
图7b是根据本申请的基于MapReduce的数据传输的一个实施例中各个设备之间交互的示意图;
图8是适于用来实现本申请的实施例的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的基于MapReduce的数据传输方法或基于MapReduce的数据传输装置的示例性架构100。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器1051、1052、1053、1054、1055、1056。网络104用以在终端设备101、102、103和服务器1051之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器1051交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持计算结果显示的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器1051可以是提供各种服务的服务器,例如为终端设备101、102、103上运行的应用提供支持的后台服务器。后台服务器可以对接收的计算任务进行分解并发送至计算节点进行计算生成计算结果,并将计算结果反馈给终端设备。具体地,服务器1051(例如MRAppMaster节点)可以将Map任务分配至Map节点1052、1053执行。Map节点可以将执行Map任务所生成的中间结果文件上传至文件服务器1054。Reduce节点1055、1056可以从Map节点1052、1053或文件服务器1054获取中间结果文件以执行Reduce任务,并生成计算结果。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的基于MapReduce的数据传输方法一般由服务器1052、1053或1055、1056执行,相应地,基于MapReduce的数据传输装置一般设置于服务器1052、1053或1055、1056中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的基于MapReduce的数据传输方法的一个实施例的流程200。该基于MapReduce的数据传输方法可以应用于Map端,其可以包括以下步骤:
步骤201,执行Map任务,以生成计算结果文件。
在本实施例中,基于MapReduce的数据传输方法的执行主体(如图1所示的服务器1052或1053)可以根据接收到的数据来执行Map任务,从而生成计算结果文件。其中,上述计算结果文件中可以包括与Reduce端数目一致的分区及其对应的数据。
在本实施例中,上述执行主体可以通过有线连接方式或者无线连接方式获取Map任务。例如,上述执行主体可以从与之通信连接的电子设备(例如图1所示的服务器1051)获取Map任务。其中,上述Map任务可以包括用户通过终端设备所发送的数据处理逻辑。以及,上述执行主体可以从指定位置读取输入的数据集,并且按照上述数据处理逻辑对上述输入的数据集进行处理,得到中间结果。而后,上述执行主体可以将得到的中间结果写入到内存缓冲(例如环形内存缓冲区)中。并且,在上述写入的过程中进行分区(partition)排序(sort)。响应于确定写入的数据量达到预设阈值(例如80%),上述执行主体可以启动溢写线程将上述内存缓冲中的数据溢写(spill)到本地磁盘,从而生成临时文件。当上述Map任务对应的中间结果均已写入完成,上述执行主体可以确定是否存在溢写的临时文件。响应于确定不存在,上述执行主体可以将上述内存缓冲中的数据直接写入上述本地磁盘,从而生成上述计算结果文件。响应于确定存在,上述执行主体可以对上述所有的临时文件和内存缓冲中的数据按照上述分区进行归并(merge),即将分区一致的数据进行合并。而后,上述执行主体可以根据分区对合并的数据再一次进行排序,以及将上述排序后的数据写入上述本地磁盘,从而生成上述计算结果文件。
可选地,上述根据分区进行排序具体可以包括根据中间结果的键的哈希值(hash)所属的分区进行排序。可选地,上述执行主体还可以将上述键值对相同键的值进行组合(combine)。
需要说明的是,在MapReduce框架中,上述Map端读取输入的数据集通常可以由多个Map端并行地进行。
在本实施例的一些可选的实现方式中,上述计算结果文件可以包括索引文件和数据文件。其中,上述数据文件可以用于记录数据。上述索引文件可以用于标识各分区的数据在上述数据文件中的起始位置和结束位置。
基于上述可选的实现方式,上述执行主体的本地磁盘上会生成上述索引文件和数据文件。从而MapReduce中的各Reduce端可以根据上述索引文件更加快捷地确定各自对应的分区的数据的位置,进而提升数据查询和获取的效率。
在本实施例的一些可选的实现方式中,基于上述计算结果文件包括的索引文件和数据文件,上述执行主体还可以向任务调度端发送上述计算结果文件的元数据信息。其中,上述元数据信息可以包括上述计算结果文件与Map端的对应关系。通常,上述任务调度端可以负责维护上述MapReduce中的各Map端所上传的元数据信息。
基于上述可选的实现方式,上述MapReduce中的各Reduce端可以根据上述元数据信息确定各自所需的数据所在的Map节点。
步骤202,将计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端通过目标文件***获取计算结果文件中的数据。
在本实施例中,上述执行主体可以通过有线连接或无线连接的方式将上述步骤201所生成的计算结果文件上传至提供冗余存储的目标文件***。其中,上述提供冗余存储的目标文件***可以按照预定的命名规则对上述计算结果文件进行命名,以及按照预定目录结构对上述计算结果文件进行存储。其中,上述命名规则和目录结构可以为预先指定的任意规则和目标结构。通常,上述提供冗余存储的目标文件***可以通过上述命名规则和目录结构来组织文件。
在本实施例中,上述提供冗余存储的目标文件***可以是根据实际的应用需求,预先指定的、区别于Map端本地磁盘的任意文件***。上述提供冗余存储的目标文件***也可以是根据规则而定的文件***,例如能够提供多副本的文件***,如HDFS(HadoopDistributed File System,Hadoop分布式文件***)。
在本实施例的一些可选的实现方式中,上述预定的命名规则可以包括上述计算结果文件的名称中包括对应的Map端的标识,以及根据后缀区分上述计算结果文件的数据文件和索引文件。
作为示例,标识为“0”和“1”的Map端分别在写完计算结果文件到本地磁盘后将其上传到目标文件***中,并且文件名均与Map端的唯一标识对应。例如,上述目标文件***中所存储的标识为“0”的Map端所上传的索引文件和数据文件分别命名为“0.index”和“0.data”。上述目标文件***中所存储的标识为“1”的Map端所上传的索引文件和数据文件分别命名为“1.index”和“1.data”。
基于上述可选的实现方式,可以避免由于维护文件名信息、Map端和文件之间的映射关系而造成的额外开销,从而便于Reduce端直接访问所需要的文件和数据。
在本实施例的一些可选的实现方式中,上述预定目录结构可以包括树形结构。其中,上述树形结构自顶向下可以包括应用的标识、属于应用的MapReduce过程的标识、属于MapReduce过程的Map任务的标识、属于Map任务的计算结果文件的标识。
作为示例,如图3所示,上述树形结构300的第一层目录可以为应用的唯一标识(applicaitionID),例如“应用_0”,用以区分属于不用应用的数据。上述树形结构300的第二层目录可以为某一次MapReduce过程中Shuffle的唯一标识(shuffleID)。由于单个应用中可能存在多次MapReduce过程,因此就存在多次Shuffle的数据。为了区分属于不同Shuffle的数据,可以将“应用_0”的两次Shuffle过程的唯一标识,例如“洗牌_0”和“洗牌_1”作为第二层目录。上述树形结构300的第三层目录可以为某个Map任务的唯一标识(MapID),例如“映射_0”和“映射_1。上述树形结构300的第四层为存储的计算结果文件的标识,例如“0.index”和“0.data”。从而,属于同一个Map任务的数据文件和索引文件会存储在该Map任务的唯一标识下。
基于上述可选的实现方式,上述执行主体可以避免由于维护文件存储路径等元数据信息而造成的额外开销,从而提升上述计算结果文件在上述目标文件***中的查询效率。而且,Reduce端可以直接根据需要的计算结果文件获取其存储路径,进而直接访问上述目标文件***,而不需要先通过其他***获取文件路径等信息。
在本实施例的一些可选的实现方式中,上述目标文件***的数据节点中还可以分布式存储每个计算结果文件的多个副本,从而实现数据的备份。
目前,现有技术之一通常是仅由Map端将Map任务生成的计算结果文件写入本地磁盘,导致在Map节点故障、网络延迟等情况下无法向对应的Reduce端发送所需的数据,从而引起MapReduce模型的重计算。而本申请的上述实施例提供的方法,通过Map端将Map任务生成的计算结果文件写入本地磁盘后上传至提供冗余存储的目标文件***,实现了通过提供冗余存储的目标文件***进行计算结果文件的备份,为Shuffle失败提供备用数据源以供Reduce端获取。从而避免了由于重计算而带来的计算资源消耗和时间花销,提升Shuffle过程的稳定性。并且,由于未对整个MapReduce模型内部进行改动,对计算框架的侵入性很小,具备较好的普适性。
继续参见图4,图4是根据本申请实施例的基于MapReduce的数据传输方法的一个实施例的流程400。该基于MapReduce的数据传输方法可以应用于Reduce端,其可以包括以下步骤:
步骤401,响应于确定从与Reduce端对应的Map端获取数据失败,从提供冗余存储的目标文件***获取与Reduce端对应的分区的数据。
在本实施例中,基于MapReduce的数据传输方法的执行主体(如图1所示的服务器1055或1056)可以首先通过各种方式确定从与Reduce端对应的Map端获取数据失败。例如,可以是Reduce端与Map端通信超时或从Map端接收的返回内容异常。而后,上述执行主体可以从提供冗余存储的目标文件***获取与Reduce端对应的分区的数据。其中,上述提供冗余存储的目标文件***可以按照预定目录结构存储计算结果文件。上述计算结果文件中可以包括与Reduce端数目一致的分区及其对应的数据。
需要说明的是,上述提供冗余存储的目标文件***和计算结果文件可以与前述实施例中的描述一致,此处不再赘述。
具体地,响应于确定获取上述数据失败,上述执行主体可以按照上述提供冗余存储的目标文件***的目录结构的生成规则获取Map端所生成的计算结果文件的存储路径。而后,上述执行主体可以根据上述存储路径获取对应的分区的数据。
可选地,基于上述计算结果文件包括的索引文件和数据文件,上述执行主体可以根据上述存储路径解析上述计算结果文件中的索引文件,从而得到对应的分区的数据在上述索引文件对应的数据文件中的起始位置和结束位置。而后,上述执行主体可以从上述对应的数据文件中读取上述数据。
在本实施例的一些可选的实现方式中,在上述步骤401之前,上述执行主体还可以执行如下步骤:
第一步,从任务调度端获取与Reduce端对应的至少一个Map端的地址。
在这些实现方式中,上述执行主体可以从任务调度端获取上述MapReduce中各Map端的地址。其中,上述任务调度端可以存储上述计算结果文件的元数据信息。上述元数据信息可以包括上述计算结果文件与Map端的对应关系。
需要说明的是,上述任务调度端可以与前述实施例中的描述一致,此处不再赘述。
第二步,根据至少一个Map端的地址,向至少一个Map端发送用于获取与Reduce端对应的分区的数据的数据获取请求。
在这些实现方式中,上述执行主体可以向上述MapReduce中各Map端发送获取与Reduce端对应的分区的数据的数据获取请求。
需要说明的是,在MapReduce框架中,上述Reduce端从Map端或上述目标文件***读取属于各自分区的数据通常可以由多个Reduce端并行地进行。
步骤402,利用所获取的数据,执行Reduce任务,以生成MapReduce过程的最终结果。
在本实施例中,上述执行主体可以利用步骤401所获取的数据,执行Reduce任务,以生成MapReduce过程的最终结果。具体地,上述执行主体可以首先将获取的数据进行排序组合。而后,按照Reduce任务所指示的数据处理逻辑进行计算,从而得到上述最终结果。
目前,现有技术之一通常是在由Map节点故障、网络延迟、负载较大等原因引起Reduce端无法从Map端获取所需的数据时,由MapReduce模型进行Map过程的重计算,导致计算资源的浪费和时间的消耗。而本申请的上述实施例提供的方法,通过在无法从Map端获取所需数据时转而访问为计算结果文件提供冗余存储的目标文件***,从而避免了由于重计算而带来的计算资源消耗和时间花销,提升Shuffle过程的稳定性。并且,由于未对整个MapReduce模型内部进行改动,对计算框架的侵入性很小,具备较好的普适性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了基于MapReduce的数据传输装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例提供的基于MapReduce的数据传输装置500包括第一生成单元501和上传单元502。其中,第一生成单元501,被配置成执行Map任务,以生成计算结果文件,其中,计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;上传单元502,被配置成将计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端通过目标文件***获取计算结果文件中的数据,其中,目标文件***按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。
在本实施例中,基于MapReduce的数据传输装置500中:第一生成单元501和上传单元502的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201和步骤202的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述计算结果文件可以包括索引文件和数据文件。上述数据文件可以用于记录数据。上述索引文件可以用于标识各分区的数据在上述数据文件中的起始位置和结束位置。上述基于MapReduce的数据传输装置500还可以包括:发送单元(图中未示出),被配置成向任务调度端发送计算结果文件的元数据信息。其中,上述元数据信息可以包括计算结果文件与Map端的对应关系。
在本实施例的一些可选的实现方式中,上述预定的命名规则可以包括计算结果文件的名称中包括对应的Map端的标识,以及根据后缀区分计算结果文件的数据文件和索引文件。
在本实施例的一些可选的实现方式中,上述预定目录结构可以包括树形结构,上述树形结构自顶向下包括应用的标识、属于应用的MapReduce过程的标识、属于MapReduce过程的Map任务的标识、属于Map任务的计算结果文件的标识。
本申请的上述实施例提供的装置,通过第一生成单元501执行Map任务,以生成计算结果文件。其中,计算结果文件中包括与Reduce端数目一致的分区及其对应的数据。而后,上传单元502将计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端通过目标文件***获取计算结果文件中的数据。其中,目标文件***按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。从而实现了通过目标文件***进行计算结果文件的备份,为Shuffle失败提供备用数据源以供Reduce端获取。而且避免了由于重计算而带来的计算资源消耗和时间花销,提升Shuffle过程的稳定性。并且,由于未对整个MapReduce模型内部进行改动,对计算框架的侵入性很小,具备较好的普适性。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了基于MapReduce的数据传输装置的一个实施例,该装置实施例与图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例提供的基于MapReduce的数据传输装置600包括第一获取单元601和第二生成单元602。其中,第一获取单元601,被配置成响应于确定从与Reduce端对应的Map端获取数据失败,从提供冗余存储的目标文件***获取与Reduce端对应的分区的数据,其中,目标文件***按照预定目录结构存储计算结果文件,计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;第二生成单元602,被配置成利用所获取的数据,执行Reduce任务,以生成MapReduce过程的最终结果。
在本实施例中,基于MapReduce的数据传输装置600中:第一获取单元601和第二生成单元602的具体处理及其所带来的技术效果可分别参考图4对应实施例中的步骤401和步骤402的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述基于MapReduce的数据传输装置600还可以包括地址获取单元(图中未示出)、第二获取单元(图中未示出)。其中,上述地址获取单元,可以被配置成从任务调度端获取与Reduce端对应的至少一个Map端的地址。上述任务调度端可以存储有计算结果文件的元数据信息。上述元数据信息可以包括计算结果文件与Map端的对应关系。上述第二获取单元,可以被配置成根据至少一个Map端的地址,向至少一个Map端发送用于获取与Reduce端对应的分区的数据的数据获取请求。
本申请的上述实施例提供的装置,首先,第一获取单元601响应于确定从与Reduce端对应的Map端获取数据失败,从提供冗余存储的目标文件***获取与Reduce端对应的分区的数据。其中,目标文件***按照预定目录结构存储计算结果文件。计算结果文件中包括与Reduce端数目一致的分区及其对应的数据。而后,第二生成单元602利用所获取的数据,执行Reduce任务,以生成MapReduce过程的最终结果。从而避免了由于重计算而带来的计算资源消耗和时间花销,提升Shuffle过程的稳定性。并且,由于未对整个MapReduce模型内部进行改动,对计算框架的侵入性很小,具备较好的普适性。
进一步参考图7a,其示出了基于MapReduce的数据传输方法的一个实施例中各个设备之间交互的时序700。该基于MapReduce的数据传输***可以包括:Map端(例如图1所示的服务器1052、1053),Reduce端(例如图1所示的服务器1055、1056),目标文件***(例如图1所示的服务器1054)。其中,上述Map端,可以被配置成实现如图2所述的实施例所描述的基于MapReduce的数据传输方法。上述Reduce端,可以被配置成实现如图4所述的实施例所描述的基于MapReduce的数据传输方法。上述目标文件***,可以被配置成响应于接收到计算结果文件,按照预定的命名规则对上述计算结果文件进行命名,以及按照预定目录结构对上述计算结果文件进行存储。
在本实施例的一些可选的实现方式中,上述目标文件***还被配置成在上述目标文件***的数据节点中存储上述计算结果文件的多个副本。
如图7a所示,在步骤701中,Map端执行Map任务,以生成计算结果文件。
在步骤702中,Map端将计算结果文件上传至提供冗余存储的目标文件***。
在本实施例的一些可选的实现方式中,Map端(图1中未示出)向任务调度端发送计算结果文件的元数据信息。
在步骤703中,响应于接收到计算结果文件,目标文件***按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。
在本实施例中,上述目标文件***可以按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。从而,上述目标文件***可以将上述MapReduce中的各Map端上传的计算结果文件进行统一管理。
需要说明的是,上述预定的命名规则和预定目录结构可以与前述实施例的描述一致,此处不再赘述。
在本实施例的一些可选的实现方式中,上述提供冗余存储的目标文件***还可以将上述计算结果文件的多个副本分布式存储于上述目标文件***的数据节点中。从而完成对上述MapReduce中的各Map端上传的计算结果文件的备份。
在步骤704中,Reduce端从任务调度端获取与Reduce端对应的至少一个Map端的地址。
在步骤705中,根据至少一个Map端的地址,Reduce端向至少一个Map端发送用于获取与Reduce端对应的分区的数据的数据获取请求。
在本实施例中,作为示例,如图7b所示。标识为“0”的Reduce端_0可以分别向标识为“0”的Map端_0和标识为“1”的Map端_1发送数据获取请求。
在步骤706中,Reduce端接收对应的Map端发送的数据请求的响应信息。
在本实施例中,上述MapReduce中的Map端在接收到Reduce端发送的数据获取请求后,通常会将Map端本地的计算结果文件中属于上述数据获取请求对应的Reduce端的分区的数据作为响应信息,返回给发送上述数据获取请求的Reduce端。从而,上述Reduce端可以接收对应的Map端发送的数据请求的响应信息。
作为示例,继续参见图7b,Map端_0可以响应Reduce端_0的数据获取请求,将本地数据文件“0.data”中第0个分区的数据作为响应信息返回给Reduce端_0。从而,上述Reduce端_0可以从Map端_0获取属于Reduce端_0对应的分区的数据。
实践中,Reduce端通常向上述MapReduce中所有的Map端发送数据获取请求。由于可能存在的Map节点故障、负载较高或网络延迟等因素,在一些实现方式中,Reduce端往往不能接收到全部的Map端所返回的数据响应信息。对于未接收到的数据响应信息所对应的Map端,Reduce端可以确定从该Map端获取数据失败。
作为示例,继续参见图7b,在Reduce端_0发送数据获取请求之后,Map端_1可能由于节点故障、网络延迟、节点负载过高等因素无法及时响应上述数据获取请求,从而Reduce端_0无法从Map端_1处拿到所需的第0区的数据,获取数据失败。
在步骤707中,响应于确定从与Reduce端对应的Map端获取数据失败,Reduce端从提供冗余存储的目标文件***获取与Reduce端对应的分区的数据。
可选地,继续参见图7b,响应于确定Map端_1对上述数据获取请求的响应超时,上述Reduce端_0可以访问目标文件***,以获取Map端_1的计算结果文件中第0分区的数据。Map端_1可以首先获取目标文件***中存储的Map端_1上传的索引文件“1.index”,得到Map端_1上传的计算结果文件中第0分区的数据在数据文件“1.data”中的起始位置和结束位置。上述Reduce端_0可以按照上述索引文件“1.index”的指示从上述数据文件“1.data”中读取所需的数据。
基于上述可选的实现方式,由于上述目标文件***可以提供多副本功能,由上述目标文件***负责Shuffle数据(即各Map端上传的计算结果文件)的容错,因此不会发生所需数据在上述目标文件***中访问不到的问题。
在步骤708中,Reduce端利用所获取的数据,执行Reduce任务,以生成MapReduce过程的最终结果。
上述步骤701和步骤702分别与前述实施例中的步骤201和步骤202及其可选的实现方式一致,上述步骤704、705、707和步骤708分别与前述实施例中的步骤401和步骤402及其可选的实现方式一致。上文针对步骤201、步骤202及其可选的实现方式和步骤401、步骤402及其可选的实现方式的描述也适用于步骤701和步骤702,步骤704、705、707和步骤708,此处不再赘述。
本申请的上述实施例提供的基于MapReduce的数据传输***,首先,Map端执行Map任务,以生成计算结果文件。而后,Map端将计算结果文件上传至提供冗余存储的目标文件***。响应于接收到计算结果文件,目标文件***按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。接下来,Reduce端从任务调度端获取与Reduce端对应的至少一个Map端的地址。根据至少一个Map端的地址,Reduce端向至少一个Map端发送用于获取与Reduce端对应的分区的数据的数据获取请求。而后,响应于确定从与Reduce端对应的Map端获取数据失败,Reduce端从提供冗余存储的目标文件***获取与Reduce端对应的分区的数据。最后,Reduce端利用所获取的数据,执行Reduce任务,以生成MapReduce过程的最终结果。
从而避免了因Map节点故障、负载过高或网络时延导致Shuffle失败而引发的重计算任务,提升了MapReduce模型中Shuffle过程的稳定性,进而提升任务运行速度。而且,本申请可以利用现有支持数据多副本的文件***对Shuffle文件进行备份,只增加了一层可插拔的计算框架与文件***的连接层,并没有对整个MapReduce模型做任何改动,对计算框架侵入性很小。从而,本申请针对MapReduce模型的Shuffle过程的解决方案,对于任意基于MapReduce模型的大数据计算框架均可适用。
下面参考图8,其示出了适于用来实现本申请的实施例的电子设备(例如图1中的服务器1052或1055)800的结构示意图。图8示出的服务器仅仅是一个示例,不应对本申请的实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、等的输入装置806;包括例如液晶显示器(LCD,Liquid Crystal Display)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图8中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本申请的实施例的方法中限定的上述功能。
需要说明的是,本申请的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency,射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:执行Map任务,以生成计算结果文件,其中,计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;将计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端通过目标文件***获取计算结果文件中的数据,其中,目标文件***按照预定的命名规则对计算结果文件进行命名,以及按照预定目录结构对计算结果文件进行存储。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请的各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器,包括第一生成单元、上传单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一生成单元还可以被描述为“执行Map任务,以生成计算结果文件的单元,其中,计算结果文件中包括与Reduce端数目一致的分区及其对应的数据”。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种基于MapReduce的数据传输方法,应用于Map端,包括:
执行Map任务,以生成计算结果文件,其中,所述计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;
将所述计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端响应于确定从所述Map端获取数据失败,通过所述目标文件***获取所述计算结果文件中的与所述Reduce端对应的分区的数据,其中,所述目标文件***按照预定的命名规则对所述计算结果文件进行命名,以及按照预定目录结构对所述计算结果文件进行存储。
2.根据权利要求1所述的方法,其中,所述计算结果文件包括索引文件和数据文件,所述数据文件用于记录数据,所述索引文件用于标识各分区的数据在所述数据文件中的起始位置和结束位置;以及
所述方法还包括:
向任务调度端发送所述计算结果文件的元数据信息,其中,所述元数据信息包括所述计算结果文件与Map端的对应关系。
3.根据权利要求2所述的方法,其中,所述预定的命名规则包括所述计算结果文件的名称中包括对应的Map端的标识,以及根据后缀区分所述计算结果文件的数据文件和索引文件。
4.根据权利要求1-3之一所述的方法,其中,所述预定目录结构包括树形结构,所述树形结构自顶向下包括应用的标识、属于应用的MapReduce过程的标识、属于MapReduce过程的Map任务的标识、属于Map任务的计算结果文件的标识。
5.一种基于MapReduce的数据传输方法,应用于Reduce端,包括:
响应于确定从与所述Reduce端对应的Map端获取数据失败,从提供冗余存储的目标文件***获取与所述Reduce端对应的分区的数据,其中,所述目标文件***按照预定目录结构存储有计算结果文件,所述计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;
利用所获取的数据,执行Reduce任务,以生成所述MapReduce过程的最终结果。
6.根据权利要求5所述的方法,其中,在所述从文件***获取与所述Reduce端对应的分区的数据之前,所述方法还包括:
从任务调度端获取与所述Reduce端对应的至少一个Map端的地址,其中,所述任务调度端存储有所述计算结果文件的元数据信息,所述元数据信息包括所述计算结果文件与Map端的对应关系;
根据所述至少一个Map端的地址,向所述至少一个Map端发送用于获取与所述Reduce端对应的分区的数据的数据获取请求。
7.一种基于MapReduce的数据传输装置,应用于Map端,包括:
第一生成单元,被配置成执行Map任务,以生成计算结果文件,其中,所述计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;
上传单元,被配置成将所述计算结果文件上传至提供冗余存储的目标文件***,以使对应的Reduce端响应于确定从所述Map端获取数据失败,通过所述目标文件***获取所述计算结果文件中的与所述Reduce端对应的分区的数据,其中,所述目标文件***按照预定的命名规则对所述计算结果文件进行命名,以及按照预定目录结构对所述计算结果文件进行存储。
8.一种基于MapReduce的数据传输装置,应用于Reduce端,包括:
第一获取单元,被配置成响应于确定从与所述Reduce端对应的Map端获取数据失败,从提供冗余存储的目标文件***获取与所述Reduce端对应的分区的数据,其中,所述目标文件***按照预定目录结构存储有计算结果文件,所述计算结果文件中包括与Reduce端数目一致的分区及其对应的数据;
第二生成单元,被配置成利用所获取的数据,执行Reduce任务,以生成所述MapReduce过程的最终结果。
9.一种基于MapReduce的数据传输***,包括:
Map端,被配置成执行实现如权利要求1-4中任一所述的方法;
Reduce端,被配置成执行实现如权利要求5-6中任一所述的方法;
目标文件***,被配置成响应于接收到所述计算结果文件,按照预定的命名规则对所述计算结果文件进行命名,以及按照预定目录结构对所述计算结果文件进行存储。
10.根据所述权利要求9所述的***,其中,所述目标文件***还被配置成在所述目标文件***的数据节点中存储所述计算结果文件的多个副本。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN202010273234.9A 2020-04-09 2020-04-09 基于MapReduce的数据传输方法和装置 Active CN111444148B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010273234.9A CN111444148B (zh) 2020-04-09 2020-04-09 基于MapReduce的数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010273234.9A CN111444148B (zh) 2020-04-09 2020-04-09 基于MapReduce的数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN111444148A CN111444148A (zh) 2020-07-24
CN111444148B true CN111444148B (zh) 2023-09-05

Family

ID=71652931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010273234.9A Active CN111444148B (zh) 2020-04-09 2020-04-09 基于MapReduce的数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN111444148B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115687252A (zh) * 2021-07-28 2023-02-03 华为云计算技术有限公司 计算方法、装置、设备及存储介质
CN113312316B (zh) * 2021-07-28 2022-01-04 阿里云计算有限公司 数据处理方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209087A (zh) * 2010-03-31 2011-10-05 国际商业机器公司 在具有存储网络的数据中心进行MapReduce数据传输的方法和***
CN102456031A (zh) * 2010-10-26 2012-05-16 腾讯科技(深圳)有限公司 一种MapReduce***和处理数据流的方法
CN103176843A (zh) * 2013-03-20 2013-06-26 百度在线网络技术(北京)有限公司 MapReduce分布式***的文件迁移方法及设备
CN103617033A (zh) * 2013-11-22 2014-03-05 北京掌阔移动传媒科技有限公司 基于MapReduce的数据处理方法、客户端和***
CN105446896A (zh) * 2014-08-29 2016-03-30 国际商业机器公司 映射化简应用的缓存管理方法和装置
CN105955819A (zh) * 2016-04-18 2016-09-21 中国科学院计算技术研究所 基于Hadoop的数据传输方法及***
CN107220069A (zh) * 2017-07-03 2017-09-29 中国科学院计算技术研究所 一种针对非易失性内存的Shuffle方法
CN108595268A (zh) * 2018-04-24 2018-09-28 咪咕文化科技有限公司 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209087A (zh) * 2010-03-31 2011-10-05 国际商业机器公司 在具有存储网络的数据中心进行MapReduce数据传输的方法和***
CN102456031A (zh) * 2010-10-26 2012-05-16 腾讯科技(深圳)有限公司 一种MapReduce***和处理数据流的方法
CN103176843A (zh) * 2013-03-20 2013-06-26 百度在线网络技术(北京)有限公司 MapReduce分布式***的文件迁移方法及设备
CN103617033A (zh) * 2013-11-22 2014-03-05 北京掌阔移动传媒科技有限公司 基于MapReduce的数据处理方法、客户端和***
CN105446896A (zh) * 2014-08-29 2016-03-30 国际商业机器公司 映射化简应用的缓存管理方法和装置
CN105955819A (zh) * 2016-04-18 2016-09-21 中国科学院计算技术研究所 基于Hadoop的数据传输方法及***
CN107220069A (zh) * 2017-07-03 2017-09-29 中国科学院计算技术研究所 一种针对非易失性内存的Shuffle方法
CN108595268A (zh) * 2018-04-24 2018-09-28 咪咕文化科技有限公司 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN111444148A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN107391629B (zh) 集群间数据迁移方法、***、服务器及计算机存储介质
US20160092493A1 (en) Executing map-reduce jobs with named data
US8572614B2 (en) Processing workloads using a processor hierarchy system
CN110609872A (zh) 用于同步节点数据的方法和装置
CN109508326B (zh) 用于处理数据的方法、装置和***
US20200004464A1 (en) Method and apparatus for storing data
CN111444148B (zh) 基于MapReduce的数据传输方法和装置
CN110673959A (zh) 用于处理任务的***、方法和装置
CN111338834B (zh) 数据存储方法和装置
CN113553178A (zh) 任务处理方法、装置和电子设备
CN110782122A (zh) 数据处理方法、装置及电子设备
US20230055511A1 (en) Optimizing clustered filesystem lock ordering in multi-gateway supported hybrid cloud environment
US9893936B2 (en) Dynamic management of restful endpoints
CN113760638A (zh) 一种基于kubernetes集群的日志服务方法和装置
CN112148705A (zh) 数据迁移的方法和装置
CN113886353B (zh) 分层存储管理软件的数据配置推荐方法、装置及存储介质
US10097484B2 (en) Using send buffers and receive buffers for sending messages among nodes in a network
CN112559001B (zh) 更新应用的方法和装置
US10511656B1 (en) Log information transmission integrity
CN113076175A (zh) 用于虚拟机的内存共享方法及装置
US10162626B2 (en) Ordered cache tiering for program build files
CN112988738A (zh) 用于区块链的数据分片方法和装置
CN115277610B (zh) 基于双活环境的消息分流发送方法、装置、设备及介质
CN112883009B (zh) 用于处理数据的方法和装置
CN112311833B (zh) 数据更新方法和装置

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
CB02 Change of applicant information

Address after: 210023 163 Xianlin Road, Qixia District, Nanjing, Jiangsu

Applicant after: NANJING University

Applicant after: Douyin Vision Co.,Ltd.

Address before: 210023 163 Xianlin Road, Qixia District, Nanjing, Jiangsu

Applicant before: NANJING University

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 210023 163 Xianlin Road, Qixia District, Nanjing, Jiangsu

Applicant after: NANJING University

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 210023 163 Xianlin Road, Qixia District, Nanjing, Jiangsu

Applicant before: NANJING University

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant