CN107037989A - 分布式计算***中的数据处理方法和装置 - Google Patents
分布式计算***中的数据处理方法和装置 Download PDFInfo
- Publication number
- CN107037989A CN107037989A CN201710347520.3A CN201710347520A CN107037989A CN 107037989 A CN107037989 A CN 107037989A CN 201710347520 A CN201710347520 A CN 201710347520A CN 107037989 A CN107037989 A CN 107037989A
- Authority
- CN
- China
- Prior art keywords
- task
- waiting task
- processing
- waiting
- internal memory
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Multi Processors (AREA)
Abstract
本公开是关于一种分布式计算***中的数据处理方法和装置,包括:接收数据处理请求,所述数据处理请求用于请求对待处理任务进行处理,判断处理完成的任务中是否存在所述待处理任务的相似任务,如果所述处理完成的任务中存在所述待处理任务的相似任务,则从内存中读取待处理任务的相似任务的中间处理结果,所述内存中存储有所述处理完成的任务的中间处理结果,根据待处理任务的相似任务的中间处理结果对所述待处理任务进行处理。通过将处理完成的任务的中间结果存储到内存,后续计算节点可以从内存中读取待处理任务的相似任务的中间处理结果,而不需要从磁盘读取,由于从内存中读取数据速度快,从而提高了任务处理效率。
Description
技术领域
本公开涉及数据处理技术,尤其涉及一种分布式计算***中的数据处理方法和装置。
背景技术
随着互联网的发展,人类正式进入了信息***时代,海量数据的计算和存储迫切需要,常规的单机计算模式已经不能支撑如此巨大的数据量,因此,分布式计算***与云计算出现。分布式计算***将任务分担到多台机器上,让每台机器都承担一部分的计算和数据存储任务。
在目前的分布式计算***中,不同任务的执行都是独立的,即使任务十分相似,例如请求相同的数据、做类似的操作,也需要从头开始执行整个计算流程,资源的浪费现象严重。
发明内容
为克服相关技术中存在的问题,本公开提供一种分布式计算***中的数据处理方法和装置。
根据本公开实施例的第一方面,提供一种分布式计算***中的数据处理方法,包括:
接收数据处理请求,所述数据处理请求用于请求对待处理任务进行处理;
判断处理完成的任务中是否存在所述待处理任务的相似任务;
如果所述处理完成的任务中存在所述待处理任务的相似任务,则从内存中读取所述待处理任务的相似任务的中间处理结果,所述内存中存储有所述处理完成的任务的中间处理结果;
根据所述待处理任务的相似任务的中间处理结果对所述待处理任务进行处理。
可选的,所述方法还包括:
如果所述处理完成的任务中不存在所述待处理任务的相似任务,则从磁盘中读取所述待处理任务的源数据;
根据所述待处理任务的源数据对所述待处理任务进行处理;
将所述待处理任务的中间处理结果存储到所述内存中。
可选的,所述将所述待处理任务的中间处理结果存储到所述内存中之前,还包括:
从所述数据处理请求中获取存储指示信息,所述存储指示信息用于指示将所述待处理任务的中间处理结果存储到所述内存中;
将所述待处理任务的中间处理结果存储到所述内存中,包括:
根据所述存储指示信息将所述待处理任务的中间处理结果存储到所述内存中。
可选的,所述判断处理完成的任务中是否存在所述待处理任务的相似任务之前,还包括:
通过对所述数据处理请求进行语法分析,提取所述待处理任务的关键信息;
所述判断处理完成的任务中是否存在所述待处理任务的相似任务,包括:
判断数据库中是否存在与所述待处理任务的关键信息匹配的任务,所述数据库中存储有所述处理完成的任务的关键信息;
当所述数据库中存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中存在所述待处理任务的相似任务;
当所述数据库中不存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中不存在所述待处理任务的相似任务。
可选的,所述数据库中还存储有所述处理完成的任务在所述内存中的地址;
所述从内存中读取所述待处理任务的相似任务的中间处理结果,包括:
从所述数据库中查找所述待处理任务的相似任务在所述内存中的地址;
根据所述待处理任务的相似任务在所述内存中的地址,从所述内存中读取所述待处理任务的相似任务的中间处理结果。
可选的,任务的关键信息包括以下信息中的一个或多个:任务的源数据的地址、表名、列名和过滤条件。
可选的,所述方法还包括:
根据所述处理完成的任务的中间处理结果的访问频率,对所述内存中存储的所述处理完成的任务的中间处理结果进行淘汰。
根据本公开实施例的第二方面,提供一种分布式计算***中的数据处理装置,包括:
接收模块,被配置为接收数据处理请求,所述数据处理请求用于请求对待处理任务进行处理;
判断模块,被配置为判断处理完成的任务中是否存在所述待处理任务的相似任务;
第一读取模块,被配置为当所述处理完成的任务中存在所述待处理任务的相似任务时,从内存中读取所述待处理任务的相似任务的中间处理结果,所述内存中存储有所述处理完成的任务的中间处理结果;
第一处理模块,被配置为根据所述待处理任务的相似任务的中间处理结果对所述待处理任务进行处理。
可选的,所述装置还包括:
第二读取模块,被配置为当所述处理完成的任务中不存在所述待处理任务的相似任务时,从磁盘中读取所述待处理任务的源数据;
第二处理模块,被配置为根据所述待处理任务的源数据对所述待处理任务进行处理;
存储模块,被配置为将所述待处理任务的中间处理结果存储到所述内存中。
可选的,所述装置还包括:
获取模块,被配为从所述数据处理请求中获取存储指示信息,所述存储指示信息用于指示将所述待处理任务的中间处理结果存储到所述内存中;
所述存储模块,包括:
第一存储子模块,被配置为根据所述存储指示信息将所述待处理任务的中间处理结果存储到所述内存中。
可选的,所述装置还包括:
提取模块,被配置为通过对所述数据处理请求进行语法分析,提取所述待处理任务的关键信息;
所述判断模块,包括:
判断子模块,被配置为判断数据库中是否存在与所述待处理任务的关键信息匹配的任务,所述数据库中存储有所述处理完成的任务的关键信息;
第一确定子模块,被配置为当所述数据库中存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中存在所述待处理任务的相似任务;
第二确定子模块,被配置为当所述数据库中不存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中不存在所述待处理任务的相似任务。
可选的,所述数据库中还存储有所述处理完成的任务在所述内存中的地址;
所述第一读取模块,包括:
查询子模块,被配置为从所述数据库中查找所述待处理任务的相似任务在所述内存中的地址;
读取子模块,被配置为根据所述待处理任务的相似任务在所述内存中的地址,从所述内存中读取所述待处理任务的相似任务的中间处理结果。
可选的,任务的关键信息包括以下信息中的一个或多个:任务的源数据的地址、表名、列名和过滤条件。
可选的,所述装置还包括:
内存淘汰模块,被配置为根据所述处理完成的任务的中间处理结果的访问频率,对所述内存中存储的所述处理完成的任务的中间处理结果进行淘汰。
根据本公开实施例的第三方面,提供一种分布式计算***中的数据处理装置,包括:
存储器;
被配置为存储处理器可执行信号的存储器;
其中,所述处理器被配置为:
接收数据处理请求,所述数据处理请求用于请求对待处理任务进行处理;
判断处理完成的任务中是否存在所述待处理任务的相似任务;
如果所述处理完成的任务中存在所述待处理任务的相似任务,则从内存中读取所述待处理任务的相似任务的中间处理结果,所述内存中存储有所述处理完成的任务的中间处理结果;
根据所述待处理任务的相似任务的中间处理结果对所述待处理任务进行处理。
本公开的实施例提供的技术方案可以包括以下有益效果:在接收数据处理请求后,判断处理完成的任务中是否存在数据处理请求中包括的待处理任务的相似任务,如果处理完成的任务中存在待处理任务的相似任务,则从内存中读取待处理任务的相似任务的中间处理结果,根据待处理任务的相似任务的中间处理结果对待处理任务进行处理。通过将处理完成的任务的中间结果存储到内存,后续计算节点可以从内存中读取待处理任务的相似任务的中间处理结果,而不需要从磁盘读取,由于从内存中读取数据速度快,从而提高了任务处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种分布式计算***中的数据处理方法的流程图。
图2是根据一示例性实施例示出的一种分布式计算***中的数据处理方法的流程图。
图3是根据一示例性实施例示出的一种分布式计算***中的数据处理方法的流程图。
图4是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图。
图5是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图。
图6是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图。
图7是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图。
图8是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图。
图9是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图。
图10是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的实体框图。
图11是根据一示例性实施例示出的一种分布式计算***中的数据处理装置800的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种分布式计算***中的数据处理方法的流程图,该方法应用在分布式计算***中,常见的分布式计算***包括Hadoop***、Storm***、和Spark***等。分布式计算***中通常包括一个控制节点和多个计算节点,控制节点主要用于把一个大的计算任务划分为多个小的计算任务,并对从计算进行跟踪和控制,计算节点主要用户对任务进行计算。控制节点也称为主节点(Master),计算节点也称为从节点(slaver)。当然,在不同的分布式计算***中,控制节点和计算节点会有不同的名称,例如,在Hadoop***中控制节点称为工作***(job tracker),计算节点称为任务***(tasktracker)。本实施例的方法由计算节点执行,如图1所示,该分布式计算***中的数据处理方法包括以下步骤。
在步骤S101中,接收数据处理请求,该数据处理请求用户请求对待处理任务进行处理。
控制节点对一个大的任务进行划分得到多个小的任务,然后分别向每个计算节点发送数据处理请求,计算节点接收到数据处理请求,该数据处理请求用于请求计算节点对分配的待处理任务进行处理。
在步骤S102中,判断处理完成的任务中是否存在待处理任务的相似任务。
如果处理完成的任务中存在待处理任务的相似任务,则执行步骤S103,如果处理完成的任务中不存在待处理任务的相似任务,则执行步骤S105。待处理任务的相似任务可能是与待处理任务请求的数据相同,执行的操作类似的任务。
其中,该处理完成的任务可以是该待处理任务进行处理的计算节点处理完成的任务,也可能是分布式计算***中其他计算节点处理完成的任务,从而能够实现将分布式计算***中的中间处理结果共享。
一种实现方式中,通过对数据处理请求进行语法分析,提取待处理任务的关键信息,根据待处理任务的关键信息查找数据库中是否存在与待处理任务的关键信息匹配的任务,其中,数据库中存储有分布式计算***中所有处理完成的任务的关键信息。当数据库中存在与待处理任务的关键信息匹配的任务时,确定处理完成的任务中存在待处理任务的相似任务,当数据库中不存在于待处理任务的关键信息匹配的任务时,确定处理完成的任务中不存在待处理任务的相似任务。
可选的,任务的关键信息包括以下信息中的一个或多个:任务的源数据的地址、表名、列名和过滤条件,源数据的地址即源数据在磁盘中的存储地址,在数据库中数据都以表的形式存储,数据库总存储有大量的表,每张表都有表名,每张表由多个列和行组成,每个列有列名,过滤条件用于表示读取表中的哪些行。
根据待处理任务的关键信息查找数据库中是否存在与待处理任务的关键信息匹配的任务,具体为:将待处理任务的关键信息与数据库中的任意一个任务的关键信息比较,如果待处理任务的关键信息与当前比较的任务的关键信息相同,或者,待处理任务的关键信息属于当前比较任务的关键信息的子集,则确定处理完成的任务中存在待处理任务的相似任务,该当前比较的任务为待处理任务的相似任务。
在步骤S103中,从内存中读取待处理任务的相似任务的中间处理结果。
该内存中存储有处理完成的任务的中间处理结果,数据库中还存储有处理完成的任务在内存中的地址,计算节点根据待处理任务的相似任务在内存中的地址,从内存中读取待处理任务的相似任务的中间处理结果。
该内存可以为每个计算节点的独立内存,也可以是多个计算节点的共享内存,每个计算节点的独立内存只能被该计算节点访问,共享内存可以被分布式计算***中的所有计算节点访问。当该内存为计算节点的独立内存时,每个计算节点上存储的处理完成的任务的中间处理结果相同,每个节点都独立的对自身的独立内存进行访问,任务并发程度高,且读取速度快,但是会造成存储资源的浪费。当该内存为共享内存时,分布式计算***中只需要存储一份处理完成的任务的中间处理结果,节省了存储资源,但是多个计算节点无法同时访问共享内存,导致任务并发度降低。
需要说明的是,任务的中间处理结果有一定的生命周期,内存中的数据会被淘汰,可以按照现有的淘汰算法对内存中的任务的中间处理结果进行淘汰,一些长时间没有被访问的任务的中间处理结果会被淘汰掉。例如,根据处理完成的任务的中间处理结果的访问频率,对内存中存储的所述处理完成的任务的中间处理结果进行淘汰,将访问频率低的任务的中间处理结果从内存中淘汰,将访问频率高的任务的中间处理结果保留在内存中。
在步骤S104中,根据待处理任务的相似任务的中间处理结果对待处理任务进行处理。
其中,相似任务可能与待处理任务请求的数据相同,则相似任务的中间处理结果为请求数据,计算节点可以直接使用相似任务请求的数据,不需要再从磁盘请求数据,通常从瓷片读取数据较慢,从内存读取数据节约了大量时间,从而提高了计算节点的处理效率。如果相似任务不仅与待处理任务请求的数据相同,执行的操作也类似,则计算节点可以执行利用相似任务的计算结果,不需要在计算,进一步提高了计算节点的处理效率。
在步骤S105中,从磁盘中读取待处理任务的源数据。
如果处理完成的任务中不存在待处理任务的相似任务,则在内存中不存在相似任务的中间处理数据,计算节点只能按照现有的方式从磁盘读取待处理任务的源数据。
在步骤S106中,根据待处理任务的源数据对待处理任务进行处理。
在步骤S107中,将待处理任务的中间处理结果存储到内存中。
不同于现有技术,本实施例中,计算节点再对待处理任务完成后,将待处理任务的中间处理结果存储到内存中,便于后续该计算节点或者其他计算节点能够使用该待处理任务的中间处理结果。
本实施例中,在接收数据处理请求后,判断处理完成的任务中是否存在数据处理请求中包括的待处理任务的相似任务,如果处理完成的任务中存在待处理任务的相似任务,则从内存中读取待处理任务的相似任务的中间处理结果,根据待处理任务的相似任务的中间处理结果对待处理任务进行处理。通过将处理完成的任务的中间结果存储到内存,后续计算节点可以从内存中读取待处理任务的相似任务的中间处理结果,而不需要从磁盘读取,由于从内存中读取数据速度快,从而提高了任务处理效率。
在图1所示实施例的基础上,图2是根据一示例性实施例示出的一种分布式计算***中的数据处理方法的流程图,如图2所示,该分布式计算***中的数据处理方法包括以下步骤。
在步骤S201中,接收数据处理请求,该数据处理请求用户请求对待处理任务进行处理。
在步骤S202中,判断处理完成的任务中是否存在待处理任务的相似任务。
如果处理完成的任务中存在待处理任务的相似任务,则执行步骤S203,如果处理完成的任务中不存在待处理任务的相似任务,则执行步骤S205。
在步骤S203中,从内存中读取待处理任务的相似任务的中间处理结果。
该内存中存储有处理完成的任务的中间处理结果。
在步骤S204中,根据待处理任务的相似任务的中间处理结果对待处理任务进行处理。
在步骤S205中,从磁盘中读取待处理任务的源数据。
如果处理完成的任务中不存在待处理任务的相似任务,则在内存中不存在相似任务的中间处理数据,计算节点只能按照现有的方式从磁盘读取待处理任务的源数据。
在步骤S206中,根据待处理任务的源数据对待处理任务进行处理。
步骤S201至S206的具体实现方式参照图1所示实施例步骤S101至S106的实现方式,这里不再赘述。
在步骤S207中,从数据处理请求中获取存储指示信息。
该存储指示信息用于指示将待处理任务的中间处理结果存储到内存中。本实施例中,对数据处理请求扩充了语法,以便于可以显示的指示是否需要将待处理任务的中间处理结果存储到内存中。
在步骤S208中,根据存储指示信息将待处理任务的中间处理结果存储到内存中。
本实施例中,计算节点根据存储指示信息将待处理任务的中间处理结果存储到内存中,如果数据处理请求中不包括该存储指示信息,则计算节点可以按照预设的操作将不对待处理任务的中间处理结果进行任何处理,或者,将待处理任务的中间处理结果存储到磁盘中。在其他实施例中,数据处理请求中也可以不包括该存储指示信息,计算节点默认将待处理任务的中间处理结果存储到内存中。通过在数据处理请求中显示的指示计算节点将待处理任务的中间处理结果存储到内存中,便于后续能够从内存中读取待处理任务的中间处理结果。
在图2所示实施例的基础上,图3是根据一示例性实施例示出的一种分布式计算***中的数据处理方法的流程图,如图3所示,该分布式计算***中的数据处理方法包括以下步骤。
在步骤S301中,接收数据处理请求,该数据处理请求用户请求对待处理任务进行处理。
在步骤S302中,通过对数据处理请求进行语法分析,提取待处理任务的关键信息。
可选的,待处理任务的关键信息包括以下信息中的一个或多个:待处理任务的源数据的地址、表名、列名和过滤条件。
在步骤S303中,判断数据库中是否存在与待处理任务的关键信息匹配的任务。
数据库中存储有处理完成的任务的关键信息以及处理完成的任务在所述内存中的地址。根据待处理任务的关键信息查找数据库中是否存在与待处理任务的关键信息匹配的任务,具体为:将待处理任务的关键信息与数据库中的任意一个任务的关键信息比较,如果待处理任务的关键信息与当前比较的任务的关键信息相同,或者,待处理任务的关键信息属于当前比较任务的关键信息的子集,则确定处理完成的任务中存在待处理任务的相似任务,该当前比较的任务为待处理任务的相似任务。
当数据库中存在与待处理任务的关键信息匹配的任务时,执行步骤S304,当数据库中不存在与待处理任务的关键信息匹配的任务时,执行步骤S308。
在步骤S304中,确定处理完成的任务中存在待处理任务的相似任务。
在步骤S305中,从数据库中查找待处理任务的相似任务在内存中的地址。
在步骤S306中,根据待处理任务的相似任务在内存中的地址,从内存中读取待处理任务的相似任务的中间处理结果。
该内存中存储有处理完成的任务的中间处理结果。
在步骤S307中,根据待处理任务的相似任务的中间处理结果对待处理任务进行处理。
在步骤S308中,确定处理完成的任务中不存在待处理任务的相似任务。
在步骤S309中,从磁盘中读取待处理任务的源数据。
在步骤S310中,根据待处理任务的源数据对待处理任务进行处理。
在步骤S311中,从数据处理请求中获取存储指示信息。
该存储指示信息用于指示将待处理任务的中间处理结果存储到内存中。
在步骤S312中,根据存储指示信息将待处理任务的中间处理结果存储到内存中。
本实施例中,通过对数据处理请求进行语法分析,提取待处理任务的关键信息,根据待处理任务的关键信息查找数据库中是否存在与待处理任务的关键信息匹配的任务,数据库中存储有处理完成的任务的关键信息,当数据库中存在与待处理任务的关键信息匹配的任务时,确定处理完成的任务中存在待处理任务的相似任务,当数据库中不存在与待处理任务的关键信息匹配的任务时,确定处理完成的任务中不存在待处理任务的相似任务。通过根据待处理任务的关键信息确定待处理任务的相似任务,实现简单,且确定的待处理任务的相似任务更加准确。
图4是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图,如图4所示,本实施例的装置包括:
接收模块11,被配置为接收数据处理请求,所述数据处理请求用于请求对待处理任务进行处理;
判断模块12,被配置为判断处理完成的任务中是否存在所述待处理任务的相似任务;
第一读取模块13,被配置为当所述处理完成的任务中存在所述待处理任务的相似任务时,从内存中读取所述待处理任务的相似任务的中间处理结果,所述内存中存储有所述处理完成的任务的中间处理结果;
第一处理模块14,被配置为根据待处理任务的相似任务的中间处理结果对所述待处理任务进行处理。
图5是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图,如图5所示,本实施的装置在图4所示装置的基础上,还包括:
第二读取模块15,被配置为当所述处理完成的任务中不存在所述待处理任务的相似任务时,从磁盘中读取所述待处理任务的源数据;
第二处理模块16,被配置为根据所述待处理任务的源数据对所述待处理任务进行处理;
存储模块17,被配置为将所述待处理任务的中间处理结果存储到所述内存中。
图6是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图,如图6所示,本实施的装置在图5所示装置的基础上,还包括:
获取模块18,被配为从所述数据处理请求中获取存储指示信息,所述存储指示信息用于指示将所述待处理任务的中间处理结果存储到所述内存中;
所述存储模块17,包括:
第一存储子模块171,被配置为根据所述存储指示信息将所述待处理任务的中间处理结果存储到所述内存中。
图7是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图,如图7所示,本实施的装置在图5所示装置的基础上,还包括:
提取模块19,被配置为通过对所述数据处理请求进行语法分析,提取所述待处理任务的关键信息;
所述判断模块12,包括:
判断子模块121,被配置为根据所述待处理任务的关键信息查找数据库中是否存在与所述待处理任务的关键信息匹配的任务,所述数据库中存储有所述处理完成的任务的关键信息;
第一确定子模块122,被配置为当所述数据库中存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中存在所述待处理任务的相似任务;
第二确定子模块123,被配置为当所述数据库中不存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中不存在所述待处理任务的相似任务。
可选的,任务的关键信息包括以下信息中的一个或多个:任务的源数据的地址、表名、列名和过滤条件。
图8是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图,如图8所示,本实施的装置在图7所示装置的基础上,所述第一读取模块13,包括:
查询子模块131,被配置为从所述数据库中查找所述待处理任务的相似任务在所述内存中的地址;
读取子模块132,被配置为根据所述待处理任务的相似任务在所述内存中的地址,从所述内存中读取所述待处理任务的相似任务的中间处理结果。
图9是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的框图,如图9所示,本实施的装置在图5所示装置的基础上,还包括:
内存淘汰模块20,被配置为根据所述处理完成的任务的中间处理结果的访问频率,对所述内存中存储的所述处理完成的任务的中间处理结果进行淘汰。
图4至图9所示的分布式计算***中的数据处理装置中的各功能模块,可用于执行上述图1至图3所示的分布式计算***中的数据处理方法,具体实现方式和技术效果类似,请参照上述方法实施例,此处不再赘述。
图10是根据一示例性实施例示出的一种分布式计算***中的数据处理装置的实体框图,如图10所示,推送消息的显示装置300包括:处理器31和用于存储处理器31可执行信号的存储器32,存储器32通过***总线与处理器31连接并通信。
其中,处理器31被配置为:
接收数据处理请求,所述数据处理请求用于请求对待处理任务进行处理;
判断处理完成的任务中是否存在所述待处理任务的相似任务;
如果所述处理完成的任务中存在所述待处理任务的相似任务,则从内存中读取所述待处理任务的相似任务的中间处理结果,所述内存中存储有所述处理完成的任务的中间处理结果;
根据待处理任务的相似任务的中间处理结果对所述待处理任务进行处理。
应理解,上述实施例中,处理器可以是中央处理单元(英文:Central ProcessingUnit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital SignalProcessor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
图11是根据一示例性实施例示出的一种分布式计算***中的数据处理装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图11,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行命令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的命令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图1至图3所示的分布式计算***中的数据处理方法。
在示例性实施例中,还提供了一种包括命令的非临时性计算机可读存储介质,例如包括命令的存储器804,上述命令可由装置800的处理器820执行以完成上述图1至图3所示的分布式计算***中的数据处理方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的命令由分布式计算***中的数据处理装置的处理器执行时,使得分布式计算***中的数据处理装置能够执行图1至图3所示的分布式计算***中的数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (15)
1.一种分布式计算***中的数据处理方法,其特征在于,包括:
接收数据处理请求,所述数据处理请求用于请求对待处理任务进行处理;
判断处理完成的任务中是否存在所述待处理任务的相似任务;
如果所述处理完成的任务中存在所述待处理任务的相似任务,则从内存中读取所述待处理任务的相似任务的中间处理结果,所述内存中存储有所述处理完成的任务的中间处理结果;
根据所述待处理任务的相似任务的中间处理结果对所述待处理任务进行处理。
2.根据权利要求1所述的方法,其特征在于,还包括:
如果所述处理完成的任务中不存在所述待处理任务的相似任务,则从磁盘中读取所述待处理任务的源数据;
根据所述待处理任务的源数据对所述待处理任务进行处理;
将所述待处理任务的中间处理结果存储到所述内存中。
3.根据权利要求2所述的方法,其特征在于,所述将所述待处理任务的中间处理结果存储到所述内存中之前,还包括:
从所述数据处理请求中获取存储指示信息,所述存储指示信息用于指示将所述待处理任务的中间处理结果存储到所述内存中;
将所述待处理任务的中间处理结果存储到所述内存中,包括:
根据所述存储指示信息将所述待处理任务的中间处理结果存储到所述内存中。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述判断处理完成的任务中是否存在所述待处理任务的相似任务之前,还包括:
通过对所述数据处理请求进行语法分析,提取所述待处理任务的关键信息;
所述判断处理完成的任务中是否存在所述待处理任务的相似任务,包括:
判断数据库中是否存在与所述待处理任务的关键信息匹配的任务,所述数据库中存储有所述处理完成的任务的关键信息;
当所述数据库中存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中存在所述待处理任务的相似任务;
当所述数据库中不存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中不存在所述待处理任务的相似任务。
5.根据权利要求4所述的方法,其特征在于,所述数据库中还存储有所述处理完成的任务在所述内存中的地址;
所述从内存中读取所述待处理任务的相似任务的中间处理结果,包括:
从所述数据库中查找所述待处理任务的相似任务在所述内存中的地址;
根据所述待处理任务的相似任务在所述内存中的地址,从所述内存中读取所述待处理任务的相似任务的中间处理结果。
6.根据权利要求4所述的方法,其特征在于,任务的关键信息包括以下信息中的一个或多个:任务的源数据的地址、表名、列名和过滤条件。
7.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
根据所述处理完成的任务的中间处理结果的访问频率,对所述内存中存储的所述处理完成的任务的中间处理结果进行淘汰。
8.一种分布式计算***中的数据处理装置,其特征在于,包括:
接收模块,被配置为接收数据处理请求,所述数据处理请求用于请求对待处理任务进行处理;
判断模块,被配置为判断处理完成的任务中是否存在所述待处理任务的相似任务;
第一读取模块,被配置为当所述处理完成的任务中存在所述待处理任务的相似任务时,从内存中读取所述待处理任务的相似任务的中间处理结果,所述内存中存储有所述处理完成的任务的中间处理结果;
第一处理模块,被配置为根据所述待处理任务的相似任务的中间处理结果对所述待处理任务进行处理。
9.根据权利要求8所述的装置,其特征在于,还包括:
第二读取模块,被配置为当所述处理完成的任务中不存在所述待处理任务的相似任务时,从磁盘中读取所述待处理任务的源数据;
第二处理模块,被配置为根据所述待处理任务的源数据对所述待处理任务进行处理;
存储模块,被配置为将所述待处理任务的中间处理结果存储到所述内存中。
10.根据权利要求9所述的装置,其特征在于,还包括:
获取模块,被配为从所述数据处理请求中获取存储指示信息,所述存储指示信息用于指示将所述待处理任务的中间处理结果存储到所述内存中;
所述存储模块,包括:
第一存储子模块,被配置为根据所述存储指示信息将所述待处理任务的中间处理结果存储到所述内存中。
11.根据权利要求8-10任一项所述的装置,其特征在于,还包括:
提取模块,被配置为通过对所述数据处理请求进行语法分析,提取所述待处理任务的关键信息;
所述判断模块,包括:
判断子模块,被配置为判断数据库中是否存在与所述待处理任务的关键信息匹配的任务,所述数据库中存储有所述处理完成的任务的关键信息;
第一确定子模块,被配置为当所述数据库中存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中存在所述待处理任务的相似任务;
第二确定子模块,被配置为当所述数据库中不存在与所述待处理任务的关键信息匹配的任务时,确定所述处理完成的任务中不存在所述待处理任务的相似任务。
12.根据权利要求11所述的装置,其特征在于,所述数据库中还存储有所述处理完成的任务在所述内存中的地址;
所述第一读取模块,包括:
查询子模块,被配置为从所述数据库中查找所述待处理任务的相似任务在所述内存中的地址;
读取子模块,被配置为根据所述待处理任务的相似任务在所述内存中的地址,从所述内存中读取所述待处理任务的相似任务的中间处理结果。
13.根据权利要求11所述的装置,其特征在于,任务的关键信息包括以下信息中的一个或多个:任务的源数据的地址、表名、列名和过滤条件。
14.根据权利要求8-10任一项所述的装置,其特征在于,还包括:
内存淘汰模块,被配置为根据所述处理完成的任务的中间处理结果的访问频率,对所述内存中存储的所述处理完成的任务的中间处理结果进行淘汰。
15.一种分布式计算***中的数据处理装置,其特征在于,包括:
存储器;
被配置为存储处理器可执行信号的存储器;
其中,所述处理器被配置为:
接收数据处理请求,所述数据处理请求用于请求对待处理任务进行处理;
判断处理完成的任务中是否存在所述待处理任务的相似任务;
如果所述处理完成的任务中存在所述待处理任务的相似任务,则从内存中读取所述待处理任务的相似任务的中间处理结果,所述内存中存储有所述处理完成的任务的中间处理结果;
根据所述待处理任务的相似任务的中间处理结果对所述待处理任务进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710347520.3A CN107037989A (zh) | 2017-05-17 | 2017-05-17 | 分布式计算***中的数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710347520.3A CN107037989A (zh) | 2017-05-17 | 2017-05-17 | 分布式计算***中的数据处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107037989A true CN107037989A (zh) | 2017-08-11 |
Family
ID=59538101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710347520.3A Pending CN107037989A (zh) | 2017-05-17 | 2017-05-17 | 分布式计算***中的数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107037989A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921728A (zh) * | 2018-07-03 | 2018-11-30 | 北京科东电力控制***有限责任公司 | 基于电网调度***的分布式实时库*** |
CN115695432A (zh) * | 2023-01-04 | 2023-02-03 | 河北华通科技股份有限公司 | 一种负载均衡方法、装置、电子设备及存储介质 |
WO2023165484A1 (zh) * | 2022-03-04 | 2023-09-07 | 阿里巴巴(中国)有限公司 | 一种分布式任务的处理方法、分布式***及第一设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521347A (zh) * | 2011-12-11 | 2012-06-27 | 西北工业大学 | 基于优先级的模式匹配中间结果管理方法 |
CN103188306A (zh) * | 2011-12-30 | 2013-07-03 | ***通信集团公司 | 分布式预处理方法和*** |
CN104156316A (zh) * | 2014-08-06 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种Hadoop集群批处理作业的方法及*** |
CN104252466A (zh) * | 2013-06-26 | 2014-12-31 | 阿里巴巴集团控股有限公司 | 流计算处理方法、设备和*** |
CN104636327A (zh) * | 2013-11-06 | 2015-05-20 | 上海语镜汽车信息技术有限公司 | 一种基于增量计算的分布式流式数据*** |
CN105426119A (zh) * | 2015-10-28 | 2016-03-23 | 上海新储集成电路有限公司 | 一种存储设备及数据处理方法 |
CN105446896A (zh) * | 2014-08-29 | 2016-03-30 | 国际商业机器公司 | 映射化简应用的缓存管理方法和装置 |
-
2017
- 2017-05-17 CN CN201710347520.3A patent/CN107037989A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521347A (zh) * | 2011-12-11 | 2012-06-27 | 西北工业大学 | 基于优先级的模式匹配中间结果管理方法 |
CN103188306A (zh) * | 2011-12-30 | 2013-07-03 | ***通信集团公司 | 分布式预处理方法和*** |
CN104252466A (zh) * | 2013-06-26 | 2014-12-31 | 阿里巴巴集团控股有限公司 | 流计算处理方法、设备和*** |
CN104636327A (zh) * | 2013-11-06 | 2015-05-20 | 上海语镜汽车信息技术有限公司 | 一种基于增量计算的分布式流式数据*** |
CN104156316A (zh) * | 2014-08-06 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种Hadoop集群批处理作业的方法及*** |
CN105446896A (zh) * | 2014-08-29 | 2016-03-30 | 国际商业机器公司 | 映射化简应用的缓存管理方法和装置 |
CN105426119A (zh) * | 2015-10-28 | 2016-03-23 | 上海新储集成电路有限公司 | 一种存储设备及数据处理方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921728A (zh) * | 2018-07-03 | 2018-11-30 | 北京科东电力控制***有限责任公司 | 基于电网调度***的分布式实时库*** |
CN108921728B (zh) * | 2018-07-03 | 2020-11-13 | 北京科东电力控制***有限责任公司 | 基于电网调度***的分布式实时库*** |
WO2023165484A1 (zh) * | 2022-03-04 | 2023-09-07 | 阿里巴巴(中国)有限公司 | 一种分布式任务的处理方法、分布式***及第一设备 |
CN115695432A (zh) * | 2023-01-04 | 2023-02-03 | 河北华通科技股份有限公司 | 一种负载均衡方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104378441B (zh) | 日程创建方法和装置 | |
CN106598395A (zh) | 任务的执行方法及装置 | |
CN104301528B (zh) | 显示信息的方法及装置 | |
CN107370772A (zh) | 账号登录方法、装置及计算机可读存储介质 | |
CN106406562A (zh) | 数据处理方法及装置 | |
CN107305569A (zh) | 一种信息处理方法及装置 | |
CN106790895A (zh) | 一种故障处理方法和装置 | |
CN107193606A (zh) | 应用分发方法及装置 | |
CN107016486A (zh) | 信息变更方法及装置 | |
CN106775248A (zh) | 推送内容的展示方法及装置 | |
CN105447109A (zh) | 关键字词搜索方法及装置 | |
CN106657132A (zh) | 访问网站的方法和装置 | |
CN105528403A (zh) | 目标数据识别方法及装置 | |
CN106775626A (zh) | 通知消息处理方法及装置 | |
CN107037989A (zh) | 分布式计算***中的数据处理方法和装置 | |
CN106777016A (zh) | 基于即时通信进行信息推荐的方法及装置 | |
CN104407981B (zh) | 内存管理方法和装置 | |
CN107045541A (zh) | 数据显示方法和装置 | |
CN107945552A (zh) | 对信号灯变灯时间进行提示的方法、装置及存储介质 | |
CN107423059A (zh) | 页面的显示方法、装置及终端 | |
CN106708967A (zh) | 页面显示方法及装置 | |
CN104681049B (zh) | 提示信息的显示方法及装置 | |
CN104219648B (zh) | 提示充值信息的方法及装置 | |
CN105099719A (zh) | 运营商流量的充值方法和装置 | |
CN107491238A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170811 |
|
RJ01 | Rejection of invention patent application after publication |