CN111611221A - 混合计算系统、数据处理方法及装置 - Google Patents

混合计算系统、数据处理方法及装置 Download PDF

Info

Publication number
CN111611221A
CN111611221A CN201910142939.4A CN201910142939A CN111611221A CN 111611221 A CN111611221 A CN 111611221A CN 201910142939 A CN201910142939 A CN 201910142939A CN 111611221 A CN111611221 A CN 111611221A
Authority
CN
China
Prior art keywords
engine
computing
code
calculation
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.)
Pending
Application number
CN201910142939.4A
Other languages
English (en)
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.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201910142939.4A priority Critical patent/CN111611221A/zh
Publication of CN111611221A publication Critical patent/CN111611221A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明实施例提供一种混合计算系统、数据处理方法及装置,该混合计算系统包括分类层和计算层,计算层包括基于批处理的第一计算引擎和基于流处理的第二计算引擎;分类层用于根据计算任务对应的第一代码,获取计算任务的特征,并根据所述特征确定目标计算引擎;分类层还用于将第一代码转换为与目标计算引擎对应的第二代码,并将第二代码发送给目标计算引擎,以使目标计算引擎执行计算任务以对待处理数据进行处理;通过在混合计算系统中包括基于批处理的第一计算引擎和基于流处理的第二计算引擎,使得混合计算系统既适合执行批处理任务,也适合执行流处理任务,提高了混合计算系统的适用性。

Description

混合计算系统、数据处理方法及装置
技术领域
本发明实施例涉及大数据技术领域,尤其涉及一种混合计算系统、数据处理方法及装置。
背景技术
目前,大数据处理框架包括基于批处理的计算框架和基于流处理的计算框架。其中,基于批处理的计算框架中,以Apache Hadoop生态圈中MapReduce最典型;基于流处理的计算框架中,最典型的是Apache Storm和Samza。
批处理适用于操作大容量历史数据集,并在计算过程完成后返回结果,其优势是大规模吞吐量,缺点为高延迟;而流处理无需针对整个数据集执行操作,而是对每个数据项执行操作,适用于对实时数据的处理,流处理可以做到低时延,但是数据不够准确。
然而,各类计算任务对于吞吐量、时延和数据准确性的需求是不同的,目前基于批处理的计算框架和基于流处理的计算框架,均无法适用于各类计算任务。
发明内容
本发明实施例提供一种混合计算系统、数据处理方法及装置,能够适用于各类计算任务。
第一方面,本发明实施例提供一种混合计算系统,包括:分类层和计算层,所述计算层包括基于批处理的第一计算引擎和基于流处理的第二计算引擎;
所述分类层用于根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎;
所述分类层还用于将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理。
可选的,所述计算任务的特征包括下述中的至少一项:所述第一代码的时间复杂度、所述第一代码的空间复杂度、所述待处理数据的信息。
可选的,所述第一计算引擎为Apache Spark,所述第二计算引擎为Apache Flink。
可选的,所述混合计算系统还包括:
存储层,用于分布式存储所述待处理数据。
可选的,所述存储层包括分布式文件存储系统HDFS和分布式内存存储系统Alluxio。
可选的,所述混合计算系统还包括:
资源管理层,用于对所述第一计算引擎和所述第二计算引擎执行所述计算任务所需的资源进行管理和调度。
可选的,所述资源管理层包括Yarn资源管理系统。
可选的,所述混合计算系统还包括:
输入层,用于获取所述计算任务对应的第一代码。
第二方面,本发明实施例提供一种数据处理方法,包括:
根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎,所述第一计算引擎用于批处理,所述第二计算引擎用于流处理;
将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理。
可选的,所述计算任务的特征包括下述中的至少一项:所述第一代码的时间复杂度、所述第一代码的空间复杂度、所述待处理数据的信息。
可选的,所述第一计算引擎为Apache Spark,所述第二计算引擎为Apache Flink。
第三方面,本发明实施例提供一种数据处理装置,包括:
选择模块,用于根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎,所述第一计算引擎用于批处理,所述第二计算引擎用于流处理;
发送模块,用于将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理。
可选的,所述计算任务的特征包括下述中的至少一项:所述第一代码的时间复杂度、所述第一代码的空间复杂度、所述待处理数据的信息。
可选的,所述第一计算引擎为Apache Spark,所述第二计算引擎为Apache Flink。
第四方面,本发明实施例提供一种数据处理装置,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第二方面任一项所述的方法。
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第二方面任一项所述的方法。
本发明实施例提供的混合计算系统、数据处理方法及装置,该混合计算系统包括分类层和计算层,所述计算层包括基于批处理的第一计算引擎和基于流处理的第二计算引擎;所述分类层用于根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎;所述分类层还用于将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理;通过在混合计算系统中包括基于批处理的第一计算引擎和基于流处理的第二计算引擎,使得混合计算系统既适合执行批处理任务,也适合执行流处理任务,提高了混合计算系统的适用性;根据计算任务的特征,自动将计算任务发送给适合执行该计算任务的目标计算引擎,保证了计算任务的各项需求得以满足。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的混合计算系统的结构示意图一;
图2为本发明实施例提供的混合计算系统的结构示意图二;
图3为图2所示的混合计算系统的数据处理过程示意图;
图4为本发明实施例提供的数据处理方法的流程示意图;
图5为本发明实施例提供的数据处理装置的结构示意图一;
图6为本发明实施例提供的数据处理装置的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如前所述,批处理适用于操作大容量历史数据集,并在计算过程完成后返回结果,其优势是大规模吞吐量,缺点为高延迟;而流处理无需针对整个数据集执行操作,而是对每个数据项执行操作,适用于对实时数据的处理,流处理可以做到低时延,但是数据不够准确。然而,各类计算任务对于吞吐量、时延和数据准确性的需求是不同的,目前基于批处理的计算框架、基于流处理的计算框架,均无法适用于各类计算任务。
为了解决上述技术问题,本发明实施例提供一种混合计算系统,以同时满足各类计算任务的需求。通过在混合计算系统中包括基于批处理的第一计算引擎和基于流处理的第二计算引擎,使得混合计算系统既适合执行批处理任务,也适合执行流处理任务,提高了混合计算系统的适用性;根据计算任务的特征,自动将计算任务发送给适合执行该计算任务的目标计算引擎,保证了计算任务的需求得以满足。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例提供的混合计算系统的结构示意图一,如图1所示,本实施例的混合计算系统包括:分类层和计算层,其中,计算层包括第一计算引擎和第二计算引擎。
具体的,第一计算引擎为基于批处理的计算引擎,第二计算引擎为基于流处理的计算引擎。分类层可以具体包括数据处理装置,该数据处理装置可以为软件和/或硬件的形式,数据处理装置可以具体为处理器。
所述分类层用于根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎。
所述分类层还用于将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理。
具体的,用户或者其他装置将待处理的计算任务对应的第一代码输入混合计算系统,分类层根据第一代码,提取所述计算任务的特征,并根据特征确定该计算任务适合采用哪个计算引擎执行。
其中,第一代码是为了实现所述计算任务所编写的代码,具体的,第一代码可以为SQL代码。SQL(Structured Query Language)是一种结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
本实施例中,分类层根据第一代码提取的计算任务的特征,可以为影响计算任务执行耗时的任意特征。一种可选的实施方式中,所述计算任务的特征,包括但不限于:所述第一代码的时间复杂度、所述第一代码的空间复杂度、待处理数据的信息。
其中,待处理数据的信息可以具体包括:待处理数据量、待处理数据的输入次数和输出次数、待处理数据的时间周期、以及待处理数据的输入模式等。具体的,待处理数据的时间周期是指完成计算任务所需处理的原始数据对应的时间范围。待处理数据的输入模式是指计算任务对应的待处理数据是实时输入,还是按照年、月、或者日输入的。
分类层获取计算任务的特征之后,可以根据这些特征确定该计算任务适合采用基于批处理的计算引擎处理,还是适合采用基于流处理的计算引擎处理。具体的,可以在分类层中设置预设的规则,当计算任务的特征满足第一类预设条件时,采用第一计算引擎处理,当计算任务的特征满足第二类预设条件时,采用第二计算引擎处理。可以理解的,第一类预设条件和第二类预设条件的数量均可以为多个。
本实施例中,确定目标计算引擎的原理:有些计算任务更适合批处理,比如离线的微批数据、离线的较大规模数据集,则确定第一计算引擎为目标计算引擎;有些任务更适合用流处理,比如接入某个业务系统的事务性流数据,则确定第二计算引擎为目标计算引擎;如果批处理和流处理都可以,则任选其中一个计算引擎即可。本发明实施例对于确定目标计算引擎的实现方法不作更具体的限定。
下面进行举例说明,例如:某一计算任务为:计算2000年至2018年的全国各省的人口出生数量,该计算任务对应的待处理数据的时间周期为2000年至2018年,由于需要对18年的历史数据进行分析计算,该计算任务适合采用基于批处理的第一计算引擎处理。
再例如:某一计算任务为:在2018年11月11日当天实时计算全国各省的成交总额。该计算任务对应的待处理数据是实时输入的,即需要对输入的每条待处理数据进行实时计算,该计算任务适合采用基于流处理的第二计算引擎处理。
不同的计算引擎所能够识别的代码不同。若分类层确定的目标计算引擎为第一计算引擎处理,则将第一代码转换为第一计算引擎能够识别的第二代码,并将第二代码发送给第一计算引擎,从而第一计算引擎完成计算任务的处理。若分类层确定的目标计算引擎为第二计算引擎处理,则将第一代码转换为第二计算引擎能够识别的第二代码,并将第二代码发送给第二计算引擎,从而第二计算引擎完成计算任务的处理。
需要说明的是,本发明实施例对于计算层所采用的具体引擎不作具体限定,第一计算引擎可以采用现有的任意基于批处理的计算引擎,包括但不限于:Apache Hadoop、MapReduce、Apache Spark;第二计算引擎可以采用现有的基于流处理的计算引擎,包括但不限于:Apache Storm、Samza、Apache Flink。
一种可选的实施方式中,第一计算引擎采用Apache Spark,第二计算引擎采用Apache Flink。Apache Spark和Apache Flink均为目前最先进的混合处理框架,其中,Apache Spark的本质是批处理,它从批处理出发,将批处理和流处理统一起来;ApacheFlink的本质是流处理,它从流处理出发,将流处理和批处理统一起来。Apache Spark和Apache Flink都是基于内存的分布式并行计算,效率比基于磁盘的Hadoop MapReduce高很多倍。
本实施例中,将第一代码转换为第二代码是指将输入的SQL代码嵌入到目标计算引擎的API的方式,目的使目标计算引擎可以识别并启动该SQL代码。例如:若目标计算引擎为Apache Spark,则需要将用户输入的SQL代码嵌入到Spark脚本中,比如spark、pyspark、sparkR等;若目标计算引擎为Apache Flink,则需要将用户输入的SQL代码嵌入到TalbeAPI中,一般都是嵌入到Flink JAVA接口中。
本实施例中,虽然Apache Spark是基于批处理的计算引擎,但是,其采用了微批处理,并与流处理结合起来,使得Apache Spark也具有流处理的特性,保证了批处理计算任务的低时延。通过Apache Spark和Apache Flink的结合,一方面使得本实施例的混合计算系统能够适用于各种类型的计算任务,另一方面能够保证各类计算任务的时延需求。
本实施例提供的混合计算系统,包括分类层和计算层,所述计算层包括基于批处理的第一计算引擎和基于流处理的第二计算引擎;所述分类层用于根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎;所述分类层还用于将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理;通过在混合计算系统中包括基于批处理的第一计算引擎和基于流处理的第二计算引擎,使得混合计算系统既适合执行批处理任务,也适合执行流处理任务,提高了混合计算系统的适用性;根据计算任务的特征,自动将计算任务发送给适合执行该计算任务的目标计算引擎,保证了计算任务的各项需求得以满足。
下面结合一个具体的实施例详细描述混合计算系统的具体结构以及数据处理过程。下面的实施例中,以第一计算引擎采用Apache Spark、第二计算引擎采用Apache Flink为例进行描述。
图2为本发明实施例提供的混合计算系统的结构示意图二,图3为图2所示的混合计算系统的数据处理过程示意图。
如图2所示,在图1所示实施例的基础上,本实施例的混合计算系统还包括存储层、资源管理层和输入层。其中,存储层用于分布式存储所述待处理数据,资源管理层用于对所述第一计算引擎和所述第二计算引擎执行所述计算任务所需的资源进行管理和调度;输入层用于获取所述计算任务对应的第一代码。一种可选的实施方式中,所述存储层包括分布式文件存储系统HDFS和分布式内存存储系统Alluxio。所述资源管理层包括Yarn资源管理系统。
下面结合图3描述本实施例的混合计算系统的数据处理过程。如图3所示,用户确定计算任务后,用户或者其他装置将计算任务对应的第一代码输入至混合计算系统中。分类层根据第一代码获取,获取计算任务的特征,并根据这些特征确定目标计算引擎。
若分类层选择的目标计算引擎为第一计算引擎,即Apache Spark,则ApacheSpark根据第二代码开始申请集群资源,进行后续的计算处理。Apache Spark是一个围绕速度、易用性和复杂分析构建的“批-流”大数据混合处理框架,Spark Engine是一个基于内存的、善于存量迭代处理数据的分布式计算引擎,比Hadoop集群中的应用在内存的运行速度高100倍,比Hadoop应用在磁盘上的运行速度高10倍。Spark核心模型是RDD(ResilientDistributed Dataset,弹性分布式数据集)和DAG(Directed Acyclic Graph,有向无环图),而RDD结构决定了Spark是批处理,Spark Streaming(流式处理)本质是把批处理拆分成很小的“微批”,视为流处理。
若分类层选择的目标计算引擎为第二计算引擎,即Apache Flink,则ApacheFlink根据第二代码开始申请集群资源,进行后续的计算处理。Apache Flink是一个原生的流处理系统,“主-从”部署结构,兼具批处理和流处理的“流-批”混合计算框架,是一个基于内存的、善于增量迭代数据处理的分布式计算引擎。Apache Flink将所有输入数据都视为流数据,用DataStream API来处理流数据。且Apache Flink实现了Exactly Once,即对每条记录都只计算一次,大幅提高了数据计算的准确性。
在Apache Spark或Apache Flink对应的计算引擎执行计算任务期间,资源管理系统Yarn负责资源管理和调度,其中,资源包括:内存资源、CPU资源和I/O资源。Yarn是Haoop生态中一个通用的资源管理系统,采用“主-从”结构,为Apache Spark或Apache Flink的计算引擎提供统一的集群资源管理和调度。
本实施例中,存储层包括分布式文件存储系统HDFS和分布式内存存储系统Alluxio,用于分布式存储待处理数据。其中,HDFS(Hadoop Distributed File System,分布式文件存储系统)为离线数据的存储场所,采用“主-从”结构,专门用于超大规模数据集的分布式存储,具备高容错、高可靠性、高可扩展性、高吞吐等特性,可与大数据处理框架中的多个组件进行连接重组。当Apache Spark或Apache Flink对应的计算引擎执行计算任务时,可以不直接从HDFS读取待处理数据,而是通过资源管理系统Alluxio读取内存中的缓存文件获取待处理数据,使得I/O耗时大大降低。Alluxio是一个开源的、虚拟的、高容错的、基于内存的分布式存储系统,使用“主-从”结构,介于大数据分布式计算框架和底层分布式存储系统之间,允许文件以内存的速度在集群框架中进行共享。
如图2和图3所示,本实施例中,第一计算引擎和第二计算引擎共享了分布式的存储系统,而不是为每个计算引擎分布搭建一个存储系统,大大节省了存储系统的部署成本和维护成本。
现有技术中,单独的批处理计算引擎或者单独的流处理计算引擎独立部署,用户需要执行计算任务时,需要针对部署的计算引擎编写对应的代码,例如:若部署的为ApacheSpark计算引擎,则需要编写Apache Spark对应的执行代码,若部署的为Apache Flink计算引擎,则需要编写Apache Flink对应的执行代码,因此,需要用户具有针对不同的计算引擎编写对应代码的能力。另外,为了使计算任务满足预设需求,例如:时延需求、吞吐量需求等,用户需要分别在不同的计算引擎中分别进行尝试,确定哪个计算引擎是最优的,因此,尝试不同的计算引擎也会耗费大量的时间成本。
本实施例中,通过在混合计算系统中加入了可自动选择计算引擎的分类层,一方面,使得用户只需要编写计算任务对应的SQL代码即可,需要针对不同的计算引擎编写不同类型的代码,降低了对用户的能力要求;另一方面,用户输入计算任务对应的SQL代码后,混合计算系统会自动选择适合的计算引擎,从而无需用户逐个尝试不同的计算引擎,节省了时间成本。另外,本实施例中所采用的Apache Spark或Apache Flink两个计算引擎,能够满足处理不同计算任务的需求,并且,能够提高计算任务的处理速度,保证计算任务的低时延。
图4为本发明实施例提供的数据处理方法的流程示意图,本实施例的方法可以数据处理装置,该数据处理装置可以为软件和/或硬件的形式,该数据处理装置位于上述实施例中混合计算系统的分类层。
如图4所示,本实施例的数据处理方法,包括:
S401:根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎,所述第一计算引擎用于批处理,所述第二计算引擎用于流处理。
S402:将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理。
可选的,所述计算任务的特征包括下述中的至少一项:所述第一代码的时间复杂度、所述第一代码的空间复杂度、所述待处理数据的信息。
可选的,所述第一计算引擎为Apache Spark,所述第二计算引擎为Apache Flink。
本实施例的方法,可应用于混合计算系统的分类层,其中,混合计算系统的结构可以采用上述图1至图3所示实施例中的结构,其实现原理和技术效果类似,此处不再赘述。
图5为本发明实施例提供的数据处理装置的结构示意图一,如图5所示,本实施例的数据处理装置500,包括:选择模块501和发送模块502。
其中,所述选择模块501,用于根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎,所述第一计算引擎用于批处理,所述第二计算引擎用于流处理;
所述发送模块502,用于将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理。
可选的,所述计算任务的特征包括下述中的至少一项:所述第一代码的时间复杂度、所述第一代码的空间复杂度、所述待处理数据的信息。
可选的,所述第一计算引擎为Apache Spark,所述第二计算引擎为Apache Flink。
本实施例的数据处理装置,可应用于上述图1至图3任一实施例中的混合计算系统的分类层,并执行如图4所示的方法实施例,其实现效果类似,此处不再赘述。
图6为本发明实施例提供的数据处理装置的结构示意图二,如图6所示,本实施例的数据处理装置600,包括:至少一个处理器601和存储器602。其中,处理器601、存储器602通过总线603连接。
在具体实现过程中,至少一个处理器601执行所述存储器602存储的计算机执行指令,使得至少一个处理器601执行如图4所示的数据处理方法。
处理器601的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如图4所示的数据处理方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (16)

1.一种混合计算系统,其特征在于,包括:分类层和计算层,所述计算层包括基于批处理的第一计算引擎和基于流处理的第二计算引擎;
所述分类层用于根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎;
所述分类层还用于将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理。
2.根据权利要求1所述的混合计算系统,其特征在于,所述计算任务的特征包括下述中的至少一项:所述第一代码的时间复杂度、所述第一代码的空间复杂度、所述待处理数据的信息。
3.根据权利要求1所述的混合计算系统,其特征在于,所述第一计算引擎为ApacheSpark,所述第二计算引擎为Apache Flink。
4.根据权利要求1至3任一项所述的混合计算系统,其特征在于,还包括:
存储层,用于分布式存储所述待处理数据。
5.根据权利要求4所述的混合计算系统,其特征在于,所述存储层包括分布式文件存储系统HDFS和分布式内存存储系统Alluxio。
6.根据权利要求1至3任一项所述的混合计算系统,其特征在于,还包括:
资源管理层,用于对所述第一计算引擎和所述第二计算引擎执行所述计算任务所需的资源进行管理和调度。
7.根据权利要求6所述的混合计算系统,其特征在于,所述资源管理层包括Yarn资源管理系统。
8.根据权利要求1至3任一项所述的混合计算系统,其特征在于,还包括:
输入层,用于获取所述计算任务对应的第一代码。
9.一种数据处理方法,其特征在于,包括:
根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎,所述第一计算引擎用于批处理,所述第二计算引擎用于流处理;
将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理。
10.根据权利要求9所述的方法,其特征在于,所述计算任务的特征包括下述中的至少一项:所述第一代码的时间复杂度、所述第一代码的空间复杂度、所述待处理数据的信息。
11.根据权利要求9所述的方法,其特征在于,所述第一计算引擎为Apache Spark,所述第二计算引擎为Apache Flink。
12.一种数据处理装置,其特征在于,包括:
选择模块,用于根据计算任务对应的第一代码,获取所述计算任务的特征,并根据所述特征确定目标计算引擎,所述目标计算引擎为所述第一计算引擎或者所述第二计算引擎,所述第一计算引擎用于批处理,所述第二计算引擎用于流处理;
发送模块,用于将所述第一代码转换为与所述目标计算引擎对应的第二代码,并将所述第二代码发送给所述目标计算引擎,以使所述目标计算引擎执行所述计算任务以对待处理数据进行处理。
13.根据权利要求12所述的装置,其特征在于,所述计算任务的特征包括下述中的至少一项:所述第一代码的时间复杂度、所述第一代码的空间复杂度、所述待处理数据的信息。
14.根据权利要求12所述的装置,其特征在于,所述第一计算引擎为Apache Spark,所述第二计算引擎为Apache Flink。
15.一种数据处理装置,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求9至11任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求9至11任一项所述的方法。
CN201910142939.4A 2019-02-26 2019-02-26 混合计算系统、数据处理方法及装置 Pending CN111611221A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910142939.4A CN111611221A (zh) 2019-02-26 2019-02-26 混合计算系统、数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910142939.4A CN111611221A (zh) 2019-02-26 2019-02-26 混合计算系统、数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN111611221A true CN111611221A (zh) 2020-09-01

Family

ID=72195791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910142939.4A Pending CN111611221A (zh) 2019-02-26 2019-02-26 混合计算系统、数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN111611221A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150248A (zh) * 2020-09-30 2020-12-29 欧冶云商股份有限公司 一种基于批流融合的挂货量统计方法、系统、装置
CN112256734A (zh) * 2020-10-20 2021-01-22 中国农业银行股份有限公司 一种大数据处理方法、装置、系统、设备和存储介质
CN112507029A (zh) * 2020-12-18 2021-03-16 上海哔哩哔哩科技有限公司 数据处理系统及数据实时处理方法
CN113971192A (zh) * 2021-10-22 2022-01-25 北京火山引擎科技有限公司 数据处理方法、装置、可读介质及电子设备
CN115237573A (zh) * 2022-08-05 2022-10-25 中国铁塔股份有限公司 数据处理方法、装置、电子设备和可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080134158A1 (en) * 2006-12-04 2008-06-05 Streambase Systems, Inc. Stream processor with compiled programs
CN104008007A (zh) * 2014-06-12 2014-08-27 深圳先进技术研究院 基于流式计算和批处理计算的互操作数据处理系统及方法
CN104021194A (zh) * 2014-06-13 2014-09-03 浪潮(北京)电子信息产业有限公司 一种面向行业大数据多样性应用的混合型处理系统及处理方法
CN105677752A (zh) * 2015-12-30 2016-06-15 深圳先进技术研究院 一种流式计算和批处理计算相结合处理系统及方法
US20160350303A1 (en) * 2015-05-27 2016-12-01 Mark Fischer Management Of Structured, Non-Structured, And Semi-Structured Data In A Multi-Tenant Environment
CN107391719A (zh) * 2017-07-31 2017-11-24 南京邮电大学 一种云环境中分布式流数据处理方法及系统
CN107861804A (zh) * 2017-10-31 2018-03-30 用友金融信息技术股份有限公司 大数据计算方法、计算系统、计算机设备及可读存储介质
CN107948254A (zh) * 2017-11-10 2018-04-20 上海华讯网络系统有限公司 混合云平台的大数据处理框架编排系统及方法
CN108734286A (zh) * 2017-04-24 2018-11-02 英特尔公司 在推断期间中对图形处理器的协调和增加利用
CN109063017A (zh) * 2018-07-12 2018-12-21 广州市闲愉凡生信息科技有限公司 一种云计算平台的数据持久化分布方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080134158A1 (en) * 2006-12-04 2008-06-05 Streambase Systems, Inc. Stream processor with compiled programs
CN104008007A (zh) * 2014-06-12 2014-08-27 深圳先进技术研究院 基于流式计算和批处理计算的互操作数据处理系统及方法
CN104021194A (zh) * 2014-06-13 2014-09-03 浪潮(北京)电子信息产业有限公司 一种面向行业大数据多样性应用的混合型处理系统及处理方法
US20160350303A1 (en) * 2015-05-27 2016-12-01 Mark Fischer Management Of Structured, Non-Structured, And Semi-Structured Data In A Multi-Tenant Environment
CN105677752A (zh) * 2015-12-30 2016-06-15 深圳先进技术研究院 一种流式计算和批处理计算相结合处理系统及方法
CN108734286A (zh) * 2017-04-24 2018-11-02 英特尔公司 在推断期间中对图形处理器的协调和增加利用
CN107391719A (zh) * 2017-07-31 2017-11-24 南京邮电大学 一种云环境中分布式流数据处理方法及系统
CN107861804A (zh) * 2017-10-31 2018-03-30 用友金融信息技术股份有限公司 大数据计算方法、计算系统、计算机设备及可读存储介质
CN107948254A (zh) * 2017-11-10 2018-04-20 上海华讯网络系统有限公司 混合云平台的大数据处理框架编排系统及方法
CN109063017A (zh) * 2018-07-12 2018-12-21 广州市闲愉凡生信息科技有限公司 一种云计算平台的数据持久化分布方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150248A (zh) * 2020-09-30 2020-12-29 欧冶云商股份有限公司 一种基于批流融合的挂货量统计方法、系统、装置
CN112150248B (zh) * 2020-09-30 2021-08-03 欧冶云商股份有限公司 一种基于批流融合的挂货量统计方法、系统、装置
CN112256734A (zh) * 2020-10-20 2021-01-22 中国农业银行股份有限公司 一种大数据处理方法、装置、系统、设备和存储介质
CN112507029A (zh) * 2020-12-18 2021-03-16 上海哔哩哔哩科技有限公司 数据处理系统及数据实时处理方法
CN112507029B (zh) * 2020-12-18 2022-11-04 上海哔哩哔哩科技有限公司 数据处理系统及数据实时处理方法
CN113971192A (zh) * 2021-10-22 2022-01-25 北京火山引擎科技有限公司 数据处理方法、装置、可读介质及电子设备
CN115237573A (zh) * 2022-08-05 2022-10-25 中国铁塔股份有限公司 数据处理方法、装置、电子设备和可读存储介质
CN115237573B (zh) * 2022-08-05 2023-08-18 中国铁塔股份有限公司 数据处理方法、装置、电子设备和可读存储介质

Similar Documents

Publication Publication Date Title
CN111611221A (zh) 混合计算系统、数据处理方法及装置
Harlap et al. Addressing the straggler problem for iterative convergent parallel ML
US9389995B2 (en) Optimization of Map-Reduce shuffle performance through snuffler I/O pipeline actions and planning
US9262205B2 (en) Selective checkpointing of links in a data flow based on a set of predefined criteria
Mahgoub et al. {SOPHIA}: Online reconfiguration of clustered {NoSQL} databases for {Time-Varying} workloads
US9680893B2 (en) Method and system for event state management in stream processing
US8572614B2 (en) Processing workloads using a processor hierarchy system
US10127275B2 (en) Mapping query operations in database systems to hardware based query accelerators
DE112017006568T5 (de) Auslegung einer Basistaktfrequenz eines Prozessors auf der Basis von Nutzungsparametern
US9507636B2 (en) Resource management and allocation using history information stored in application's commit signature log
DE102014003799A1 (de) Systeme und Verfahren zur Übertragungseliminierung mit Bypass-Mehrfachinstanziierungstabelle
CN108205469B (zh) 一种基于MapReduce的资源分配方法及服务器
Tan et al. Hadoop framework: impact of data organization on performance
CN103838626A (zh) 一种处理串行任务的数据处理装置及方法
US20160147516A1 (en) Execution of complex recursive algorithms
US8458136B2 (en) Scheduling highly parallel jobs having global interdependencies
Liu et al. Optimizing shuffle in wide-area data analytics
Ghasemi et al. Accelerating apache spark big data analysis with fpgas
US9612863B2 (en) Hardware device for accelerating the execution of a systemC simulation in a dynamic manner during the simulation
CN113360581A (zh) 数据处理方法、装置及存储介质
Audibert et al. A case for disaggregation of ml data processing
US20110213752A1 (en) Non-blocking input output based storage
US20180253547A1 (en) Control flow integrity
US20140068173A1 (en) Content addressable memory scheduling
CN113608724A (zh) 一种基于模型缓存实现的离线仓库实时交互方法与系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210225

Address after: 6 / F, 76 Zhichun Road, Haidian District, Beijing 100086

Applicant after: Beijing Jingdong Zhenshi Information Technology Co.,Ltd.

Address before: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing 100080

Applicant before: Beijing Jingbangda Trading Co.,Ltd.

Effective date of registration: 20210225

Address after: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing 100080

Applicant after: Beijing Jingbangda Trading Co.,Ltd.

Address before: 8 / F, 76 Zhichun Road, Haidian District, Beijing 100195

Applicant before: BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: BEIJING JINGDONG CENTURY TRADING Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination