CN102541858B - 基于映射和规约的数据均衡性处理方法、装置及*** - Google Patents
基于映射和规约的数据均衡性处理方法、装置及*** Download PDFInfo
- Publication number
- CN102541858B CN102541858B CN201010585613.8A CN201010585613A CN102541858B CN 102541858 B CN102541858 B CN 102541858B CN 201010585613 A CN201010585613 A CN 201010585613A CN 102541858 B CN102541858 B CN 102541858B
- Authority
- CN
- China
- Prior art keywords
- subregion
- stipulations
- fine granularity
- intermediate result
- result data
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于映射和规约的数据均衡性处理方法、装置及***。包括:获取客户端提交的数据,按照预先设置的映射器数对获取的数据进行初始分区;分别对初始分区中的数据进行映射处理,获取中间结果数据;调用分区器函数,对中间结果数据按照预先设置的细粒度分区数进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数;将各细粒度分区中的中间结果数据量信息输出至工作服务器,接收工作服务器返回的细粒度分区与规约分区的对应关系,合并细粒度分区中属于同一规约分区的中间结果数据并输出至对应的规约分区;对规约分区中的中间结果数据进行规约处理,获取相应的数据处理结果。应用本发明,可以均衡数据负载、提高处理数据的效率。
Description
技术领域
本发明涉及分布式数据计算技术,特别涉及一种基于映射和规约(MapReduce)的数据均衡性处理方法、装置及***。
背景技术
MapReduce是现有应用于大规模数据处理的一种***架构,作为一种编程的***架构,广泛应用于大规模数据集(如大于1TB数据集)的并行运算,例如,大规模分布式过滤、大规模分布排序、Web连接图反转、Web访问日志分析、反向索引构建、文档聚类、机器学习以及基于统计的机器翻译等。在MapReduce***架构中,数据处理过程分为两个阶段:第一阶段为映射(Map)阶段,对待处理数据进行初始分区,并对初始分区内每一个元素进行计算,输出到规约分区。其中,具有相同键的计算结果存放在同一规约分区;第二阶段为规约(Reduce)阶段,具有相同键的映射计算结果合并形成列表,然后对列表的元素进行适当的合并,得到最终的结果。
MapReduce极大地方便了编程人员在不会分布式并行编程的情况下,将自己编写的程序运行在分布式***上。
图1为现有基于MapReduce的数据均衡性处理***结构示意图。以用于运行应用程序在大型廉价硬件设备集群上的框架Hadoop为例,参见图1,该***包括:客户端(Client)、作业服务器(JobTracker)以及一个或多个任务服务器(TaskTracker),其中,
本申请中,一次MapReduce计算请求被称为作业。客户端通过客户端程序(ClientProgram)以及JobTracker提交作业,该作业由JobTracker进行协调,先执行Map阶段,如图1中标识的M1、M2和M3,然后执行Reduce阶段,如图1中标识的R1和R2。Map阶段和Reduce阶段进行的数据处理操作由TaskTracker进行监控,并运行在独立于TaskTracker的进程中。
具体来说,客户端通过ClientProgram以及JobTracker提交作业,即输入数据(InputData),在Map阶段,TaskTracker预先对输入数据进行初始分区,本申请中,输入数据被划分为互不重叠的5个初始分区,包括输入初始分区1(InputSplit1)~输入初始分区5(InputSplit5),Map通过输入格式(InputFormat)调用,读取输入数据,然后分别由5个映射器(Mapper)分别处理,其中,TaskTracker1和TaskTracker3分别包括两个Mapper,TaskTracker2包括一个Mapper,初始分区1和初始分区4中的数据输入TaskTracker1中的Mapper,初始分区3和初始分区5中的数据输入TaskTracker3中的Mapper,初始分区2中的数据输入TaskTracker2中的Mapper。输入Mapper的数据格式为<key,value>,下面描述中,称之为key1和value1。
Mapper对key1和value1进行处理后,产生以<key,value>格式存在的中间结果(中间数据),并存入随机存储器(RAM,RandomAccessMemory),下面描述中,称之为key2和value2。TaskTracker可以对RAM中存储的中间数据进行合并(Combine)。通过为每一个中间结果调用分区器(Partitioner)函数,指定中间结果的Reduce分区(Partition),输出中间结果至对应Reduce分区的对应缓冲区,如图1中的Region1和Region2。
Partitioner函数的定义如下:
intgetPartition(K2key,V2value,intnumPartitions)
该函数需要参数key和value,分别是Mapper的输出key2和value2,同时,还有分区数(numPartitions),即指定的Reduce分区数,在图1所示示例中,包括两个规约器(Reducer),则该指定的Reduce分区数的值为2,一个Reducer对应一个Reduce分区。
当执行完毕Map阶段的处理流程后,进入Reduce阶段,Reduce阶段包括3个步骤:混洗(Shuffle)、排序(Sort)和Reduce。在混洗步骤,Hadoop的MapReduce***根据Map结果中的key,将相关的结果,即将Mapper输出的经合并和分区的一个缓冲区(Region1或Region2)中存储的中间数据,传输到某一个Reducer任务上,也就是将分布在不同TaskTracker上的多个Mapper产生的同一个key的中间结果传输至处理这个key的Reducer的TaskTracker上。例如,将图1中所有属于Region1的中间数据传输到同一个Reducer任务,以及,将图1中所有属于Region2的中间数据都传输到另一个Reducer任务。在混洗的同时,排序也在执行,通过将来自不同Mapper的具有相同key值的<key2,value2>对合并到一起,形成一个<key2,<value2的列表>>,作为TaskTracker中Reducer的输入,Reducer通过对接收的<key2,<value2的列表>>进行处理,形成最终结果<key,value>,下面描述中,称之为<key3,value3>,并作为输出数据(OutputData)输出。
上述示例中,执行Map阶段处理的TaskTracker以及执行Reduce阶段处理的TaskTracker可以为同一TaskTracker,也可以为不同的TaskTracker。
由上述可见,现有的基于MapReduce的数据均衡性处理方法,在对细粒度分区中的中间数据进行合并的过程中,由于缺乏对细粒度分区内数据量进行有效统计的手段,使得以指定的Reduce分区的方式,分别输出至Reduce分区对应的缓冲区数据量不均衡,即可能导致缓冲区Region1中的数据量与缓冲区Region2中的数据量差异较大,这样,将对应缓冲区的中间数据传输到相应Reducer任务(Reducer)的过程中,可能导致作为TaskTracker中输入Reducer的中间数据不均匀,也就是说,输入到某一个Reducer上的中间数据比其他Reducer上的中间数据多。
图2为现有基于MapReduce的数据均衡性处理后的Reduce分区包含的数据量示意图。参见图2,包括两个Reduce分区,假设图1中,TaskTracker1~TaskTracker3的Region1中数据传输至Reduce分区1(Reducer1),TaskTracker1~TaskTracker3的Region2中数据传输至Reduce分区2(Reducer2),Reduce分区输入的数据量分别为曲线的线下面积。由图中可以看出,由于TaskTracker1~TaskTracker3的Region1中数据量大大超出TaskTracker1~TaskTracker3的Region2中数据量,使得Reduce分区1中进行Reduce处理的数据量(Reducer1执行)大大超过Reduce分区2中进行Reduce处理的数据量(Reducer2执行),这样,处理Reduce分区1中数据所需的时间将远大于处理Reduce分区2中数据所需的时间。而实际应用中,数据处理所需的时间(任务结束的时间)由处理时间长的Reducer1决定,从而由于Reducer负载不均衡的现象,将导致***处理数据时间的延长,例如,***中Reducer1还在处理数据,而同时,Reducer2却处于空闲状态,使得TaskTracker资源得不到有效利用,降低了处理数据的效率。
发明内容
有鉴于此,本发明的主要目的在于提出一种基于映射和规约的数据均衡性处理方法,均衡数据负载、提高处理数据的效率。
本发明的另一目的在于提出一种基于映射和规约的数据均衡性处理装置,均衡数据负载、提高处理数据的效率。
本发明的再一目的在于提出一种基于映射和规约的数据均衡性处理***,均衡数据负载、提高处理数据的效率。
为达到上述目的,本发明提供了一种基于映射和规约的数据均衡性处理方法,该方法包括:
A、获取客户端提交的数据,按照预先设置的映射器数对获取的数据进行初始分区;
B、分别对初始分区中的数据进行映射处理,获取中间结果数据;
C、调用分区器函数,对中间结果数据按照预先设置的细粒度分区数进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数;
D、将各细粒度分区中的中间结果数据量信息输出至工作服务器,接收工作服务器返回的细粒度分区与规约分区的对应关系,合并细粒度分区中属于同一规约分区的中间结果数据并输出至对应的规约分区;
E、对规约分区中的中间结果数据进行规约处理,获取相应的数据处理结果。
在所述步骤C和步骤D之间,进一步包括:
判断映射处理的进度是否达到预先设置的进度阈值,如果是,执行步骤D。
所述预先设置的进度阈值为映射器已完成初始分区中的数据量映射处理的预设的百分比。
步骤D中所述将各细粒度分区中的中间结果数据量信息输出至工作服务器,接收工作服务器返回的细粒度分区与规约分区的对应关系具体包括:
工作服务器统计接收的各映射器上报的相应细粒度分区中的中间结果数据量信息,得到中间结果数据总量,根据规约分区数,计算每个规约分区需要处理的中间结果数据量,根据计算得到的每个规约分区需要处理的中间结果数据量信息,确定细粒度分区对应的规约分区,使得选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量,然后,将细粒度分区与规约分区的对应关系信息输出至任务服务器。
进一步包括:预先设置标识细粒度分区在细粒度分区群中顺序的细粒度分区顺序标志位,所述选择相应规约分区对应的细粒度分区,使得选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量具体包括:
顺序选择相应规约分区对应的细粒度分区,使得顺序选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量。
一种基于映射和规约的数据均衡性处理装置,该装置包括:接收单元、均衡策略计算单元以及发送单元,其中,
接收单元,用于接收客户端提交的数据,输出至发送单元;接收外部的任务服务器发送的各细粒度分区中的中间结果数据量信息,输出至均衡策略计算单元;
均衡策略计算单元,用于根据接收单元输出的各细粒度分区中的中间结果数据量信息,按照预先设置的均衡策略计算分配到预先设置的规约分区数中各规约分区的细粒度分区数,将细粒度分区与规约分区的对应关系信息输出至发送单元;
发送单元,用于将接收单元输出的客户端提交的数据以及均衡策略计算单元输出的细粒度分区与规约分区的对应关系信息输出至外部的任务服务器。
一种基于映射和规约的数据均衡性处理装置,该装置包括:接收单元、初始分区单元、映射处理单元、细粒度分区单元、规约分区单元以及规约处理单元,其中,
接收单元,用于接收来自外部作业服务器的数据,输出至初始分区单元;接收外部作业服务器输出的细粒度分区与规约分区的对应关系信息,输出至规约分区单元;
初始分区单元,用于按照预先设置的映射器数对接收的数据进行初始分区,输出至相应的映射处理单元;
映射处理单元,用于对初始分区输出的数据进行映射处理,获取中间结果数据,输出至细粒度分区单元;
细粒度分区单元,用于按照预先设置的细粒度分区数对中间结果数据进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数,并将中间结果数据量信息输出至外部的作业服务器;接收来自接收单元输出的细粒度分区与规约分区的对应关系信息,根据对应关系将细粒度分区中属于同一规约分区的中间结果数据输出至相应的规约分区;
规约分区单元,用于将接收的中间结果数据输出至相应的规约处理单元;
规约处理单元,用于对输入的合并的中间结果数据进行规约处理,获取相应的数据处理结果。
进一步包括判断单元以及发送单元,其中,
判断单元,用于判断映射处理单元的进度是否达到预先设置的进度阈值,如果是,触发将细粒度分区单元中的中间结果数据量信息输出至发送单元;
发送单元,用于将接收的中间结果数据量信息输出至外部的作业服务器。
一种基于映射和规约的数据均衡性处理***,该***包括:作业服务器以及一个或多个任务服务器,其中,
作业服务器,用于接收客户端提交的数据,输出至任务服务器;根据接收的各细粒度分区中的中间结果数据量信息以及预先设置的规约分区数,按照预先设置的均衡策略计算分配到各规约分区的细粒度分区数,将细粒度分区与规约分区的对应关系信息输出至任务服务器;
任务服务器,用于按照预先设置的映射器数对接收的数据进行初始分区,分别对初始分区中的数据进行映射处理,获取中间结果数据,调用分区器函数,对中间结果数据按照预先设置的细粒度分区数进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数,并将各细粒度分区中的中间结果数据量信息输出至作业服务器;接收作业服务器返回的细粒度分区与规约分区的对应关系,合并细粒度分区中属于同一规约分区的中间结果数据并输出至对应关系对应的规约分区,并对规约分区中输入的中间结果数据进行规约处理,获取相应的数据处理结果。
所述作业服务器包括:接收单元、均衡策略计算单元以及发送单元,其中,
接收单元,用于接收客户端提交的数据,输出至发送单元;接收外部的任务服务器发送的各细粒度分区中的中间结果数据量信息,输出至均衡策略计算单元;
均衡策略计算单元,用于根据接收单元输出的各细粒度分区中的中间结果数据量信息,按照预先设置的均衡策略计算分配到预先设置的规约分区数中各规约分区的细粒度分区数,将细粒度分区与规约分区的对应关系信息输出至发送单元;
发送单元,用于将接收单元输出的客户端提交的数据以及均衡策略计算单元输出的细粒度分区与规约分区的对应关系信息输出至外部的任务服务器。
所述任务服务器包括:接收单元、初始分区单元、映射处理单元、细粒度分区单元、规约分区单元以及规约处理单元,其中,
接收单元,用于接收来自外部作业服务器的数据,输出至初始分区单元;接收外部作业服务器输出的细粒度分区与规约分区的对应关系信息,输出至细粒度分区单元;
初始分区单元,用于按照预先设置的映射器数对接收的数据进行初始分区,输出至相应的映射处理单元;
映射处理单元,用于对初始分区输出的数据进行映射处理,获取中间结果数据,输出至细粒度分区单元;
细粒度分区单元,用于按照预先设置的细粒度分区数对输入的合并的中间结果数据进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数,并将中间结果数据量信息输出至外部的作业服务器;接收来自接收单元输出的细粒度分区与规约分区的对应关系信息,根据对应关系将细粒度分区中属于同一规约分区的中间结果数据输出至相应的规约分区;
规约分区单元,用于将接收的合并的中间结果数据输出至相应的规约处理单元;
规约处理单元,用于对输入的合并的中间结果数据进行规约处理,获取相应的数据处理结果。
所述任务服务器进一步包括判断单元以及发送单元,其中,
判断单元,用于判断映射处理单元的进度是否达到预先设置的进度阈值,如果是,触发将细粒度分区单元中的中间结果数据量信息输出至发送单元;
发送单元,用于将接收的中间结果数据量信息输出至外部的作业服务器。
由上述的技术方案可见,本发明提供的一种基于映射和规约的数据均衡性处理方法、装置及***,获取客户端提交的数据,按照预先设置的映射器数对获取的数据进行初始分区;分别对初始分区中的数据进行映射处理,获取中间结果数据;调用分区器函数,对中间结果数据按照预先设置的细粒度分区数进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数;将各细粒度分区中的中间结果数据量信息输出至工作服务器,接收工作服务器返回的细粒度分区与规约分区的对应关系,合并细粒度分区中属于同一规约分区的中间结果数据并输出至对应的规约分区;对规约分区中的中间结果数据进行规约处理,获取相应的数据处理结果。这样,通过将Mapper的输出划分为大量细粒度分区,然后通过合并细粒度分区,形成比较均匀的Reduce分区,均衡了各Reduce分区中的数据负载,从而降低了Reducer负载不均衡的现象,使得TaskTracker资源得到有效利用,减少了作业完成需要的总时间,提高了处理数据的效率。
附图说明
图1为现有基于MapReduce的数据均衡性处理***结构示意图。
图2为现有基于MapReduce的数据均衡性处理后的Reduce分区包含的数据量示意图。
图3为本发明实施例基于MapReduce的数据均衡性处理方法流程示意图。
图4为本发明实施例进行细粒度分区后的中间结果数据结构示意图。
图5为本发明实施例基于MapReduce的数据均衡性处理***结构示意图。
图6为本发明实施例基于MapReduce的数据均衡性处理***的另一结构示意图。
图7为本发明实施例作业服务器的结构示意图。
图8为本发明实施例任务服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
现有技术中,在将Mapper处理的中间结果存入RAM,并对存入RAM的中间结果数据执行合并以及分区时,以指定的Reduce分区的方式进行处理,并输出至对应的缓冲区,使得输入缓冲区的中间结果数据负载不均衡。
本发明实施例中,在对存入RAM的中间结果数据执行分区前,通过对中间结果数据进行细粒度分区的预处理,获取细粒度分区的中间结果数据的分布情况,根据获取的数据分布情况,按照预先设置的均衡策略以指定的Reduce分区的方式对细粒度分区的中间结果数据进行合并处理,并输出至对应的缓冲区,以使缓冲区中的数据负载均衡。
具体来说,在MapReduce架构中,对Map的中间结果数据进行两阶段分组,第一阶段进行细粒度分区,细粒度分区可以使用原有的Partitioner函数,与现有规约分区数(Nr)不同的是,该第一阶段的细粒度分区数(Nf)远大于现有规约分区数,即输入Partitioner函数中的分区数远大于现有Reducer数(Nr),并在Mapper中基于细粒度分区数(Nf)对中间结果数据进行细粒度分区。
在Mapper进行到预先设定的进度时,统计第一阶段各细粒度分区中的数据量信息,并上报到JobTracker,JobTracker根据Mapper上报的各细粒度分区数据量信息,按照预先设置的均衡策略以指定的Reduce分区的方式对各细粒度分区的中间结果数据进行合并处理,并输出至对应的缓冲区,从而产生数据量比较均匀的Reduce分区,指定的Reduce分区的分区数等于Reducer数。后续Reducer获取相应的Reduce分区,进行规约,与现有技术相同。这样,通过二次细粒度分区,可以避免在MapReduce架构中出现某些Reducer上需要计算的数据量远大于其他Reducer的情况,从而减少任务的执行时间。
图3为本发明实施例基于MapReduce的数据均衡性处理方法流程示意图。参见图3,该流程包括:
步骤301,获取客户端提交的数据;
本步骤中,客户端通过客户端程序以及JobTracker提交用户输入的数据,并由JobTracker进行协调,输出至TaskTracker,TaskTracker获取客户端提交的数据。
步骤302,按照预先设置的映射器数对获取的数据进行初始分区;
本步骤中,预先设置的映射器数为本发明用于对数据进行Map处理的映射器数,例如,如果映射器数为5个,则将获取的数据划分为5个初始分区。
步骤303,分别对初始分区中的数据进行Map处理,获取中间结果数据;
本步骤中,各Mapper读取相应初始分区中的数据,输入的数据是<key,value>,下面描述中,称之为key1和value1。
Mapper对key1和value1进行处理后,产生以<key,value>格式存在的中间结果,并存入RAM,下面描述中,称之为key2和value2。
步骤301~步骤303与现有技术相同。
步骤304,调用Partitioner函数,对中间结果数据按照预先设置的细粒度分区数进行细粒度分区,所述预先设置的细粒度分区数大于Reduce分区数;
本步骤中,为了使得输入Reducer的相应Reduce分区进行规约处理的数据负载较为均衡,本发明实施例中,进一步对中间结果数据进行细粒度分区,以使得各细粒度分区中的中间结果数据粒度更细,有利于后续负载均衡。
步骤305,对中间结果数据进行合并;
本步骤中,对中间结果数据进行合并是MapReduce应用的一种优化策略,可以合并相同的中间结果数据,以便于在一个Map任务输出的中间结果数据上进行规约,有助于降低从Map阶段到Reduce阶段的数据传输量,为可选步骤。
图4为本发明实施例进行细粒度分区后的中间结果数据结构示意图。参见图4,本发明实施例中,预先设置的细粒度分区数为8,即将中间结果数据划分为8个细粒度分区,这样,细粒度分区中包含的中间结果数据粒度更细。
步骤306,判断Map处理的进度是否达到预先设置的进度阈值,如果是,执行步骤307,否则,继续进行Map处理;
本步骤中,Mapper根据各初始分区中的数据量以及进行Map处理的数据量(RAM中存储的中间结果数据量),计算Map处理的进度。
预先设置的进度阈值可以是Mapper已完成相应初始分区中的数据量Map处理的80%、或100%等预设的百分比,具体可根据实际需要以及已完成Map处理的数据量能够反映数据分布情况即可。
步骤307,将各细粒度分区中的中间结果数据量信息输出至JobTracker,接收JobTracker返回的细粒度分区与Reduce分区的对应关系,合并细粒度分区中属于同一规约分区的中间结果数据并输出至对应的Reduce分区;
本步骤中,JobTracker接收各Mapper上报的相应细粒度分区中的中间结果数据量信息,根据各细粒度分区中的中间结果数据量信息以及Reduce分区数,即Reducer数,按照预先设置的均衡策略计算分配到各Reduce分区的细粒度分区数,具体来说,JobTracker统计接收的各Mapper上报的相应细粒度分区中的中间结果数据量信息,得到中间结果数据总量,根据Reduce分区数,计算每个Reduce分区需要处理的中间结果数据量,根据计算得到的每个Reduce分区需要处理的中间结果数据量信息,确定细粒度分区对应的规约分区,使得选择的细粒度分区内的中间结果数据量之和等于或近似等于对应Reduce分区需要处理的中间结果数据量。然后,将细粒度分区与Reduce分区的对应关系信息输出至任务服务器,以使分配到各Reduce分区中的数据量负载较为均衡。
本发明实施例中,预先设置的均衡策略可以根据实际需要确定,总体原则只要保持分配到各Reduce分区中的数据量负载较为均衡即可。例如,对于图4所示的进行细粒度分区后的中间结果数据,假设Reduce分区数为2,JobTracker根据上报的各细粒度分区①~⑧中的中间结果数据量信息以及Reduce分区数2,利用预先设置的均衡策略进行均衡计算,设置将细粒度分区①、细粒度分区③和细粒度分区④中的中间结果数据输出至Reduce分区1,将其它的细粒度分区②、⑤、⑥、⑦、⑧中的中间结果数据输出至Reduce分区2。这样,Reduce分区1和Reduce分区2中的数据负载就较为均衡。
当然,实际应用中,在合并细粒度分区前,也可以通过设置细粒度分区顺序标志位以标识该细粒度分区在细粒度分区群中的顺序,例如,对于图4所示的进行细粒度分区后的中间结果数据,可以设置细粒度分区①~⑧的细粒度分区顺序标志位分别为1~8,细粒度分区顺序标志位为1表示顺序最前,这样,可以保证细粒度分区的顺序,这对于某些对数据需要进行排序,以保证细粒度分区顺序是应用正常工作保证的MapReduce应用中,通过设置该细粒度分区顺序标志位,在进行细粒度分区合并时,按细粒度分区顺序标志位进行顺序合并,以图4为例,根据各细粒度分区中的中间结果数据量信息、Reduce分区数以及预先设置的均衡策略,可以将细粒度分区①、细粒度分区②以及细粒度分区③中的中间结果数据输出至Reduce分区1,将细粒度分区④、细粒度分区⑤、细粒度分区⑥、细粒度分区⑦以及细粒度分区⑧中的中间结果数据输出至Reduce分区2。这样,可能虽然不及不按顺序的细粒度分区合并,但可以保证细粒度分区顺序,满足需要对数据进行排序处理的应用场景,也可以使得Reduce分区1和Reduce分区2中的数据负载较为均衡。
步骤308,对Reduce分区中输入的中间结果数据进行规约处理,获取相应的数据处理结果。
本步骤中,进入Reduce阶段,Reducer按原有流程,获取合并后的分区,进行相应的计算,与现有技术相同,在此不再赘述。
图5为本发明实施例基于MapReduce的数据均衡性处理***结构示意图。参见图5,该***包括:作业服务器以及一个或多个任务服务器,其中,
作业服务器,用于接收客户端提交的数据,输出至任务服务器;根据接收的各细粒度分区中的中间结果数据量信息以及预先设置的Reduce分区数,按照预先设置的均衡策略计算分配到各Reduce分区的细粒度分区数,将细粒度分区与Reduce分区的对应关系信息输出至任务服务器;
任务服务器,用于按照预先设置的映射器数对接收的数据进行初始分区,分别对初始分区中的数据进行Map处理,获取中间结果数据,调用Partitioner函数,对中间结果数据按照预先设置的细粒度分区数进行细粒度分区,所述预先设置的细粒度分区数大于Reducer数,判断Map处理的进度是否达到预先设置的进度阈值,如果是,将各细粒度分区中的中间结果数据量信息输出至作业服务器;接收作业服务器返回的细粒度分区与Reduce分区的对应关系,合并细粒度分区中属于同一规约分区的中间结果数据并输出至对应关系对应的Reduce分区,并对Reduce分区中输入的中间结果数据进行规约处理,获取相应的数据处理结果。
图6为本发明实施例基于MapReduce的数据均衡性处理***的另一结构示意图。参见图6,包括:客户端、作业服务器以及一个或多个任务服务器,***的主要流程包括:任务提交、执行Mapper以及Reduce处理,其中,
任务提交:MapReduce开发人员根据新的架构的要求,编写Mapper、Reducer和Combiner,并提供细粒度分区数Nf和Reduce分区数Nr,其中,Nf>Nr。
执行Mapper:用户编写的Mapper被***调用,执行运算。Mapper的输出是<key2,value2>和细粒度分区数Nf,作为参数,调用Partitioner函数,得到该输出的细粒度分区,***将该输出保存于对应的细粒度分区中。Mapper在执行到某一个点,如完成输入的80%时,可以向JobTracker汇报当前细粒度分区中Mapper输出数据的计数(中间结果数据量信息)。其中,中间结果数据量信息在某种程度反映了Reducer输入数据的分布。JobTracker在收集完所有或大部分Mapper的上报后,考虑分区顺序标志位,生成一个比较均匀的Reduce分区方案,并通知Mapper;
Mapper根据接收的Reduce分区方案,将Nf个细粒度分区(Region.1~Region.n),合并成为Nr个Reduce分区。
Reduce处理:Reduce分区获取相应的输入数据,进行规约。
上述更具体的流程可以描述如下:
客户端通过ClientProgram以及JobTracker提交作业,即输入数据(InputData),在Map阶段,TaskTracker预先对输入数据进行初始分区,本申请中,输入数据被划分为互不重叠的5个初始分区,包括输入细粒度分区1(InputSplit1)~输入细粒度分区5(InputSplit5),Mapper通过输入格式(InputFormat)调用,读取相应数据,本发明实施例中,数据分别由5个映射器(Mapper)分别处理,其中,TaskTracker1和TaskTracker3分别包括两个Mapper,TaskTracker2包括一个Mapper,细粒度分区1和细粒度分区4中的数据输入TaskTracker1中的Mapper,细粒度分区3和细粒度分区5中的数据输入TaskTracker3中的Mapper,细粒度分区2中的数据输入TaskTracker2中的Mapper。输入Mapper的数据格式为<key,value>,下面描述中,称之为key1和value1。
Mapper对key1和value1进行处理后,产生以<key,value>格式存在的中间结果,并存入随机存储器(RAM,RandomAccessMemory),下面描述中,称之为key2和value2。TaskTracker对RAM中存储的对应各初始分区的中间数据进行合并,并通过为每一个输出调用分区器(Partitioner)函数,上述处理流程与图1相同。
在对细粒度分区进行合并后,与图1不同的是,在对细粒度分区进行合并后执行的处理流程,即在于TaskTracker的Map输出分区和缓存管理部分以及JobTracker均衡处理部分。本发明实施例中,对原有的<key2,value2>输出的分区进行增强,即根据预先设置的细粒度分区数Nf对原有的<key2,value2>进行分区,将<key2,value2>分为Nf个细粒度分区。同时,与外部的JobTracker进行通信,在判断Map处理的进度达到预先设置的进度阈值后,向JobTracker报告各细粒度分区中的中间结果数据量信息,JobTracker搜集Mapper对细粒度分区输出的统计数据(中间结果数据量信息),可以考虑分区顺序标志位,根据均衡策略生成一个比较均匀的Reduce分区方案,并通知TaskTracker,TaskTracker接收JobTracker的命令,即细粒度分区与Reduce分区的对应关系,根据Reduce分区数(Reducer数),按照对应关系合并细粒度分区中的<key2,value2>,以指定的Reduce分区的方式,分别输出至对应的Reduce分区对应的缓冲区,如图6中的Region1和Region2。各Reduce分区分别对缓冲区输入的<key2,value2>进行规约处理,得到相应的数据处理结果。
图7为本发明实施例作业服务器的结构示意图。参见图7,该作业服务器包括:接收单元、均衡策略计算单元以及发送单元,其中,
接收单元,用于接收客户端提交的数据,输出至发送单元;接收外部的任务服务器发送的各细粒度分区中的中间结果数据量信息,输出至均衡策略计算单元;
均衡策略计算单元,用于根据接收单元输出的各细粒度分区中的中间结果数据量信息,按照预先设置的均衡策略计算分配到预先设置的Reduce分区数中各Reduce分区的细粒度分区数,将细粒度分区与Reduce分区的对应关系信息输出至发送单元;
发送单元,用于将接收单元输出的客户端提交的数据以及均衡策略计算单元输出的细粒度分区与Reduce分区的对应关系信息输出至外部的任务服务器。
图8为本发明实施例任务服务器的结构示意图。参见图8,该任务服务器包括:接收单元、初始分区单元、Map处理单元、细粒度分区单元、判断单元、发送单元、Reduce分区单元以及规约处理单元,其中,
接收单元,用于接收来自外部作业服务器的数据,输出至初始分区单元;接收外部作业服务器输出的细粒度分区与Reduce分区的对应关系信息,输出至细粒度分区单元;
初始分区单元,用于按照预先设置的映射器数对接收的数据进行初始分区,输出至相应的Map处理单元;
Map处理单元,用于对初始分区输出的数据进行Map处理,获取中间结果数据,输出至细粒度分区单元;
细粒度分区单元,用于按照预先设置的细粒度分区数对输入的合并的中间结果数据进行细粒度分区,所述预先设置的细粒度分区数大于Reduce分区数;接收来自接收单元输出的细粒度分区与Reduce分区的对应关系信息,根据对应关系将细粒度分区中属于同一规约分区的中间结果数据输出至相应的Reduce分区;
判断单元,用于判断Map处理单元的进度是否达到预先设置的进度阈值,如果是,将细粒度分区单元中的中间结果数据量信息输出至发送单元;
发送单元,用于将接收的中间结果数据量信息输出至外部的作业服务器;
Reduce分区单元,用于将接收的中间结果数据输出至相应的规约处理单元;
规约处理单元,用于对输入的中间结果数据进行规约处理,获取相应的数据处理结果。
由上述可见,本发明实施例的基于MapReduce的数据均衡性处理方法、装置及***,任务服务器在对数据进行Map处理获取中间结果数据后,进一步对中间结果数据按照预先设置的细粒度分区数进行细粒度分区,并将各细粒度分区中的中间结果数据量信息输出至JobTracker,JobTracker根据各细粒度分区中的中间结果数据量信息以及Reduce分区数,按照预先设置的均衡策略计算分配到各Reduce分区的细粒度分区数,将细粒度分区与Reduce分区的对应关系信息输出至任务服务器,任务服务器根据接收的细粒度分区与Reduce分区的对应关系,将细粒度分区中属于同一规约分区的中间结果数据输出至对应的Reduce分区进行规约处理。这样,通过将Mapper的输出划分为大量细粒度分区,然后通过合并细粒度分区,形成比较均匀的Reduce分区,均衡了各Reduce分区中的数据负载,从而降低了Reducer负载不均衡的现象,使得TaskTracker资源得到有效利用,减少了作业完成需要的总时间,提高了处理数据的效率。进一步地,可以在判断Map处理的进度达到预先设置的进度阈值时,触发将各细粒度分区中的中间结果数据量信息输出至JobTracker,使得在细粒度分区中的中间结果数据量信息能够反映数据分布的情况下,有效降低TaskTracker与JobTracker之间交互的数据量,减少进行数据均衡性处理所需的时间。而且,通过设置细粒度分区标志位,可以保证对数据需要进行排序的应用场景。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种基于映射和规约的数据均衡性处理方法,其特征在于,该方法包括:
A、获取客户端提交的数据,按照预先设置的映射器数对获取的数据进行初始分区;
B、分别对初始分区中的数据进行映射处理,获取中间结果数据;
C、调用分区器函数,对中间结果数据按照预先设置的细粒度分区数进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数;
D、将各细粒度分区中的中间结果数据量信息输出至工作服务器,接收工作服务器返回的细粒度分区与规约分区的对应关系,合并细粒度分区中属于同一规约分区的中间结果数据并输出至对应的规约分区;
E、对规约分区中的中间结果数据进行规约处理,获取相应的数据处理结果;
步骤D中所述将各细粒度分区中的中间结果数据量信息输出至工作服务器,接收工作服务器返回的细粒度分区与规约分区的对应关系具体包括:
工作服务器统计接收的各映射器上报的相应细粒度分区中的中间结果数据量信息,得到中间结果数据总量,根据规约分区数,计算每个规约分区需要处理的中间结果数据量,根据计算得到的每个规约分区需要处理的中间结果数据量信息,确定细粒度分区对应的规约分区,使得选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量,然后,将细粒度分区与规约分区的对应关系信息输出至任务服务器。
2.如权利要求1所述的方法,其特征在于,在所述步骤C和步骤D之间,进一步包括:
判断映射处理的进度是否达到预先设置的进度阈值,如果是,执行步骤D。
3.如权利要求2所述的方法,其特征在于,所述预先设置的进度阈值为映射器已完成初始分区中的数据量映射处理的预设的百分比。
4.如权利要求1所述的方法,其特征在于,进一步包括:预先设置标识细粒度分区在细粒度分区群中顺序的细粒度分区顺序标志位,所述确定细粒度分区对应的规约分区,使得选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量具体包括:
顺序选择相应规约分区对应的细粒度分区,使得顺序选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量。
5.一种基于映射和规约的数据均衡性处理装置,其特征在于,该装置包括:接收单元、均衡策略计算单元以及发送单元,其中,
接收单元,用于接收客户端提交的数据,输出至发送单元;接收外部的任务服务器发送的各细粒度分区中的中间结果数据量信息,输出至均衡策略计算单元;
均衡策略计算单元,用于根据接收单元输出的各细粒度分区中的中间结果数据量信息,得到中间结果数据总量,根据规约分区数,计算每个规约分区需要处理的中间结果数据量,根据计算得到的每个规约分区需要处理的中间结果数据量信息,确定细粒度分区对应的规约分区,使得选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量,将细粒度分区与规约分区的对应关系信息输出至发送单元;
发送单元,用于将接收单元输出的客户端提交的数据以及均衡策略计算单元输出的细粒度分区与规约分区的对应关系信息输出至外部的任务服务器。
6.一种基于映射和规约的数据均衡性处理装置,其特征在于,该装置包括:接收单元、初始分区单元、映射处理单元、细粒度分区单元、规约分区单元以及规约处理单元,其中,
接收单元,用于接收来自外部作业服务器的数据,输出至初始分区单元;接收外部作业服务器输出的细粒度分区与规约分区的对应关系信息,输出至规约分区单元;
初始分区单元,用于按照预先设置的映射器数对接收的数据进行初始分区,输出至相应的映射处理单元;
映射处理单元,用于对初始分区输出的数据进行映射处理,获取中间结果数据,输出至细粒度分区单元;
细粒度分区单元,用于按照预先设置的细粒度分区数对中间结果数据进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数,并将中间结果数据量信息输出至外部的作业服务器;其中,外部作业服务器用于统计接收的各映射器上报的相应细粒度分区中的中间结果数据量信息,得到中间结果数据总量,根据规约分区数,计算每个规约分区需要处理的中间结果数据量,根据计算得到的每个规约分区需要处理的中间结果数据量信息,确定细粒度分区对应的规约分区,使得选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量,然后,输出细粒度分区与规约分区的对应关系信息;细粒度分区单元用于接收来自接收单元输出的细粒度分区与规约分区的对应关系信息,根据对应关系将细粒度分区中属于同一规约分区的中间结果数据输出至相应的规约分区;
规约分区单元,用于将接收的中间结果数据输出至相应的规约处理单元;
规约处理单元,用于对输入的合并的中间结果数据进行规约处理,获取相应的数据处理结果。
7.如权利要求6所述的装置,其特征在于,进一步包括判断单元以及发送单元,其中,
判断单元,用于判断映射处理单元的进度是否达到预先设置的进度阈值,如果是,触发将细粒度分区单元中的中间结果数据量信息输出至发送单元;
发送单元,用于将接收的中间结果数据量信息输出至外部的作业服务器。
8.一种基于映射和规约的数据均衡性处理***,其特征在于,该***包括:作业服务器以及一个或多个任务服务器,其中,
作业服务器,用于接收客户端提交的数据,输出至任务服务器;统计接收的各映射器上报的相应细粒度分区中的中间结果数据量信息,得到中间结果数据总量,根据规约分区数,计算每个规约分区需要处理的中间结果数据量,根据计算得到的每个规约分区需要处理的中间结果数据量信息,确定细粒度分区对应的规约分区,使得选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量,将细粒度分区与规约分区的对应关系信息输出至任务服务器;
任务服务器,用于按照预先设置的映射器数对接收的数据进行初始分区,分别对初始分区中的数据进行映射处理,获取中间结果数据,调用分区器函数,对中间结果数据按照预先设置的细粒度分区数进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数,并将各细粒度分区中的中间结果数据量信息输出至作业服务器;接收作业服务器返回的细粒度分区与规约分区的对应关系,合并细粒度分区中属于同一规约分区的中间结果数据并输出至对应关系对应的规约分区,并对规约分区中输入的中间结果数据进行规约处理,获取相应的数据处理结果。
9.如权利要求8所述的***,其特征在于,所述作业服务器包括:接收单元、均衡策略计算单元以及发送单元,其中,
接收单元,用于接收客户端提交的数据,输出至发送单元;接收外部的任务服务器发送的各细粒度分区中的中间结果数据量信息,输出至均衡策略计算单元;
均衡策略计算单元,用于根据接收单元输出的各细粒度分区中的中间结果数据量信息,得到中间结果数据总量,根据规约分区数,计算每个规约分区需要处理的中间结果数据量,根据计算得到的每个规约分区需要处理的中间结果数据量信息,确定细粒度分区对应的规约分区,使得选择的细粒度分区内的中间结果数据量之和等于或近似等于对应规约分区需要处理的中间结果数据量,将细粒度分区与规约分区的对应关系信息输出至发送单元;
发送单元,用于将接收单元输出的客户端提交的数据以及均衡策略计算单元输出的细粒度分区与规约分区的对应关系信息输出至外部的任务服务器。
10.如权利要求8所述的***,其特征在于,所述任务服务器包括:接收单元、初始分区单元、映射处理单元、细粒度分区单元、规约分区单元以及规约处理单元,其中,
接收单元,用于接收来自外部作业服务器的数据,输出至初始分区单元;接收外部作业服务器输出的细粒度分区与规约分区的对应关系信息,输出至细粒度分区单元;
初始分区单元,用于按照预先设置的映射器数对接收的数据进行初始分区,输出至相应的映射处理单元;
映射处理单元,用于对初始分区输出的数据进行映射处理,获取中间结果数据,输出至细粒度分区单元;
细粒度分区单元,用于按照预先设置的细粒度分区数对输入的合并的中间结果数据进行细粒度分区,所述预先设置的细粒度分区数大于规约分区数,并将中间结果数据量信息输出至外部的作业服务器;接收来自接收单元输出的细粒度分区与规约分区的对应关系信息,根据对应关系将细粒度分区中属于同一规约分区的中间结果数据输出至相应的规约分区;
规约分区单元,用于将接收的合并的中间结果数据输出至相应的规约处理单元;
规约处理单元,用于对输入的合并的中间结果数据进行规约处理,获取相应的数据处理结果。
11.如权利要求10所述的***,其特征在于,所述任务服务器进一步包括判断单元以及发送单元,其中,
判断单元,用于判断映射处理单元的进度是否达到预先设置的进度阈值,如果是,触发将细粒度分区单元中的中间结果数据量信息输出至发送单元;
发送单元,用于将接收的中间结果数据量信息输出至外部的作业服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010585613.8A CN102541858B (zh) | 2010-12-07 | 2010-12-07 | 基于映射和规约的数据均衡性处理方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010585613.8A CN102541858B (zh) | 2010-12-07 | 2010-12-07 | 基于映射和规约的数据均衡性处理方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102541858A CN102541858A (zh) | 2012-07-04 |
CN102541858B true CN102541858B (zh) | 2016-06-15 |
Family
ID=46348781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010585613.8A Active CN102541858B (zh) | 2010-12-07 | 2010-12-07 | 基于映射和规约的数据均衡性处理方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541858B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023805A (zh) * | 2012-11-22 | 2013-04-03 | 北京航空航天大学 | 一种MapReduce*** |
CN103942197B (zh) * | 2013-01-17 | 2018-06-26 | 阿里巴巴集团控股有限公司 | 数据监控处理方法及设备 |
CN104252338A (zh) * | 2013-06-25 | 2014-12-31 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN104008012B (zh) * | 2014-05-30 | 2017-10-20 | 长沙麓云信息科技有限公司 | 一种基于虚拟机动态迁移的高性能MapReduce实现方法 |
CN104391748A (zh) * | 2014-11-21 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种mapreduce计算过程优化方法 |
CN105760215A (zh) * | 2014-12-17 | 2016-07-13 | 南京绿云信息技术有限公司 | 基于映射规约模型分布式文件***作业的运行方法 |
CN106933935B (zh) * | 2015-12-31 | 2019-12-10 | 北京国双科技有限公司 | 任务存储方法和装置 |
CN106502790A (zh) * | 2016-10-12 | 2017-03-15 | 山东浪潮云服务信息科技有限公司 | 一种基于数据分布的任务分配优化方法 |
CN108415912B (zh) * | 2017-02-09 | 2021-11-09 | 阿里巴巴集团控股有限公司 | 基于MapReduce模型的数据处理方法和设备 |
CN110309177B (zh) * | 2018-03-23 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法以及相关装置 |
CN108595268B (zh) * | 2018-04-24 | 2021-03-09 | 咪咕文化科技有限公司 | 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质 |
CN109408559A (zh) * | 2018-10-09 | 2019-03-01 | 北京易观智库网络科技有限公司 | 进行留存分析的方法、装置以及存储介质 |
CN109947559B (zh) * | 2019-02-03 | 2021-11-23 | 百度在线网络技术(北京)有限公司 | 优化MapReduce计算的方法、装置、设备和计算机存储介质 |
CN110417910B (zh) * | 2019-08-07 | 2022-04-22 | 北京达佳互联信息技术有限公司 | 通知消息的发送方法、装置、服务器及存储介质 |
CN113778657B (zh) * | 2020-09-24 | 2024-04-16 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN113297188B (zh) * | 2021-02-01 | 2022-11-15 | 淘宝(中国)软件有限公司 | 数据处理方法以及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764835A (zh) * | 2008-12-25 | 2010-06-30 | 华为技术有限公司 | 基于MapReduce编程架构的任务分配方法及装置 |
CN101770402A (zh) * | 2008-12-29 | 2010-07-07 | ***通信集团公司 | MapReduce***中的Map任务调度方法、设备及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8190610B2 (en) * | 2006-10-05 | 2012-05-29 | Yahoo! Inc. | MapReduce for distributed database processing |
-
2010
- 2010-12-07 CN CN201010585613.8A patent/CN102541858B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764835A (zh) * | 2008-12-25 | 2010-06-30 | 华为技术有限公司 | 基于MapReduce编程架构的任务分配方法及装置 |
CN101770402A (zh) * | 2008-12-29 | 2010-07-07 | ***通信集团公司 | MapReduce***中的Map任务调度方法、设备及*** |
Non-Patent Citations (2)
Title |
---|
Anthill: 一种基于MapReduce的分布式DBMS;周敏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20101015(第10期);第1-2、46页 * |
Skew-Resistant Parallel Processing of Feature-Extracting Scientific User-Defined Functions;YongChul Kwon etc.;《SoCC’10》;20100611;第1-12页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102541858A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541858B (zh) | 基于映射和规约的数据均衡性处理方法、装置及*** | |
Chen et al. | A reinforcement learning based approach for multi-projects scheduling in cloud manufacturing | |
Hu et al. | Time-and cost-efficient task scheduling across geo-distributed data centers | |
CN103970604B (zh) | 基于MapReduce架构实现图处理的方法和装置 | |
CN103595780B (zh) | 基于消重的云计算资源调度方法 | |
Liu et al. | Resource preprocessing and optimal task scheduling in cloud computing environments | |
CN103412875B (zh) | 基于ahp决策模型的cdn策略调整方法 | |
CN108829494A (zh) | 基于负载预测的容器云平台智能资源优化方法 | |
Marahatta et al. | PEFS: AI-driven prediction based energy-aware fault-tolerant scheduling scheme for cloud data center | |
CN103927231B (zh) | 一种面向数据处理的能耗优化数据集分配方法 | |
CN107734052A (zh) | 面向组件依赖的负载均衡容器调度方法 | |
CN103365727B (zh) | 一种云计算环境中的主机负载预测方法 | |
CN103713935B (zh) | 一种在线管理Hadoop集群资源的方法和装置 | |
CN107229693A (zh) | 基于深度学习的大数据***配置参数调优的方法和*** | |
CN104182278B (zh) | 一种判定计算机硬件资源繁忙程度的方法和装置 | |
CN116263701A (zh) | 算力网络任务调度方法、装置、计算机设备及存储介质 | |
Venugopal et al. | A set coverage-based mapping heuristic for scheduling distributed data-intensive applications on global grids | |
CN104009904B (zh) | 面向云平台大数据处理的虚拟网络构建方法及*** | |
CN110380890A (zh) | 一种cdn***服务质量检测方法及*** | |
CN105847358A (zh) | 一种云计算环境下大数据节点分布的实现方法及其*** | |
CN109787836A (zh) | 基于遗传算法的vnf调度方案的确定方法及装置 | |
Smith et al. | Research computing on campus-application of a production function to the value of academic high-performance computing | |
CN101778135A (zh) | 一种农村综合信息平台的服务器***及其运行方法 | |
CN108183870B (zh) | 一种基于云成熟度的云数据中心资源调度共享方法及*** | |
Wu et al. | Blender: A traffic-aware container placement for containerized data centers |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180914 Address after: 100090 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: Tencent cloud computing (Beijing) limited liability company Address before: 518044 East 403 room, Sai Ge science and Technology Park, Futian District Zhenxing Road, Shenzhen, Guangdong, China, 2 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |