CN104834561B - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN104834561B CN104834561B CN201510212439.5A CN201510212439A CN104834561B CN 104834561 B CN104834561 B CN 104834561B CN 201510212439 A CN201510212439 A CN 201510212439A CN 104834561 B CN104834561 B CN 104834561B
- Authority
- CN
- China
- Prior art keywords
- subtask
- computational frame
- candidate
- computational
- task
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种数据处理方法及装置,用以解决现有技术中融合多种计算框架的资源管理系统在处理数据任务时,不是通过运行时间和资源消耗选择计算框架,数据处理效率较低的问题,降低了系统的工作性能的问题。该方法为:针对子任务集中每个子任务,确定候选计算框架,并预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗,并根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在候选计算框架中,筛选出执行该子任务的目标计算框架,执行该子任务。这样,资源管理系统通过运行时间和资源消耗在多个计算框架中选择目标计算框架执行每个子任务,提高了数据处理效率,以及系统的工作性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法及装置。
背景技术
近年来,随着社会信息化的快速发展,无论在科学研究、工业生产、商业和互联网领域,数据都呈现出爆炸式增长。目前,很多应用中的数据已从太字节(Terabyte,TB)级迅速发展到拍字节(Petabyte,PB)级甚至更高的数量级。因此,面向大数据处理的计算框架已经成为热点话题,其中具有代表性的计算框架包括海杜普(Hadoop)和Spark等。Hadoop和Spark等框架都在计算机技术领域获得了广泛的应用,但是每个计算框架均存在不足:例如,Hadoop提供的映射规约(MapReduce)模型虽然简单易用,但是其计算模型具有局限性,表达能力有限,在解决诸如迭代计算、图分析等复杂问题时,很难将算法映射到MapReduce模型中,且开发的工作量大,运行效率低下;而Spark虽然迭代运算性能好,但是对内存要求很高。
因此,大数据处理的发展趋势为通过融合多种计算框架的数据处理平台处理大数据,即在计算机的集群中通过资源管理系统来容纳多种计算框架,典型的资源管理系统如Mesos以及YARN等。
然而,由于这类资源管理系统允许包含的多种计算框架共享一个集群资源,且每个计算框架的编程语言不尽相同,因此,收到待处理的数据任务时,用户通常根据经验指定计算框架执行该待处理数据任务,而不是通过运行时间和资源消耗选择计算框架,数据处理效率较低,降低了系统的工作性能。
发明内容
本发明实施例提供一种数据处理方法及装置,用以解决现有技术中融合多种计算框架的资源管理系统在处理数据任务时,不是通过运行时间和资源消耗选择计算框架,数据处理效率较低的问题,降低了系统的工作性能。
本发明实施例提供的具体技术方案如下:
第一方面,一种数据处理方法,包括:
接收任务请求,所述任务请求中携带有用户提交的任务;
根据所述任务请求中的所述任务,生成包含至少一个子任务的子任务集;
确定执行每个子任务的输入数据;
针对所述子任务集中的每个子任务执行以下操作:
在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,其中,所述候选计算框架的数目大于或等于2;
根据该子任务的输入数据、以及每个候选计算框架对应的预测模型,分别预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗;
根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在所述候选计算框架中,筛选出执行该子任务的目标计算框架;
基于筛选出的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务。
结合第一方面,在第一种可能的实现方式中,所述任务请求中还携带有所述任务的输入数据;
确定执行每个子任务的输入数据,包括:
根据所述任务请求中携带的所述任务的输入数据,确定执行每个子任务的输入数据。
结合第一方面,在第二种可能的实现方式中,接收任务请求之前,还包括:
在系统配置的所有计算框架中,将具有执行相同任务类型的所有计算框架中的、执行所述相同任务类型的应用程序接口API通过预设的编程语言进行封装,形成统一API;
在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,包括:
确定该子任务的任务类型;
确定该子任务的任务类型对应的统一API;
根据确定的所述统一API,确定具有执行该子任务的任务类型的所有计算框架,并将确定的计算框架作为候选计算框架。
结合第一方面或第一方面的以上任一种可能的实现方式,在第三种可能的实现方式中,获得候选计算框架对应的预测模型,包括:
读取预设的训练样本集合,所述训练样本集合是针对所述候选计算框架执行该子任务的能力预设的;
分别以运行时间、资源消耗为目标特征,对所述训练样本集合中除运行时间、资源消耗以外的其它特征进行训练,得到所述候选计算框架对应的预测模型。
结合第一方面或第一方面的以上任一种可能的实现方式,在第四种可能的实现方式中,根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在所述候选计算框架中,筛选出执行该子任务的目标计算框架,包括:
在所述候选计算框架中,选择预测的资源消耗小于系统的可用资源的候选计算框架作为第一候选计算框架;
在所述第一候选计算框架中,筛选出预测的运行时间最小的第一候选计算框架作为目标计算框架。
结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,基于确定的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务之后,还包括:
将在该子任务的目标计算框架中执行该子任务产生的各个特征,作为新的训练样本;
将所述新的训练样本添加至所述训练样本集合。
第二方面,一种数据处理装置,包括:
接收单元,用于接收任务请求,所述任务请求中携带有用户提交的任务;
生成单元,用于根据所述任务请求中的所述任务,生成包含至少一个子任务的子任务集;
确定单元,用于确定执行每个子任务的输入数据;
处理单元,用于针对所述子任务集中的每个子任务执行以下操作:
在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,其中,所述候选计算框架的数目大于或等于2;
根据该子任务的输入数据、以及每个候选计算框架对应的预测模型,分别预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗;
根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在所述候选计算框架中,筛选出执行该子任务的目标计算框架;
运行单元,用于基于筛选出的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务。
结合第二方面,在第一种可能的实现方式中,所述接收单元接收的所述任务请求中还携带有所述任务的输入数据;
所述确定单元,用于:
根据所述任务请求中携带的所述任务的输入数据,确定执行每个子任务的输入数据。
结合第二方面,在第二种可能的首先方式中,配置单元,用于在接收任务请求之前,在系统配置的所有计算框架中,将具有执行相同任务类型的所有计算框架中的、执行所述相同任务类型的应用程序接口API通过预设的编程语言进行封装,形成统一API;
所述处理单元,在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架时,用于:
确定该子任务的任务类型;
确定该子任务的任务类型对应的统一API;
根据确定的所述统一API,确定具有执行该子任务的任务类型的所有计算框架,并将确定的计算框架作为候选计算框架。
结合第二方面或第二方面的以上任一种可能的实现方式,在第三种可能的实现方式中,所述处理单元在获得候选计算框架对应的预测模型时,用于:
读取预设的训练样本集合,所述训练样本集合是针对所述候选计算框架执行该子任务的能力预设的;
分别以运行时间、资源消耗为目标特征,对所述训练样本集合中除运行时间、资源消耗以外的其它特征进行训练,得到所述候选计算框架对应的预测模型。
结合第二方面或第二方面的以上任一种可能的实现方式,在第四种可能的实现方式中,所述处理单元,在筛选出执行该子任务的目标计算框架时,包括:
在所述候选计算框架中,选择预测的资源消耗小于系统的可用资源的候选计算框架作为第一候选计算框架;
在所述第一候选计算框架中,筛选出预测的运行时间最小的第一候选计算框架作为目标计算框架。
结合第二方面的第三种可能的实现方式,在第五种可能的实现方式中,所述运行单元,还用于:
基于确定的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务之后,将在该子任务的目标计算框架中执行该子任务产生的各个特征,作为新的训练样本;
将所述新的训练样本添加至所述训练样本集合。
采用本发明技术方案,在多个计算框架均可以执行同一子任务时,通过运行时间和资源消耗在多个计算框架中选择目标计算框架执行该子任务,提高了数据处理效率,以及系统的工作性能。
附图说明
图1为本发明实施例提供的一种终端设备结构示意图;
图2为本发明实施例提供的一种数据处理方法的具体流程图;
图3为本发明实施例提供的一种任务分解示意图;
图4为本发明实施例提供的一种数据处理装置的结构示意图。
具体实施方式
采用本发明提供的数据处理方法,通过接收携带有用户提交的任务的任务请求后,根据该任务,生成包含至少一个子任务的子任务集;并确定执行每个子任务的输入数据,针对所述子任务集中的每个子任务执行以下操作,确定执行每个子任务的目标计算框架:在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,其中,所述候选计算框架的数目大于或等于2;根据该子任务的输入数据、以及每个候选计算框架对应的预测模型,分别预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗;根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在所述候选计算框架中,筛选出执行该子任务的目标计算框架;最终基于确定的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务。这样,资源管理系统通过运行时间和资源消耗在多个计算框架中选择目标计算框架执行每个子任务,提高了数据处理效率,以及系统的工作性能。
本发明实施例提供了一种数据处理方法、装置及终端设备,应用于融合多种计算框架的资源管理系统。下面结合附图对本发明优选的实施方式进行详细说明。
本发明实施例还提供了一种终端设备,该终端设备为融合多种计算框架的计算机等设备。参阅图1所示,该终端设备100包括:收发器101、处理器102、总线103以及存储器104,其中:
收发器101、处理器102以及存储器104通过总线103相互连接;总线103可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
收发器101用于与相连的其它设备进行通信,如接收任务请求等。
处理器102用于实现本发明实施例图2所示的数据处理方法,包括:
接收任务请求,任务请求中携带有用户提交的任务;
根据任务请求中的任务,生成包含至少一个子任务的子任务集;
确定执行每个子任务的输入数据;
针对子任务集中的每个子任务执行以下操作:
在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,其中,候选计算框架的数目大于或等于2;
根据该子任务的输入数据、以及每个候选计算框架对应的预测模型,分别预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗;
根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在候选计算框架中,筛选出执行该子任务的目标计算框架;
基于筛选出的执行子任务集中的每个子任务的目标计算框架,执行对应的子任务。
可选的,任务请求中还携带有该任务的输入数据;
确定执行每个子任务的输入数据,包括:
根据任务请求中携带的该任务的输入数据,确定执行每个子任务的输入数据。
可选的,接收任务请求之前,还包括:
在系统配置的所有计算框架中,将具有执行相同任务类型的所有计算框架中的、执行该相同任务类型的应用程序接口(,API)通过预设的编程语言进行封装,形成统一API;
在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,包括:
确定该子任务的任务类型;
确定该子任务的任务类型对应的统一API;
根据确定的统一API,确定具有执行该子任务的任务类型的所有计算框架,并将确定的计算框架作为候选计算框架。
可选的,获得候选计算框架对应的预测模型,包括:
读取预设的训练样本集合,训练样本集合是针对该候选计算框架执行该子任务的能力预设的;
分别以运行时间、资源消耗为目标特征,对该训练样本集合中除运行时间、资源消耗以外的其它特征进行训练,得到该候选计算框架对应的预测模型。
可选的,根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在候选计算框架中,筛选出执行该子任务的目标计算框架,包括:
在候选计算框架中,选择预测的资源消耗小于系统的可用资源的候选计算框架作为第一候选计算框架;
在第一候选计算框架中,筛选出预测的运行时间最小的第一候选计算框架作为目标计算框架。
可选的,基于确定的执行子任务集中的每个子任务的目标计算框架,执行对应的子任务之后,还包括:
将在该子任务的目标计算框架中执行该子任务产生的各个特征,作为新的训练样本;
将新的训练样本添加至针对目标计算框架执行该子任务的能力预设的训练样本集合。
该终端设备100还包括存储器104,用于存放程序,每个计算框架的预测模型,以及训练时得到的每个预测模型对应的训练样本集合等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。存储器104可能包含随机存取存储器(random accessmemory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器102执行存储器104所存放的应用程序,实现如上数据处理方法。
参阅图2所示,本发明实施例提供的一种数据处理方法的具体处理流程包括:
步骤201:接收任务请求,该任务请求中携带有用户提交的任务。
用户提交的任务为对大量数据进行处理的任务,如在数据库中某数据表中的数据中筛选设定条件的数据等,可选的,任务请求中还可以携带有用户提交的任务的输入数据。
可选的,在执行步骤201之前,还包括:
在系统配置的所有计算框架中,将具有执行相同任务类型的所有计算框架中的,执行所述相同任务类型的应用程序接口(Application Program Interface,API)通过预设的编程语言进行封装,形成统一API。
融合在资源管理系统中的计算框架,如Hadoop、Spark等,其中,不同的计算框架使用的编程语言可能不同,如Spark使用Scala编程语言,而hadoop使用Java编程语言,且每个计算框架可以实现多种不同的功能,即具有执行多种任务类型的任务的能力,每个计算框架为其能实现的每个功能提供对应的API,显然,开发者需要掌握多种编程语言,编程门槛较高,且系统的开发效率较低。相对于现有技术,在本发明实施例中,将不同计算框架中相同功能的API进行封装,成为统一API,因此,在实现该功能时,只需要调用对应的统一API即可,而无需在可以实现该功能的不同计算框架中指定一个计算框架。
统一API可以用任意一种编程语言来实现,下面以JAVA为统一API的编程语言为例,在将计算框架的API封装为统一API时,包括:
若计算框架提供的API的编程语言为JAVA,那么只需要按照该计算框架的API的要求来重组参数,即可封装为统一API;
若计算框架提供的API的编程语言为除JAVA以外的其它编程语言,需要通过JAVA的跨编程语言规范来调用该API,从而封装为统一API。
其中,JAVA的跨编程语言规范是现有技术,比如,通过JAVA编程语言调用使用可伸缩编程语言(Scala)的API时,由于使用Scala编程语言的API是基于JAVA虚拟机(JAVAVirtual Machine,JVM)的,因此,JAVA编程语言可以直接调用使用Scala编程语言的API;通过JAVA编程语言调用使用C/C++编程语言的API时,可以通过JAVA本地接口(JAVA NativeInterface,JNI)方式调用;通过JAVA编程语言调用使用Python编程语言的API,可以通过Jython.jar调用。
将不同计算框架中执行相同任务类型的API通过预设的编程语言进行封装,生成统一API,对编程语言的差异进行了屏蔽,极大降低开发者的编程门槛,提高了每个计算框架的灵活性和适应性。
可选的,在将不同计算框架中执行相同任务类型的API通过预设的编程语言进行封装生成统一API后,接收的任务请求中携带的用户提交的任务可以为采用与统一API的编程语言相通的编程语言描述的任务。
步骤202:根据任务请求中的任务,生成包含至少一个子任务的子任务集。
可选的,用户提交的任务,是多个子任务组合形成的,该任务中的子任务分布顺序类似于有向无环图,参阅图3所示,任务T包括5个子任务,分别为T1,T2,T3,T4,T5。对任务T进行任务分解处理,可以将该任务T分解成T1->T2->T3->T4->T5,或者T1->T3->T2->T4->T5,T2与T3可以并行执行,其它步骤顺序执行。将类似有向无环图的任务,进行任务分解,生成子任务集是现有技术,本发明实施例对此不再赘述。
步骤203:确定执行每个子任务的输入数据。
具体的,在任务请求中携带有用户提交的任务的输入数据时,直接根据该任务的输入数据,确定每个子任务的输入数据,或者,直接根据每个子任务确定对应的输入数据。
步骤204:针对子任务集中的每个子任务执行以下操作:在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,其中,所述候选计算框架的数目大于或等于2;根据该子任务的输入数据、以及每个候选计算框架对应的预测模型,分别预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗;根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在所述候选计算框架中,筛选出执行该子任务的目标计算框架。
具体的,在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,包括:
确定该子任务的任务类型;
确定该子任务的任务类型对应的统一API;
根据确定的该统一API,确定具有执行该子任务的任务类型的所有计算框架,并将确定的计算框架作为候选计算框架。
可选的,预测模型可以是用户预设的,可以是通过机器学习得到的,具体的,通过机器学习获得具有执行该子任务的能力的一个候选计算框架对应的预测模型,包括:
读取预设的训练样本集合,该训练样本集合是针对该候选计算框架的执行该子任务的能力预设的;
分别以运行时间、资源消耗为目标特征,对该训练样本集合中除运行时间、资源消耗以外的其它特征进行训练,得到对应的预测模型。
其中,资源消耗可以为内存占用、CPU占用、I/O占用等,本发明实施例对此不做限定。
对训练样本集合进行训练时,可以采用多种机器学习算法,例如线性回归算法、支持向量机算法等,得到的预测模型例如:
运行时间=0.83*输入数据的行数+0.24*输入数据的列数+0.1
内存占用=0.24*输入数据的行数+0.14*输入数据的列数+0.15。
具体的,根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在候选计算框架中,筛选出执行该子任务的目标计算框架,包括:
在候选计算框架中,选择预测的资源消耗小于系统的可用资源的候选计算框架作为第一候选计算框架;
在第一候选计算框架中,筛选出预测的运行时间最小的第一候选计算框架作为目标计算框架。
这样,动态选择资源消耗小于系统的可用资源、且运行时间最小的候选计算框架执行子任务,提高了执行子任务的效率,使系统工作性能更好。
步骤205:基于筛选出的执行子任务集中的每个子任务的目标计算框架,执行对应的子任务。
每个子任务的目标计算框架,根据该子任务的任务类型对应的的统一API,执行该子任务。
执行子任务集中的每个子任务后,得到的结果即为用户提交的任务的结果。
在步骤205,基于筛选出的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务之后,还包括:
将在该子任务的目标计算框架中执行该子任务产生的各个特征,作为新的训练样本;
将该新的训练样本添加至训练样本集合,该训练样本集合是针对该目标计算框架的执行该子任务的能力预设的。
这样,将计算框架实际的执行任务产生各个特征作为新的训练样本,不断对训练样本集合进行补充,并根据补充后的训练样本集合进行机器学习,产生新的预测模型,使预测模型越来越准确。
采用本发明实施例提供的数据处理方法,在多个计算框架均可以执行同一任务时,通过运行时间和资源消耗在多个计算框架中选择目标计算框架执行该子任务,提高了数据处理效率,以及系统的工作性能。且将不同计算框架中,执行相同任务类型的API通过预设的编程语言进行封装,生成统一API,对编程语言的差异进行了屏蔽,极大降低开发者的编程门槛,提高了每个计算框架的灵活性和适应性。
例1,接收到任务请求,其中携带的用户提交的任务T为如下结构化查询语言(Structured Query Language,SQL)语句:
“SELECT S#as学生ID
,(SELECT score FROM SC WHERE SC.S#=t.S#AND C#='001')AS数据库
,(SELECT score FROM SC WHERE SC.S#=t.S#AND C#='002')AS英语
,(SELECT score FROM SC WHERE SC.S#=t.S#AND C#='003')AS算法,COUNT(t.C#)AS有效课程数,AVG(t.score)AS平均成绩FROM SC AS t
GROUP BY t.S#
ORDER BY avg(t.Score)“
上述SQL语句表示的任务为“按照‘平均成绩’从高到低的顺序,显示所有学生的‘数据库’、‘英语’、‘算法’三门的课程成绩,并按照如下形式显示:学生ID,数据库,英语,算法,有效课程数,平均成绩”,其中,学生表如表1所示,课程表如表2所示,成绩表如表3所示:
表1 学生表
S# | Sname |
1 | 张三 |
2 | 李四 |
3 | 赵五 |
表2 课程表
C# | Cname |
001 | 数据库 |
002 | 英语 |
003 | 算法 |
表3 成绩表
S# | C# | Score |
1 | 001 | 85 |
2 | 001 | 90 |
3 | 001 | 95 |
1 | 002 | 90 |
2 | 002 | 80 |
3 | 002 | 70 |
1 | 003 | 60 |
2 | 003 | 80 |
3 | 003 | 100 |
将上述任务T进行任务分解处理,得到包含3个子任务的子任务集,分别为:T1,选择相关数据;T2,根据T1的结果形成新的数据表;T3,对T2的结果按照‘平均成绩’从高到低的顺序排序,每个子任务对应的SQL语句表4所示:
表4 子任务对应的SQL语句
在针对每个子任务,动态选择目标计算框架时,通常选择资源消耗小于可用资源,且运行时间最小的计算框架,在本例中,假设每个子任务都有两个计算框架可供选择:Hadoop和Spark。用户提交的任务对应的输入数据为成绩表,输入数据的特征包括行数、列数等,假设该成绩表的行数为25415996行,列数为3列。每个计算框架执行每个子任务对应的预测模型为表5所示,其中在本实施例中,预测模型包括运行时间预测模型、内存占用预测模型:
表5 计算框架针对不同子任务对应的预测模型
计算框架 | 子任务 | 运行时间预测模型(毫秒) | 内存占用预测模型(MB) |
Hadoop | T1 | 0.0001r+0.00034c | 0.00015r+0.00024c |
Hadoop | T2 | 0.00002r+0.00064c | 0.00005r+0.00004c |
Hadoop | T3 | 0.00005r+0.00004c | 0.00003r+0.00009c |
Spark | T1 | 0.00001r+0.00004c | 0.00055r+0.00064c |
Spark | T2 | 0.0002r+0.0016c | 0.00035r+0.00084c |
Spark | T3 | 0.00005r+0.0004c | 0.00093r+0.0009c |
其中,r为输入数据的行数,c为输入数据的列数;
将r=25415996,c=3代入表5中每个计算框架针对不同子任务对应的预测模型,得到每个计算框架执行每个子任务的运行时间和内存占用,如表6所示:
表6 计算框架执行每个子任务的运行时间和内存占用
计算框架 | 子任务 | 运行时间(毫秒) | 内存占用(MB) |
Hadoop | T1 | 2541.60062 | 3812.40012 |
Hadoop | T2 | 508.32184 | 1270.79992 |
Hadoop | T3 | 1270.79992 | 762.48015 |
Spark | T1 | 254.16008 | 13978.79972 |
Spark | T2 | 5083.204 | 8895.60112 |
Spark | T3 | 1270.801 | 23636.87898 |
假设系统的可用内存为15000MB:
针对T1,预测通过Hadoop执行T1时的内存占用为3812.40012MB,而通过Spark执行T1时的内存占用为13978.79972MB,显然,两个内存占用均低于系统的可用内存15000MB。而预测的运行时间,在Spark中为354.16008毫秒,低于在Hadoop中的2541.60062毫秒,因此对于T1,选择使用Spark;
针对T2,预测通过Hadoop执行T2时的内存占用为1270.79992MB,而通过Spark执行T2时的内存占用为8895.60112MB,都低于系统的可用内存15000MB。而预测的运行时间,在Spark中为5083.204毫秒,高于在Hadoop中的508.32184毫秒,因此对于T2,选择使用Hadoop;
针对T3,预测通过Spark执行T3时的内存占用为23636.87898MB,高于系统的可用内存15000MB,因此不能选择Spark。预测通过Hadoop执行T3时的内存占用为762.48015MB,低于系统的可用内存15000MB,因此对于T3,选择使用Hadoop;
确定T1的目标计算框架为Spark,T2的目标计算框架为Hadoop,T3的目标计算框架为Hadoop,依次通过Spark,Hadoop,Hadoop执行T1,T2,T3,得到最终的结果:
其中,通过Spark执行T1后得到的结果如表7所示,通过Hadoop执行T2得到的结果如表8所示,通过Hadoop执行T3得到的结果如表9所示:
表7 T1的结果
学生ID | 数据库 | 英语 | 算法 | 课程ID |
1 | 85 | 90 | 60 | 001 |
1 | 85 | 90 | 60 | 002 |
1 | 85 | 90 | 60 | 003 |
2 | 90 | 80 | 80 | 001 |
2 | 90 | 80 | 80 | 002 |
2 | 90 | 80 | 80 | 003 |
3 | 95 | 70 | 100 | 001 |
3 | 95 | 70 | 100 | 002 |
3 | 95 | 70 | 100 | 003 |
表8 T2的结果
学生ID | 数据库 | 英语 | 算法 | 有效课程数 |
1 | 85 | 90 | 60 | 3 |
2 | 90 | 80 | 80 | 3 |
3 | 95 | 70 | 100 | 3 |
表9 T3的结果
学生ID | 数据库 | 英语 | 算法 | 有效课程数 | 平均成绩 |
1 | 85 | 90 | 60 | 3 | 78.333 |
2 | 90 | 80 | 80 | 3 | 83.333 |
3 | 95 | 70 | 100 | 3 | 88.333 |
表9即为任务T的最终结果。
基于以上实施例,本发明还提供了一种数据处理装置,参阅图4所示,该装置400包括:接收单元401、生成单元402、确定单元403、处理单元404,以及运行单元405,其中,
接收单元401,用于接收任务请求,任务请求中携带有用户提交的任务;
生成单元402,用于根据任务请求中的任务,生成包含至少一个子任务的子任务集;
确定单元403,用于确定执行每个子任务的输入数据;
处理单元404,用于针对子任务集中的每个子任务执行以下操作:
在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,其中,候选计算框架的数目大于或等于2;
根据该子任务的输入数据、以及每个候选计算框架对应的预测模型,分别预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗;
根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在候选计算框架中,筛选出执行该子任务的目标计算框架;
运行单元405,用于基于筛选出的执行子任务集中的每个子任务的目标计算框架,执行对应的子任务。
接收单元401接收的任务请求中还携带有该任务的输入数据;
确定单元403,用于:
根据任务请求中携带的该任务的输入数据,确定执行每个子任务的输入数据。
该数据处理装置400还包括:配置单元406,用于在接收任务请求之前,在系统配置的所有计算框架中,将具有执行相同任务类型的所有计算框架中的、执行相同任务类型的API通过预设的编程语言进行封装,形成统一API;
处理单元404,在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架时,用于:
确定该子任务的任务类型;
确定该子任务的任务类型对应的统一API;
根据确定的统一API,确定具有执行该子任务的任务类型的所有计算框架,并将确定的计算框架作为候选计算框架。
处理单元404在获得候选计算框架对应的预测模型时,用于:
读取预设的训练样本集合,该训练样本集合是针对该候选计算框架执行该子任务的能力预设的;
分别以运行时间、资源消耗为目标特征,对该训练样本集合中除运行时间、资源消耗以外的其它特征进行训练,得到该候选计算框架对应的预测模型。
处理单元404,在筛选出执行该子任务的目标计算框架时,包括:
在候选计算框架中,选择预测的资源消耗小于系统的可用资源的候选计算框架作为第一候选计算框架;
在第一候选计算框架中,筛选出预测的运行时间最小的第一候选计算框架作为目标计算框架。
运行单元405,还用于:
基于确定的执行子任务集中的每个子任务的目标计算框架,执行对应的子任务之后,将在该子任务的目标计算框架中执行该子任务产生的各个特征,作为新的训练样本;
将新的训练样本添加至针对目标计算框架执行该子任务的能力预设的训练样本集合。
综上所述,通过本发明实施例中提供的一种数据处理方法及装置,该方法通过接收携带有用户提交的任务的任务请求后,根据所述任务,生成包含至少一个子任务的子任务集;并确定执行每个子任务的输入数据,针对所述子任务集中的每个子任务执行以下操作,确定执行每个子任务的目标计算框架:在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,其中,所述候选计算框架的数目大于或等于2;根据该子任务的输入数据、以及每个候选计算框架对应的预测模型,分别预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗;根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在所述候选计算框架中,筛选出执行该子任务的目标计算框架;最终基于确定的执行所述子任务集中的每个子任务的目标计算框架,分别执行对应的子任务。这样,资源管理系统通过运行时间和资源消耗在多个计算框架中选择目标计算框架执行每个子任务,提高了数据处理效率,以及系统的工作性能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
接收任务请求,所述任务请求中携带有用户提交的任务;
根据所述任务请求中的所述任务,生成包含至少一个子任务的子任务集;
确定执行每个子任务的输入数据;
针对所述子任务集中的每个子任务执行以下操作:
在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,其中,所述候选计算框架的数目大于或等于2;
根据该子任务的输入数据、以及每个候选计算框架对应的预测模型,分别预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗;
根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在所述候选计算框架中,筛选出执行该子任务的目标计算框架;
基于筛选出的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务。
2.如权利要求1所述的方法,其特征在于,所述任务请求中还携带有所述任务的输入数据;
确定执行每个子任务的输入数据,包括:
根据所述任务请求中携带的所述任务的输入数据,确定执行每个子任务的输入数据。
3.如权利要求1所述的方法,其特征在于,接收任务请求之前,还包括:
在系统配置的所有计算框架中,将具有执行相同任务类型的所有计算框架中的、执行所述相同任务类型的应用程序接口API通过预设的编程语言进行封装,形成统一API;
在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,包括:
确定该子任务的任务类型;
确定该子任务的任务类型对应的统一API;
根据确定的所述统一API,确定具有执行该子任务的任务类型的所有计算框架,并将确定的计算框架作为候选计算框架。
4.如权利要求1-3任一项所述的方法,其特征在于,获得候选计算框架对应的预测模型,包括:
读取预设的训练样本集合,所述训练样本集合是针对所述候选计算框架执行该子任务的能力预设的;
分别以运行时间、资源消耗为目标特征,对所述训练样本集合中除运行时间、资源消耗以外的其它特征进行训练,得到所述候选计算框架对应的预测模型。
5.如权利要求1-3任一项所述的方法,其特征在于,根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在所述候选计算框架中,筛选出执行该子任务的目标计算框架,包括:
在所述候选计算框架中,选择预测的资源消耗小于系统的可用资源的候选计算框架作为第一候选计算框架;
在所述第一候选计算框架中,筛选出预测的运行时间最小的第一候选计算框架作为目标计算框架。
6.如权利要求4所述的方法,其特征在于,基于确定的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务之后,还包括:
将在该子任务的目标计算框架中执行该子任务产生的各个特征,作为新的训练样本;
将所述新的训练样本添加至所述训练样本集合。
7.一种数据处理装置,其特征在于,包括:
接收单元,用于接收任务请求,所述任务请求中携带有用户提交的任务;
生成单元,用于根据所述任务请求中的所述任务,生成包含至少一个子任务的子任务集;
确定单元,用于确定执行每个子任务的输入数据;
处理单元,用于针对所述子任务集中的每个子任务执行以下操作:
在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架,其中,所述候选计算框架的数目大于或等于2;
根据该子任务的输入数据、以及每个候选计算框架对应的预测模型,分别预测每个候选计算框架执行该子任务时对应的运行时间和资源消耗;
根据预测的每个候选计算框架执行该子任务时对应的运行时间和资源消耗,在所述候选计算框架中,筛选出执行该子任务的目标计算框架;
运行单元,用于基于筛选出的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务。
8.如权利要求7所述的装置,其特征在于,所述接收单元接收的所述任务请求中还携带有所述任务的输入数据;
所述确定单元,用于:
根据所述任务请求中携带的所述任务的输入数据,确定执行每个子任务的输入数据。
9.如权利要求7所述的装置,其特征在于,还包括:配置单元,用于在接收任务请求之前,在系统配置的所有计算框架中,将具有执行相同任务类型的所有计算框架中的、执行所述相同任务类型的应用程序接口API通过预设的编程语言进行封装,形成统一API;
所述处理单元,在系统配置的所有计算框架中确定具有执行该子任务的能力的计算框架作为候选计算框架时,用于:
确定该子任务的任务类型;
确定该子任务的任务类型对应的统一API;
根据确定的所述统一API,确定具有执行该子任务的任务类型的所有计算框架,并将确定的计算框架作为候选计算框架。
10.如权利要求7-9任一项所述的装置,其特征在于,所述处理单元在获得候选计算框架对应的预测模型时,用于:
读取预设的训练样本集合,所述训练样本集合是针对所述候选计算框架执行该子任务的能力预设的;
分别以运行时间、资源消耗为目标特征,对所述训练样本集合中除运行时间、资源消耗以外的其它特征进行训练,得到所述候选计算框架对应的预测模型。
11.如权利要求7-9任一项所述的装置,其特征在于,所述处理单元,在筛选出执行该子任务的目标计算框架时,包括:
在所述候选计算框架中,选择预测的资源消耗小于系统的可用资源的候选计算框架作为第一候选计算框架;
在所述第一候选计算框架中,筛选出预测的运行时间最小的第一候选计算框架作为目标计算框架。
12.如权利要求10所述的装置,其特征在于,所述运行单元,还用于:
基于确定的执行所述子任务集中的每个子任务的目标计算框架,执行对应的子任务之后,将在该子任务的目标计算框架中执行该子任务产生的各个特征,作为新的训练样本;
将所述新的训练样本添加至所述训练样本集合。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510212439.5A CN104834561B (zh) | 2015-04-29 | 2015-04-29 | 一种数据处理方法及装置 |
EP16785782.0A EP3267310B1 (en) | 2015-04-29 | 2016-03-25 | Data processing method and device |
PCT/CN2016/077379 WO2016173351A1 (zh) | 2015-04-29 | 2016-03-25 | 一种数据处理方法及装置 |
US15/728,879 US10606654B2 (en) | 2015-04-29 | 2017-10-10 | Data processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510212439.5A CN104834561B (zh) | 2015-04-29 | 2015-04-29 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104834561A CN104834561A (zh) | 2015-08-12 |
CN104834561B true CN104834561B (zh) | 2018-01-19 |
Family
ID=53812469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510212439.5A Active CN104834561B (zh) | 2015-04-29 | 2015-04-29 | 一种数据处理方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10606654B2 (zh) |
EP (1) | EP3267310B1 (zh) |
CN (1) | CN104834561B (zh) |
WO (1) | WO2016173351A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834561B (zh) | 2015-04-29 | 2018-01-19 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN105045607B (zh) * | 2015-09-02 | 2019-03-29 | 广东创我科技发展有限公司 | 一种实现多种大数据计算框架统一接口的方法 |
CN105892996A (zh) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 一种批量数据处理的流水线作业方法及装置 |
CN107870815B (zh) * | 2016-09-26 | 2020-06-26 | 中国电信股份有限公司 | 一种分布式系统的任务调度方法以及系统 |
CN107885595B (zh) * | 2016-09-30 | 2021-12-14 | 华为技术有限公司 | 一种资源分配方法、相关设备及系统 |
CN108073582B (zh) * | 2016-11-08 | 2021-08-06 | 中移(苏州)软件技术有限公司 | 一种计算框架选择方法和装置 |
CN108268529B (zh) * | 2016-12-30 | 2020-12-29 | 亿阳信通股份有限公司 | 一种基于业务抽象和多引擎调度的数据汇总方法和系统 |
CN106980509B (zh) * | 2017-04-05 | 2021-01-19 | 智恒科技股份有限公司 | 计算总线的计算方法和装置 |
CN107451663B (zh) * | 2017-07-06 | 2021-04-20 | 创新先进技术有限公司 | 算法组件化、基于算法组件建模方法、装置以及电子设备 |
CN109697118A (zh) * | 2017-10-20 | 2019-04-30 | 北京京东尚科信息技术有限公司 | 流式计算任务管理方法、装置、电子设备及存储介质 |
CN107741882B (zh) * | 2017-11-22 | 2021-08-20 | 创新先进技术有限公司 | 分配任务的方法及装置和电子设备 |
CN108248641A (zh) * | 2017-12-06 | 2018-07-06 | 中国铁道科学研究院电子计算技术研究所 | 一种城市轨道交通数据处理方法及装置 |
CN108052394B (zh) * | 2017-12-27 | 2021-11-30 | 福建星瑞格软件有限公司 | 基于sql语句运行时间的资源分配的方法及计算机设备 |
CN108388470B (zh) * | 2018-01-26 | 2022-09-16 | 福建星瑞格软件有限公司 | 一种大数据任务处理方法及计算机设备 |
CN108804378A (zh) * | 2018-05-29 | 2018-11-13 | 郑州易通众联电子科技有限公司 | 一种计算机数据处理方法及系统 |
CN109034394B (zh) * | 2018-07-02 | 2020-12-11 | 第四范式(北京)技术有限公司 | 一种机器学习模型的更新方法和装置 |
CN108985367A (zh) * | 2018-07-06 | 2018-12-11 | 中国科学院计算技术研究所 | 计算引擎选择方法和基于该方法的多计算引擎平台 |
CN109933306B (zh) * | 2019-02-11 | 2020-07-14 | 山东大学 | 一种基于作业类型识别的自适应混合云计算框架生成方法 |
CN110109748B (zh) * | 2019-05-21 | 2020-03-17 | 星环信息科技(上海)有限公司 | 一种混合语言任务执行方法、装置及集群 |
KR20200136679A (ko) | 2019-05-28 | 2020-12-08 | 삼성에스디에스 주식회사 | 이종 언어 함수를 포함하는 워크플로우 실행 방법 및 그 장치 |
CN110928907A (zh) * | 2019-11-18 | 2020-03-27 | 第四范式(北京)技术有限公司 | 目标任务处理方法、装置及电子设备 |
CN113742028A (zh) * | 2020-05-28 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 资源使用方法、电子设备和计算机程序产品 |
CN111723112B (zh) * | 2020-06-11 | 2023-07-07 | 咪咕文化科技有限公司 | 数据任务执行方法、装置、电子设备及存储介质 |
CN112052253B (zh) * | 2020-08-12 | 2023-12-01 | 网宿科技股份有限公司 | 数据处理方法、电子设备及存储介质 |
CN112199544B (zh) * | 2020-11-05 | 2024-02-27 | 北京明略软件系统有限公司 | 全图挖掘预警方法、系统、电子设备及计算机可读存储介质 |
US11836534B2 (en) * | 2021-01-26 | 2023-12-05 | International Business Machines Corporation | Prediction of proficient resources for performing unprecedented workloads using models |
CN113326116A (zh) * | 2021-06-30 | 2021-08-31 | 北京九章云极科技有限公司 | 一种数据处理方法和系统 |
CN113239243A (zh) * | 2021-07-08 | 2021-08-10 | 湖南星汉数智科技有限公司 | 基于多计算平台的图数据分析方法、装置和计算机设备 |
CN117075930B (zh) * | 2023-10-17 | 2024-01-26 | 之江实验室 | 一种计算框架管理系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361091A (zh) * | 2014-11-18 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 一种大数据系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9477928B2 (en) * | 2010-07-14 | 2016-10-25 | Fujitsu Limited | System and method for comparing software frameworks |
CA2811630C (en) * | 2010-08-24 | 2020-06-16 | Solano Labs, Inc. | Method and apparatus for clearing cloud compute demand |
EP2629247B1 (en) * | 2012-02-15 | 2014-01-08 | Alcatel Lucent | Method for mapping media components employing machine learning |
US9159028B2 (en) * | 2013-01-11 | 2015-10-13 | International Business Machines Corporation | Computing regression models |
US10552774B2 (en) * | 2013-02-11 | 2020-02-04 | Amazon Technologies, Inc. | Cost-minimizing task scheduler |
US10902464B2 (en) * | 2013-08-27 | 2021-01-26 | Verizon Media Inc. | Spark satellite clusters to HADOOP data stores |
CN103488775B (zh) | 2013-09-29 | 2016-08-10 | 中国科学院信息工程研究所 | 一种用于大数据处理的计算系统及计算方法 |
US10467569B2 (en) * | 2014-10-03 | 2019-11-05 | Datameer, Inc. | Apparatus and method for scheduling distributed workflow tasks |
US20160300157A1 (en) * | 2015-04-08 | 2016-10-13 | Nec Laboratories America, Inc. | LambdaLib: In-Memory View Management and Query Processing Library for Realizing Portable, Real-Time Big Data Applications |
CN104834561B (zh) * | 2015-04-29 | 2018-01-19 | 华为技术有限公司 | 一种数据处理方法及装置 |
-
2015
- 2015-04-29 CN CN201510212439.5A patent/CN104834561B/zh active Active
-
2016
- 2016-03-25 EP EP16785782.0A patent/EP3267310B1/en active Active
- 2016-03-25 WO PCT/CN2016/077379 patent/WO2016173351A1/zh active Application Filing
-
2017
- 2017-10-10 US US15/728,879 patent/US10606654B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361091A (zh) * | 2014-11-18 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 一种大数据系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180032375A1 (en) | 2018-02-01 |
CN104834561A (zh) | 2015-08-12 |
US10606654B2 (en) | 2020-03-31 |
EP3267310A1 (en) | 2018-01-10 |
EP3267310B1 (en) | 2022-07-20 |
WO2016173351A1 (zh) | 2016-11-03 |
EP3267310A4 (en) | 2018-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834561B (zh) | 一种数据处理方法及装置 | |
CN109993299B (zh) | 数据训练方法及装置、存储介质、电子装置 | |
US11151446B2 (en) | Stream-based accelerator processing of computational graphs | |
KR102628902B1 (ko) | 계산 그래프들 프로세싱 | |
US9846589B2 (en) | Virtual machine placement optimization with generalized organizational scenarios | |
Lu et al. | Optimizing depthwise separable convolution operations on gpus | |
JP2013500543A (ja) | データ並列スレッドを有する処理論理の複数のプロセッサにわたるマッピング | |
CN106547627A (zh) | 一种Spark MLlib数据处理加速的方法及系统 | |
CN110069502A (zh) | 基于Spark架构的数据均衡分区方法及计算机存储介质 | |
CN116820786B (zh) | 数据库的数据访问方法和装置、电子设备、存储介质 | |
CN102831102A (zh) | 一种在计算机集群上进行矩阵乘积运算的方法和系统 | |
CN109800078B (zh) | 一种任务处理方法、任务分发终端及任务执行终端 | |
CN110618865A (zh) | Hadoop任务调度方法及装置 | |
Zhao et al. | Performance and cost-aware task scheduling via deep reinforcement learning in cloud environment | |
US20230041163A1 (en) | Sparse matrix operations for deep learning | |
CN113407333B (zh) | Warp级别调度的任务调度方法、系统、GPU及设备 | |
US9411657B2 (en) | Load-balanced sparse array processing | |
Amestoy et al. | Modeling 1D distributed-memory dense kernels for an asynchronous multifrontal sparse solver | |
Aher et al. | Accelerate the execution of graph processing using GPU | |
Maroosi et al. | Enhancement of membrane computing model implementation on GPU by introducing matrix representation for balancing occupancy and reducing inter-block communications | |
Marrakchi et al. | Static scheduling with load balancing for solving triangular band linear systems on multicore processors | |
CN110532091A (zh) | 基于图形处理器的图计算边向量负载平衡方法及装置 | |
Krömer et al. | An implementation of differential evolution for independent tasks scheduling on GPU | |
CN105930210A (zh) | Mpi函数调用方法和装置 | |
Rosciszewski | Dynamic data management among multiple databases for optimization of parallel computations in heterogeneous hpc systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |