CN103942235A - 针对大规模数据集交叉比较的分布式计算系统和方法 - Google Patents
针对大规模数据集交叉比较的分布式计算系统和方法 Download PDFInfo
- Publication number
- CN103942235A CN103942235A CN201310178513.7A CN201310178513A CN103942235A CN 103942235 A CN103942235 A CN 103942235A CN 201310178513 A CN201310178513 A CN 201310178513A CN 103942235 A CN103942235 A CN 103942235A
- Authority
- CN
- China
- Prior art keywords
- data
- distributed
- user
- node
- dll
- 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.)
- Granted
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/18—File system types
- G06F16/182—Distributed file systems
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
-
- 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/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种针对大规模数据集交叉比较的分布式计算系统,包括交叉比较编程模型、主结点、编程接口和基于异构分布式机群的后端分布式处理框架。该分布式计算系统旨在应用分布式计算环境高效处理满足数据集交叉比较模式的计算问题。本发明通过提供用户直观的交叉比较编程模型,帮助用户将待处理计算过程进行抽象简化,实现了对各种不同交叉比较计算问题的统一支持;提供用户简洁的编程接口,帮助用户开发串行交叉比较程序,用户无需掌握并行编程知识;系统隐藏了并行计算的实现细节,用户无需掌握系统内部结构,降低了系统的使用难度。此外,本发明提出的交叉比较编程模型及接口与硬件无关,可以方便的在不同分布式机群环境中实现。
Description
技术领域
本发明涉及一种针对大规模数据集交叉比较的分布式计算系统和方法,属于分布式计算技术领域。
技术背景
交叉比较问题又称为数据集交叉连接或笛卡尔乘积问题,计算空间包括两个数据集所有元素的可能组合。针对数据集中所有元素进行交叉比较的计算问题广泛存在于生物计算,数据挖掘和模式识别等领域。比如生物计量学中,为处理人脸识别问题需要对数据库中海量人脸样本进行逐一对比得到相似度;生物信息学中,为深入分析物种进化特征需要对海量DNA,RNA等基因序列进行逐条比对从而得到基因序列关系矩阵;数据挖掘学中,知识挖掘过程中处理噪声的重要步骤就是对数据集逐项与噪声进行分析。因此,高效处理此类计算问题具有很重要的科研及商业价值。
随着待处理数据规模的不断增大,数据结构差异化增加,传统解决方案在应对此类问题时显出越来越大的局限性。目前的解决方案主要分为两种,一种设计针对小规模数据集,采用单机处理或在分布式计算平台中的每个计算结点统一部署全部数据的方法,无法解决海量大数据集交叉比较的问题;另一种方案采用传统批处理方式将数据集分割打包成任务集由不同的计算结点并行处理完成,此种方案存在计算资源利用率低,总处理能力及扩展能力受限于批处理任务系统,同样无法高效解决海量大数据集交叉比较的问题。
对于大规模数据集交叉比较问题,整个计算问题可以被划分成不同的计算任务被不同的计算结点并行处理,但不同的计算任务可能使用同一子数据集,整个计算问题的描述如图1所示:
图1所示的大规模数据集交叉比较计算问题主要包含两个计算过程:
1)数据集中的每一项子数据作为输入进行预处理计算,得到预处理后的中间结果;
2)任意两个不同子数据的预处理后的中间结果作为比较计算的输入,得到最终比较计算结果。
在典型的两数据集交叉比较问题中,整个计算空间如图2所示,每个星号代表两个数据集中的元素进行了一次交叉比较运算,对集合和集合,整个过程需要进行次交叉比较运算。
数据集在进行比较计算之前需要对其中的元素进行预处理计算。相对于比较计算,预处理计算同样需要大量的计算资源与计算时间。因此数据集元素预处理与元素比较运算构成了交叉比较运算中的主要计算过程。同样对于集合和集合,整个计算过程可以用以下的伪代码描述:
For each item i in data set A
For each item j in data set B
其中M表示计算结果矩阵,F表示交叉比较运算,P表示预处理运算。
此外,目前解决方案在使用过程中存在着并行程序开发困难,用户需要掌握计算平台内部实现方式,系统只针对解决某一特殊计算问题等缺点。因此,迫切需要研究一种针对海量数据集进行交叉比较的分布式计算系统,既满足高效处理大规模数据集的需要,又可以为用户提供简洁易用的使用接口,同时面向一般性的数据集交叉比较计算问题。
发明内容
针对现有技术的局限与不足,本发明提供一种针对大规模数据集交叉比较的分布式计算系统。
本发明还提供一种利用上述分布式计算系统处理数据的方法。
本发明的技术方案在于:
一种针对大规模数据集交叉比较的分布式计算系统,包括交叉比较编程模型、主结点、编程接口和基于异构分布式机群的后端分布式处理框架。该分布式计算系统旨在应用分布式计算环境高效处理满足数据集交叉比较模式的计算问题。本发明通过提供用户直观的交叉比较编程模型,帮助用户将待处理计算过程进行抽象简化,实现了对各种不同交叉比较计算问题的统一支持;提供用户简洁的编程接口,帮助用户开发串行交叉比较程序,用户无需掌握并行编程知识;系统隐藏了并行计算的实现细节,用户无需掌握系统内部结构,降低了系统的使用难度。
根据本发明优选的,所述的交叉比较编程模型包括四个独立的计算模块:数据读取模块、数据预处理模块、数据比较模块和数据输出模块;所述数据读取模块为根据计算任务的需要读取不同的输入数据;所述数据预处理模块为预处理输入数据,生成预处理后的中间计算结果,其中预处理是用户自定义的处理方法;所述数据比较模块对两个不同的预处理后中间计算结果进行比较计算,得到最终计算结果,其中比较计算处理是用户自定义的比较计算处理方法;所述数据输出模块收集生成的最终计算结果,以用户定义的方式将最终计算结果生成输出文件。在本发明所述分布式计算系统中的主结点调度下,四个独立计算模块在不同子结点协同运行,构成了一个具体的交叉比较计算任务。
为指导用户编程,本发明所述分布式系统还提供了4个编程接口,所述的4个编程接口的使用方法包括步骤(i)-(iv):
(i)用户创建自定义类并实现此编程接口;
(ii)用户根据具体计算问题定义INDEX(索引),CRUDEDATA(初始内容),INTERMEDIATEDATA(预处理后内容)及RESULTDATA(比较结果)的数据类型;
其中索引值一般为原始输入数据文件名;初始内容为原始输入数据;预处理后内容为输入数据在预处理过程后得到的计算结果;比较结果为输入数据在进行比较运算后得到的最终计算结果。
(iii)用户根据具体计算问题编写算法;
(iv)用户将编写完成的类文件提交后端分布式计算处理框架,执行计算任务;
编程接口如下所示(以JAVA语言示例):
根据本发明优选的,所述的编程接口分别为Reader编程接口、Preprocess编程接口、Compare编程接口和Writer编程接口:
其中所述Reader编程接口对应数据读取模块,用户自定义读入数据的INDEX(索引)及CRUDEDATA(初始内容)类型,并且自定义读入数据的读入方式及数据类型;提供了很好的兼容性;
所述Preprocess编程接口对应数据预处理模块,用户只需关注读入数据内容的预处理过程,定义INTERMEDIATEDATA(预处理后内容)类型;此方法与INDEX(索引)分离,使用户只需关注核心预处理过程;
所述Compare编程接口对应数据比较模块,用户只需关注两个不同预处理后数据的比较过程,定义RESULTDATA(比较结果);此方法同样与INDEX(索引)分离,使用户只需关注核心比较过程;
所述Writer编程接口对应数据输出模块,用户自定义输出数据的格式及形式;方便用户将计算数据导入其它计算平台。
根据本发明优选的,所述基于异构分布式机群的后端分布式处理框架,包括作业调度器、任务执行器、分布式机群资源管理系统和分布式文件系统:
本发明针对大规模异构分布式机群计算结点可用资源变化,硬件配置不同的特点,提出了大规模数据集交叉比较分布式计算系统后端处理框架,所述分布式处理框架主要负责计算任务的执行,分布式系统的管理及数据集的存储工作。大规模数据集交叉比较分布式计算系统后端处理框架组成如图4所示;
其中作业调度器运行于分布式机群主结点(Master结点),用户在提交计算作业后,作业调试器根据整个分布式机群中空闲资源情况,作业对资源的需求及待处理数据集的存储情况生成计算任务队列,依据任务分配策略将不同任务发布到各个从结点中;
其中任务执行器运行于分布式机群从结点(Slaves结点),任务执行器在接收到相应任务之后启动子任务处理过程,依照用户编写的方法进行数据的读入,预处理,比较和输出操作;
其中分布式机群资源管理系统运行于分布式机群所有结点,起到管理分布式机群中所有结点计算机,监控资源利用情况,控制结点之间通信及数据传输,及处理结点故障的作用;
其中分布式文件系统运行于分布式机群所有结点,用于存储输入数据集及最终输出结果;本发明支持读写多种分布式文件系统,在这里选取Hadoop分布式文件系统。
一种利用上述分布式计算系统处理数据的方法,包括步骤如下:
(1)用户分析具体计算问题;
(2)用户应用本发明所述分布式计算系统所提供的编程接口,分别实现四个独立的计算模块:数据读取模块、数据预处理模块、数据比较模块和数据输出模块的具体处理方法,包括步骤(a)-(d):
(a)数据读入阶段:在此阶段,子任务执行所需要的子数据集从分布式文件系统中被读入,数据集中的每一项输入文件在本发明所述的分布式计算系统中以索引A、初始内容的方式存储;
(b)数据预处理阶段:在此阶段,步骤(1)中读入的数据按照用户自定义的处理方法进行预处理,得中间计算结果在本发明所述的分布式计算系统中以索引A、预处理后内容的方式存储;
(c)数据比较阶段:在此阶段,用户自定义的比较计算处理方法从步骤(2)的中间计算结果中取出两个不同数据进行比较计算,得最终计算结果在本发明所述的分布式计算系统中以索引A、索引B和比较结果的方式存储;其中索引A,B分别对应两个不同的输入文件的索引;
(d)数据输出阶段:在此阶段,所述数据输出模块收集生成的最终计算结果,以用户定义的方式将最终计算结果生成输出文件;
如图3所示的交叉比较编程模型自动实现了计算过程并行化,用户在使用过程中只需将所需计算问题划分为以上四个阶段,分别定义各阶段在单个计算结点的实现方法,从而避免考虑并行编程的问题。
(3)用户编写包括以上四个独立的计算模块的类文件、确定输入数据集大小、分布式系统结点数量和各结点空闲资源情况,在后端分布式处理框架中进行设置;
(4)将应用前端编程接口定义的处理方法及待处理数据上传至后端分布式处理框架,其中数据存储至分布式文件系统中;
(5)后端分布式处理框架在主结点启动作业调度器,分析用户计算问题,自动生成相互独立的子任务集并将任务分配至不同从结点;在各个从结点启动任务执行器,从分布式文件系统中读取相应数据,执行具体子任务;当所有子任务执行完成后,后端分布式处理框架结束计算任务,输出最终结果并存入分布式文件系统中。
本发明的优势在于:
本发明针对大规模数据集交叉比较的分布式计算系统针对但不限于基于Linux操作系统的异构分布式机群。在典型的异构分布式计算环境中,每个计算结点都拥有不同的处理及存储能力,计算结点之间由高速网络连接,形成统一管理的计算环境。考虑到海量数据集的存储问题,本分布式计算系统整合了高性能分布式文件系统(Hadoop分布式文件系统),提供了充足的扩展能力。
本发明四个主要模块构成了本分布式计算平台的基本结构,用户可以通过部署此计算平台到分布式计算机群实现高效处理大规模数据集交叉比较运算的目的。
本发明针对大规模数据集交叉比较运算的特点,充分利用了分布式计算环境的优势,通过提出统一的交叉比较问题编程模型简化了用户开发不同数据集交叉比较程序的步骤,提供了简洁的编程接口使用户无需考虑并行编程问题,并且计算平台对用户隐藏了并行计算过程中数据分配,任务调度,资源管理等多方面的实现细节,降低了系统的使用难度。此外,本发明提出的交叉比较编程模型及接口与硬件无关,可以方便的在不同分布式机群环境中实现。
附图说明
图1为现有的对大规模数据集交叉比较问题的图解描述;
图2为图1大规模数据集交叉比较计算空间;
图3为本发明所述的大规模数据集交叉比较编程模型;
图4为本发明针对大规模数据集交叉比较的分布式计算系统后端处理框架;
图5为利用上述分布式计算系统处理数据的方法流程框图。
具体实施方法:
下面结合实施例和说明书附图对本发明做详细的说明,但不限于此。
实施例1、
如图3-5所示。
一种针对大规模数据集交叉比较的分布式计算系统,包括交叉比较编程模型、主结点、编程接口和基于异构分布式机群的后端分布式处理框架。该分布式计算系统旨在应用分布式计算环境高效处理满足数据集交叉比较模式的计算问题。本发明通过提供用户直观的交叉比较编程模型,帮助用户将待处理计算过程进行抽象简化,实现了对各种不同交叉比较计算问题的统一支持;提供用户简洁的编程接口,帮助用户开发串行交叉比较程序,用户无需掌握并行编程知识;系统隐藏了并行计算的实现细节,用户无需掌握系统内部结构,降低了系统的使用难度。
所述的交叉比较编程模型包括四个独立的计算模块:数据读取模块、数据预处理模块、数据比较模块和数据输出模块;所述数据读取模块为根据计算任务的需要读取不同的输入数据;
所述数据预处理模块为预处理输入数据,生成预处理后的中间计算结果,其中预处理是用户自定义的处理方法;所述数据比较模块对两个不同的预处理后中间计算结果进行比较计算,得到最终计算结果,其中比较计算处理是用户自定义的比较计算处理方法;所述数据输出模块收集生成的最终计算结果,以用户定义的方式将最终计算结果生成输出文件。
所述的编程接口分别为Reader编程接口、Preprocess编程接口、Compare编程接口和Writer编程接口:
其中所述Reader编程接口对应数据读取模块,用户自定义读入数据的INDEX(索引)及CRUDEDATA(初始内容)类型,并且自定义读入数据的读入方式及数据类型;提供了很好的兼容性;
所述Preprocess编程接口对应数据预处理模块,用户只需关注读入数据内容的预处理过程,定义INTERMEDIATEDATA(预处理后内容)类型;此方法与INDEX(索引)分离,使用户只需关注核心预处理过程;
所述Compare编程接口对应数据比较模块,用户只需关注两个不同预处理后数据的比较过程,定义RESULTDATA(比较结果);此方法同样与INDEX(索引)分离,使用户只需关注核心比较过程;
所述Writer编程接口对应数据输出模块,用户自定义输出数据的格式及形式;方便用户将计算数据导入其它计算平台。
根据本发明优选的,所述基于异构分布式机群的后端分布式处理框架,包括作业调度器、任务执行器、分布式机群资源管理系统和分布式文件系统:
其中作业调度器运行于分布式机群主结点(Master结点),用户在提交计算作业后,作业调试器根据整个分布式机群中空闲资源情况,作业对资源的需求及待处理数据集的存储情况生成计算任务队列,依据任务分配策略将不同任务发布到各个从结点中;
其中任务执行器运行于分布式机群从结点(Slaves结点),任务执行器在接收到相应任务之后启动子任务处理过程,依照用户编写的方法进行数据的读入,预处理,比较和输出操作;
其中分布式机群资源管理系统运行于分布式机群所有结点,起到管理分布式机群中所有结点计算机,监控资源利用情况,控制结点之间通信及数据传输,及处理结点故障的作用;
其中分布式文件系统运行于分布式机群所有结点,用于存储输入数据集及最终输出结果;本发明支持读写多种分布式文件系统,在这里选取Hadoop分布式文件系统。
实施例2、
一种利用如实施例1所述分布式计算系统处理数据的方法,包括步骤如下:
(1)用户分析具体计算问题;
(2)用户应用本发明所述分布式计算系统所提供的编程接口,分别实现四个独立的计算模块:数据读取模块、数据预处理模块、数据比较模块和数据输出模块的具体处理方法,包括步骤(a)-(d):
(a)数据读入阶段:在此阶段,子任务执行所需要的子数据集从分布式文件系统中被读入,数据集中的每一项输入文件在本发明所述的分布式计算系统中以索引A、初始内容的方式存储;
(b)数据预处理阶段:在此阶段,步骤(1)中读入的数据按照用户自定义的处理方法进行预处理,得中间计算结果在本发明所述的分布式计算系统中以索引A、预处理后内容的方式存储;
(c)数据比较阶段:在此阶段,用户自定义的比较计算处理方法从步骤(2)的中间计算结果中取出两个不同数据进行比较计算,得最终计算结果在本发明所述的分布式计算系统中以索引A、索引B和比较结果的方式存储;其中索引A,B分别对应两个不同的输入文件的索引;
(d)数据输出阶段:在此阶段,所述数据输出模块收集生成的最终计算结果,以用户定义的方式将最终计算结果生成输出文件;
如图3所示的交叉比较编程模型自动实现了计算过程并行化,用户在使用过程中只需将所需计算问题划分为以上四个阶段,分别定义各阶段在单个计算结点的实现方法,从而避免考虑并行编程的问题。
(3)用户编写包括以上四个独立的计算模块的类文件、确定输入数据集大小、分布式系统结点数量和各结点空闲资源情况,在后端分布式处理框架中进行设置;
(4)将应用前端编程接口定义的处理方法及待处理数据上传至后端分布式处理框架,其中数据存储至分布式文件系统中;
(5)后端分布式处理框架在主结点启动作业调度器,分析用户计算问题,自动生成相互独立的子任务集并将任务分配至不同从结点;在各个从结点启动任务执行器,从分布式文件系统中读取相应数据,执行具体子任务;当所有子任务执行完成后,后端分布式处理框架结束计算任务,输出最终结果并存入分布式文件系统中。
下面结合生物信息学中一个具体的大规模RNA基因序列集交叉比较计算问题对本发明做进一步说明,但不限于此。此具体实例依照图5所示计算过程,包含此大规模数据集交叉比较计算系统的执行及针对大规模RNA基因序列集交叉比较计算问题的处理方法两部分
针对大规模RNA基因序列集交叉比较计算问题的处理方法,包括步骤1)-2):
1)分析并处理RNA基因序列集交叉比较计算问题,依据本发明提出的大规模数据集交叉比较编程模型明确四个计算模块所需对应的具体计算任务如下所示:
a.数据读入模块计算任务为从分布式文件系统读入RNA基因序列,文件形式为*.ffa,内容格式如下所示:
>基因序列ID|生物体名称
基因序列编码………
b.数据预处理模块,计算任务为对基因序列进行处理,构造频率向量及成份向量;
c.数据比较模块,计算任务为对得到的成分向量进行比较处理,计算成份向量之间的距离;
d.数据输出模块,计算任务为将得到的输出数据以(RNA序列A,RNA序列B,距离)的方式保存在文件中。
2)应用本系统提供的大规模数据集交叉比较编程模型前端编程接口,实现以上四个阶段的具体计算方法,生成用户程序类文件,如下为reader接口代码示例:
大规模数据集交叉比较计算系统执行包括步骤3)-8):
3)在分布式计算环境的每个计算结点部署此大规模数据集交叉比较计算后端处理框架,包括在各计算结点配置分布式文件系统及分布式机群资源管理系统
4)启动后端大规模数据集交叉比较计算后端分布式处理框架,并配置系统参数
5)将用户编写的类文件上传至后端分布式处理框架
6)将待处理RNA基因序列上传至分布式文件系统
7)分别在主结点及各从结点启动作业调试器及任务执行器,开始计算过程
8)计算完成,得到最终计算结果
最终得到计算结果如下所示,输出结果格式如下所示:
Key:[AcMNPV.faa,ASFV.faa] Value:0.0016810058966743133
Key:[AsGV.faa,AdhoNPV.faa] Value:0.011683080339163805
Key:[AsGV.faa,AcMNPV.faa] Value:0.010803612571303491
Key:[ASFV.faa,AdhoNPV.faa] Value:0.0017391175577363247。
Claims (5)
1.一种针对大规模数据集交叉比较的分布式计算系统,其特征在于,该分布式计算系统包括交叉比较编程模型、主结点、编程接口和基于异构分布式机群的后端分布式处理框架。该分布式计算系统旨在应用分布式计算环境高效处理满足数据集交叉比较模式的计算问题。本发明通过提供用户直观的交叉比较编程模型,帮助用户将待处理计算过程进行抽象简化,实现了对各种不同交叉比较计算问题的统一支持;提供用户简洁的编程接口,帮助用户开发串行交叉比较程序,用户无需掌握并行编程知识;系统隐藏了并行计算的实现细节,用户无需掌握系统内部结构,降低了系统的使用难度。
2.根据权利要求1所述的一种针对大规模数据集交叉比较的分布式计算系统,其特征在于,所述的交叉比较编程模型包括四个独立的计算模块:数据读取模块、数据预处理模块、数据比较模块和数据输出模块;所述数据读取模块为根据计算任务的需要读取不同的输入数据;所述数据预处理模块为预处理输入数据,生成预处理后的中间计算结果,其中预处理是用户自定义的处理方法;所述数据比较模块对两个不同的预处理后中间计算结果进行比较计算,得到最终计算结果,其中比较计算处理是用户自定义的比较计算处理方法;所述数据输出模块收集生成的最终计算结果,以用户定义的方式将最终计算结果生成输出文件。
3.根据权利要求1所述的一种针对大规模数据集交叉比较的分布式计算系统,其特征在于,所述的编程接口分别为Reader编程接口、Preprocess编程接口、Compare编程接口和Writer编程接口:
其中所述Reader编程接口对应数据读取模块,用户自定义读入数据的INDEX(索引)及CRUDEDATA(初始内容)类型,并且自定义读入数据的读入方式及数据类型;
所述Preprocess编程接口对应数据预处理模块,用户只需关注读入数据内容的预处理过程,定义INTERMEDIATEDATA(预处理后内容)类型;
所述Compare编程接口对应数据比较模块,用户只需关注两个不同预处理后数据的比较过程,定义RESULTDATA(比较结果);
所述Writer编程接口对应数据输出模块,用户自定义输出数据的格式及形式。
4.根据权利要求1所述的一种针对大规模数据集交叉比较的分布式计算系统,其特征在于,所述基于异构分布式机群的后端分布式处理框架,包括作业调度器、任务执行器、分布式机群资源管理系统和分布式文件系统:
其中作业调度器运行于分布式机群主结点(Master结点),用户在提交计算作业后,作业调试器根据整个分布式机群中空闲资源情况,作业对资源的需求及待处理数据集的存储情况生成计算任务队列,依据任务分配策略将不同任务发布到各个从结点中;
其中任务执行器运行于分布式机群从结点(Slaves结点),任务执行器在接收到相应任务之后启动子任务处理过程,依照用户编写的方法进行数据的读入,预处理,比较和输出操作;
其中分布式机群资源管理系统运行于分布式机群所有结点,起到管理分布式机群中所有结点计算机,监控资源利用情况,控制结点之间通信及数据传输,及处理结点故障的作用;
其中分布式文件系统运行于分布式机群所有结点,用于存储输入数据集及最终输出结果。
5.一种利用如权利要求1所述分布式计算系统处理数据的方法,其特征该方法包括步骤如下:
(1)用户分析具体计算问题;
(2)用户应用本发明所述分布式计算系统所提供的编程接口,分别实现四个独立的计算模块:数据读取模块、数据预处理模块、数据比较模块和数据输出模块的具体处理方法,包括步骤(a)-(d):
(a)数据读入阶段:在此阶段,子任务执行所需要的子数据集从分布式文件系统中被读入,数据集中的每一项输入文件在本发明所述的分布式计算系统中以索引A、初始内容的方式存储;
(b)数据预处理阶段:在此阶段,步骤(1)中读入的数据按照用户自定义的处理方法进行预处理,得中间计算结果在本发明所述的分布式计算系统中以索引A、预处理后内容的方式存储;
(c)数据比较阶段:在此阶段,用户自定义的比较计算处理方法从步骤(2)的中间计算结果中取出两个不同数据进行比较计算,得最终计算结果在本发明所述的分布式计算系统中以索引A、索引B和比较结果的方式存储;其中索引A,B分别对应两个不同的输入文件的索引;
(d)数据输出阶段:在此阶段,所述数据输出模块收集生成的最终计算结果,以用户定义的方式将最终计算结果生成输出文件;
(3)用户编写包括以上四个独立的计算模块的类文件、确定输入数据集大小、分布式系统结点数量和各结点空闲资源情况,在后端分布式处理框架中进行设置;
(4)将应用前端编程接口定义的处理方法及待处理数据上传至后端分布式处理框架,其中数据存储至分布式文件系统中;
(5)后端分布式处理框架在主结点启动作业调度器,分析用户计算问题,自动生成相互独立的子任务集并将任务分配至不同从结点;在各个从结点启动任务执行器,从分布式文件系统中读取相应数据,执行具体子任务;当所有子任务执行完成后,后端分布式处理框架结束计算任务,输出最终结果并存入分布式文件系统中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310178513.7A CN103942235B (zh) | 2013-05-15 | 2013-05-15 | 针对大规模数据集交叉比较的分布式计算系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310178513.7A CN103942235B (zh) | 2013-05-15 | 2013-05-15 | 针对大规模数据集交叉比较的分布式计算系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942235A true CN103942235A (zh) | 2014-07-23 |
CN103942235B CN103942235B (zh) | 2017-11-03 |
Family
ID=51189905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310178513.7A Expired - Fee Related CN103942235B (zh) | 2013-05-15 | 2013-05-15 | 针对大规模数据集交叉比较的分布式计算系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942235B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956666A (zh) * | 2016-04-29 | 2016-09-21 | 浪潮(北京)电子信息产业有限公司 | 一种机器学习方法及系统 |
CN106021484A (zh) * | 2016-05-18 | 2016-10-12 | 中国电子科技集团公司第三十二研究所 | 基于内存计算的可定制多模式大数据处理系统 |
CN111158900A (zh) * | 2019-12-09 | 2020-05-15 | 中国船舶重工集团公司第七一六研究所 | 轻量化分布式并行计算系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030009352A1 (en) * | 2001-06-15 | 2003-01-09 | Andy Bolotinikov | Interpreter certification system |
WO2003010659A1 (en) * | 1998-09-18 | 2003-02-06 | Wylci Fables | Computer processing and programming method using autonomous data handlers |
CN101799809A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 数据挖掘方法和数据挖掘系统 |
US8176406B2 (en) * | 2008-03-19 | 2012-05-08 | International Business Machines Corporation | Hard error detection |
US8386400B2 (en) * | 2005-10-26 | 2013-02-26 | Cortica Ltd. | Unsupervised clustering of multimedia data using a large-scale matching system |
-
2013
- 2013-05-15 CN CN201310178513.7A patent/CN103942235B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003010659A1 (en) * | 1998-09-18 | 2003-02-06 | Wylci Fables | Computer processing and programming method using autonomous data handlers |
US20030009352A1 (en) * | 2001-06-15 | 2003-01-09 | Andy Bolotinikov | Interpreter certification system |
US8386400B2 (en) * | 2005-10-26 | 2013-02-26 | Cortica Ltd. | Unsupervised clustering of multimedia data using a large-scale matching system |
US8176406B2 (en) * | 2008-03-19 | 2012-05-08 | International Business Machines Corporation | Hard error detection |
CN101799809A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 数据挖掘方法和数据挖掘系统 |
Non-Patent Citations (2)
Title |
---|
DOUBLELIFE: ""深入浅出Hadoop 高效处理大数据"", 《HTTP://WWW.LINUXIDC.COM/LINUX/2011-10/45706》 * |
INTAWAT NOOKAEW 等: ""A comprehensive comparison of RNA-Seq-based transcriptome analysis from reads to differential gene expression and cross-comparison with microarrays: a case study in Saccharomyces cerevisiae"", 《NUCLEIC ACIDS RESEARCH》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956666A (zh) * | 2016-04-29 | 2016-09-21 | 浪潮(北京)电子信息产业有限公司 | 一种机器学习方法及系统 |
CN105956666B (zh) * | 2016-04-29 | 2018-09-07 | 浪潮(北京)电子信息产业有限公司 | 一种机器学习方法及系统 |
CN106021484A (zh) * | 2016-05-18 | 2016-10-12 | 中国电子科技集团公司第三十二研究所 | 基于内存计算的可定制多模式大数据处理系统 |
CN111158900A (zh) * | 2019-12-09 | 2020-05-15 | 中国船舶重工集团公司第七一六研究所 | 轻量化分布式并行计算系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103942235B (zh) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | A survey on spark ecosystem: Big data processing infrastructure, machine learning, and applications | |
US10484479B2 (en) | Integration of quantum processing devices with distributed computers | |
Peterka et al. | Scalable parallel building blocks for custom data analysis | |
Bharill et al. | Fuzzy based scalable clustering algorithms for handling big data using apache spark | |
US7634756B2 (en) | Method and apparatus for dataflow creation and execution | |
CN110383247B (zh) | 由计算机执行的方法、计算机可读介质与异构计算系统 | |
US9053067B2 (en) | Distributed data scalable adaptive map-reduce framework | |
Sun et al. | Study on parallel SVM based on MapReduce | |
Arfat et al. | Big data tools, technologies, and applications: A survey | |
CN102591940B (zh) | 一种基于Map/Reduce的快速支持向量数据描述方法及系统 | |
Sardar et al. | Partition based clustering of large datasets using MapReduce framework: An analysis of recent themes and directions | |
Osman et al. | Towards real-time analytics in the cloud | |
CN102147813A (zh) | 一种电力云环境下基于k最近邻算法的文档自动分类方法 | |
CN117009038B (zh) | 一种基于云原生技术的图计算平台 | |
CN103942235A (zh) | 针对大规模数据集交叉比较的分布式计算系统和方法 | |
Dongarra et al. | Parallel Processing and Applied Mathematics | |
Arora | An introduction to big data, high performance computing, high-throughput computing, and Hadoop | |
Djemame et al. | Exascale computing deployment challenges | |
US11042530B2 (en) | Data processing with nullable schema information | |
Saravanan et al. | Big data in massive parallel processing: A multi-core processors perspective | |
Tran et al. | A distributed data mining framework accelerated with graphics processing units | |
Li et al. | HeteroYARN: a heterogeneous FPGA-accelerated architecture based on YARN | |
Siva Prasad et al. | Optimisation of the Execution Time Using Hadoop-Based Parallel Machine Learning on Computing Clusters | |
Zhao et al. | Parallel K-Medoids Improved Algorithm Based on MapReduce | |
Coetzee et al. | Towards unified secure on-and off-line analytics at scale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171103 Termination date: 20180515 |