一种大数据存储优化方法

文档序号:6505773阅读:483来源:国知局
一种大数据存储优化方法
【专利摘要】本发明涉及数据处理【技术领域】,尤其是面向海-云协同的一种大数据存储优化方法。所述的方法包括数据预处理、计算优化和海量数据优化,数据预处理包括数据采集、多源数据组织与汇聚、数据冗余处理、数据压缩存储;计算优化包括HDFS文件传输优化和Map/Reduce并行计算优化;和海量数据优化包括数据灾备、数据加密、CCIndex索引和CCT备份。本发明可以应用于云平台的大数据存储中。
【专利说明】一种大数据存储优化方法
【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其是面向海-云协同的一种大数据存储优化方法。
【背景技术】
[0002]随着信息技术的快速发展,传统的持久化存储方案已经从构架上越来越难以适应信息业务的发展;Hadoop分布式系统通过分布式算法,将数据的访问和存储分布在大量服务器之中,在可靠地多备份存储的同时还能将访问分布在集群中的各个服务器之上,是传统存储构架的一个颠覆性的发展。但是机遇与挑战并存,开源分布式架构在解决分布式应用时却显得格外笨重,特别是对大数据存储及频繁文件写入、读取操作时性能响应不足。

【发明内容】

[0003]本发明解决的技术问题在于提供面向海-云协同的一种大数据存储优化方法,有效实现对打数据存储的优化。
[0004]本发明解决上述技术问题的技术方案是:
[0005]所述的方法包括数据预处理、计算优化和海量数据优化,数据预处理包括数据采集、多源数据组织与汇聚、数据冗余处理、数据压缩存储;计算优化包括HDFS文件传输优化和Map/Reduce并行计算优化;和海量数据优化包括数据灾备、数据加密、CCIndex索引和CCT备份;客户端提交的数据经数据采集采集后,由多源数据组织与汇聚、数据冗余处理进行规范化处理,并采用RCFile进行压缩存储,数据水平拆分,引入分块、分片机制先分块再分片,块内采用按行存储,分片内按列存储;然后,在计算优化中,采用CCIndex将数据随机遍历转化为按行索引遍历,采用CCT进行记录水平行复制完成数据增量备份;海量数据优化时,并行计算组件完成HDFS文件系统和Map/Reduce计算模型配置类优化,与G_cloud云平台协同无缝集成,灵活使用G-cloud云平台提供的基础设施及基础服务。
[0006]存储优化的系统设置为:
[0007]第一步,Linux系统文件挂载参数优化,增加noatime参数,;
[0008]第二步,NameNode节点参数配置优化,dfs.block, size海量数据文件处理设置为64M*N (N=l, 2, 3, 4), dfs.namenode.handler, count 默认值设置成 64 ;
[0009]第三步,DataNode节点优化,dfs.datanode.handler, count 的 DataNode 节点的远程调用开启的服务线程数量设置为8 ;
[0010]第四步,job.tracker 监控节点配置优化,mapred.job.tracker, handler,count-job tracker上开启的处理task trackers传过来的RPC的服务线程的数量设置为64 ;mapred.map.tasks-每个job的map任务数量,设置成与集群中存在的主机数量很接近的一个数值;mapred.reduce, tasks-每个job的reduce任务数量,设置成与集群中存在的主机数量很接近的一个数值;
[0011]第五步,task, tracker监控节点配置优化,[0012]mapred.tasktracker.map.tasks, maximum,一个 task tracker 上可以同时运行的map任务的最大数量,设置为服务器CPU内核数目或者数目减I ;
[0013]mapred.tasktracker.reduce, tasks, maximum 一个 task tracker 上可以同时控制同时运行的task的数量设置为2 ;TaskTracker.http, threads是HTTPserver上的线程数,运行在每个TaskTracker上,用于处理maptask输出,可以设置为40?50 ;
[0014]第六步,map配置优化,i0.sort, mb 可设置为 200M,i0.sort, factor 属性,int 类型,Map端和Reduce端使用该属性设置在Map端和Reduce端都使用到的对文件Sort时一次合并的最大流设置为100 ;i0.file, buffer, size属性,iMapReduce作业使用该属性设置MapReduce作业的1/0操作中所提供的缓冲区的大小,以字节为单位,调整为64KBorl28KB, tasktracker.http, threads属性,int类型,Map端使用该属性设置集群中每个tasktracker用于将map输出传给reducer的工作线程的数量提高至40-50之间;
[0015]第七步,reduce配置优化,mapred.reduce, parallel, copies 增加 reduce 端复制过程的并行数调整为20 ;mapred.child, java.0pts属性,调整为2MB ;
[0016]mapred.job.shuffle, input, buffer, percent 属性,适当增大比例使 Map 输出不被溢写到磁盘;mapred.job.shuffle, merge, percent属性,适当增大其比例减少磁盘溢写次数;mapred.1nmem.merge, threshold属性,当Reduce函数内存需求很少时,可将该属性设置为 0,由 mapred.job.shuffle, merge, percent 属性单独控制溢写过程;mapred.job.reduce, input, buffer, percent 属性,设置为 1.0。
[0017]HDFS分布式文件存储工作流程是,
[0018]第一步,客户端通过身份验证,建立TCP/IP连接,通过一个可配置的端口连接到NameNode并发起RPC远程请求;
[0019]第二步,NameNode检查待创建的文件是否已经存在,创建者是否有权限进行操作;成功则为文件创建一个记录,否则向客户端抛出异常;
[0020]第三步,客户端写入文件,将文件切分成多个packets,并在内部以数据队列"data queue"的形式管理这些packets,同时向NameNode申请新的blocks,获取用来存储replicas的合适的DataNode列表,列表的大小根据在NameNode中对replication的设置而定;
[0021]第四步,以pipeline的形式将packet写入所有的replicas中,把packet以流的方式写入第一个DataNode,该DataNode把该packet存储之后,再将其传递给在此pipeline 中的下一个 DataNode,直到最后一个 DataNode ;
[0022]第五步,如果传输过程中,有某个DataNode出现了故障,那么当前的pipeline会被关闭,出现故障的DataNode会从当前的pipeline中移除,剩余的block会继续剩下的DataNode中继续以pipeline的形式传输,同时NameNode会分配一个新的DataNode,保持replicas设定的数量,写入操作完成;
[0023]第六步,NameNode根据存储的数据块地址将通信地址链接到对应的DataNode块中,返回文件的部分或者全部block列表;
[0024]第七步,NameNode选择最近的DataNode节点,来读取block列表,开始文件读取文件。
[0025]数据处理详细流程为:[0026]第一步,从信息源、信息体、用户需求等多个视角,分析多源海量信息的可用性特征;
[0027]第二步,多源数据在组织和汇聚后,可能会产生多个相同副本;当新增文件进行汇聚存储时,系统监测到事件,计算出新文件的摘要值,向系统请求新建文件;系统对比摘要值是否已存在于系统,如果不存在,则返回信息允许客户端汇聚存储数据、新建此文件;如果摘要值已存在,则系统新建该文件及对应的权限、属性信息,但文件数据直接引用已有数据内容,无需再汇聚存入系统;
[0028]第三步,采用RCFile对数据完成压缩,将关系数据水平拆分,分片内按列序进行存储,将分布式数据处理系统中以记录为单位的存储结构变为以列为单位的存储结构;
[0029]第四步,非结构化文件数据存储由数据集群负责,引入数据分块和分块副本机制进行存储,并增加数据索引及树节点优化;
[0030]第五步,采用传输信道加密和数据存储加密方式,对称加密与非对称加密结合使用;
[0031]第六步,采用磁盘阵列对生产数据进行实时备份;海量数据处理优化引入CCIndex,将数据随机遍历转化为高效的按行索引遍历,引入CCT进行记录水平行复制完成数据增量备份;
[0032]第七步,同步接入G-cloud云平台,使用计算资源、虚拟化资源、管理资源等进行海量数据预处理、滤重与挖掘分析,同时通过引入海量数据查询索引及树节点优化等操作。
[0033]HDFS分布式文件读取详细流程为:
[0034]第一步,客户端通过一个可配置的端口连接到NameNode,该连接通过TCP/IP协议
建立;
[0035]第二步,客户端通过ClientProtocol 与 NameNode 交互;
[0036]第三步,DataNode使用 DatanodeProtocol 与 NameNode 交互,并建立与 NameNode连接;
[0037]第四步,DataNode通过周期性的向NameNode发送心跳和数据块来保持和NameNode的通信连接;
[0038]第五步,数据块的信息包括数据块的属性,即数据块属于哪个文件,数据块地址ID,修改时间等;
[0039]第六步,NameNode响应来自客户端和DataNode的RPC请求,并从所有的DataNode接收心跳信号和块状态报告;
[0040]第七步,返回块状态报告给客户端,状态报告包括了某个DataNode所有的数据块列表;
[0041]第八步,客户端根据块报告中返回的地址信息,选取DataNode节点读取数据;
[0042]第九步,关闭DataNode连接,一次读取结束。
[0043]本发明实现了 HDFS文件传输优化、Map/Reduce并行计算优化、海量数据查询优化,将达到以下性能指标:实现了稳定、高效的大数据存储优化方法,海量数据查询处理优化,具有良好的可扩展性,能支持不少于100PB级的存储容量,支持扩展到EB级存储;具有良好的可靠性、安全性,对关键数据可实现多副本冗余保护机制,副本数不低于3 ;具有异地数据灾备系统,基于G-cloud平台实现资源弹性取用,系统具有良好的响应速度,支持海 量数据分析与挖掘服务。
【专利附图】

【附图说明】
[0044]下面结合附图对本发明进一步说明;
[0045]图1是本发明系统架构示意图;
[0046]图2是非结构化数据存储体系示意图;
[0047]图3是海-云协同平台HDFS分布式文件系统示意图;
[0048]图4是本发明网络拓扑示意图。
【具体实施方式】
[0049]本发明提出一种基于G-cloud云平台的大数据存储优化方法,JobClient客户端将数据提交到数据采集系统,海量数据采用数据预处理技术将JobClient客户端提交数据进行规范化处理,数据压缩技术采用高效的存储结构RCFile,将数据水平拆分,引入分块、分片机制即先分块再分片,块内采用按行存储,分片内按列存储;海量数据处理优化引入CCIndex,将数据随机遍历转化为高效的按行索引遍历,引入CCT进行记录水平行复制完成数据增量备份;并行计算组件完成HDFS文件系统和Map/Reduce计算模型配置类优化,提供高度容错性和高吞吐量的海量数据存储方案,显著提高文件处理及计算性能,与G-cloud云平台协同无缝集成,灵活使用G-cloud云平台提供的基础设施及基础服务,支持大规模计算资源、存储资源、网络资源虚拟化和数据分析管理。
[0050]如图1所示,实施本发明存储优化方法的详细流程为:
[0051]第一步,Linux系统文件挂载参数优化,增加noatime参数,Linux提供了 noatime这个参数来禁止记录最近一次访问时间戳,文件系统挂载的时,能大幅提高磁盘IO的效率,修改设置后只需要重新挂载文件系统、不需要重启就可以生效;
[0052]第二步,NameNode节点参数配置优化,dfs.block, size海量数据文件处理设置为64M*N(N= I, 2, 3, 4), dfs.namenode.handler, count 默认值是 10,海量数据文件集群时设置成64 ;
[0053]第三步,DataNode节点优化,dfs.datanode.handler, count, DataNode 节点的远程调用开启的服务线程数量,默认为3,本发明设置为8 ;
[0054]第四步,job.tracker 监控节点配置优化,mapred.job.tracker, handler,count-job tracker上开启的处理task trackers传过来的RPC的服务线程的数量,一般的设置为task tracker节点数量的4%,本发明设置为64。mapred.map.tasks-每个job的map任务数量,经常设置成与集群中存在的主机数量很接近的一个数值。mapred.reduce,tasks-每个job的reduce任务数量,经常设置成与集群中存在的主机数量很接近的一个数值;
[0055]第五步,task, tracker监控节点配置优化,
[0056]mapred.tasktracker.map.tasks, maximum, 一个 task tracker 上可以同时运行的map任务的最大数量,设置为服务器CPU内核数目或者数目减I时运行效率最高。mapred.tasktracker.reduce, tasks, maximum 一个 task tracker 上可以同时控制同时运行的 task的数量,本发明设置为2。TaskTracker.http, threads是HTTPserver上的线程数,运行在每个TaskTracker上,用于处理maptask输出,大数据集群可以设置为40?50 ;
[0057]第六步,map配置优化,i0.sort, mb默认10对于大集群可设置为200M, i0.sort,factor属性,int类型,Map端和Reduce端使用该属性设置在Map端和Reduce端都使用到的对文件Sort时一次合并的最大流,其默认值是10,增加到100。i0.file, buffer, size属性,iMapReduce作业使用该属性设置MapReduce作业的1/0操作中所提供的缓冲区的大小,以字节为单位,默认是 4KB,调整为 64KB orl28KB, tasktracker.http, threads 属性,int类型,Map端使用该属性设置集群中每个tasktracker用于将map输出传给reducer的工作线程的数量,默认是40,可以将其提高至40-50之间,能够增加并线线程数,提高集群性能;
[0058]第七步,reduce配置优化,mapred.reduce, parallel, copies 增加 reduce 端复制过程的并行数,默认值5,本发明调整为20。mapred.child, java.0pts属性,调整为2MB,提高 MapReduce 作业的性能。mapred.job.shuffle, input, buffer, percent 属性,默认是
0.70,适当增大比例使Map输出不被溢写到磁盘;
[0059]mapred.job.shuffle, merge, percent属性,适当增大其比例能够减少磁盘溢写次数。mapred.1nmem.merge, threshold属性,默认为1000。当Reduce函数内存需求很少时,可将该属性设置为0,即没有阈值限制,由mapred.job.shuffle, merge, percent属性单独控制溢写过程。mapred.job.reduce, input, buffer, percent 属性,设置为 1.0 ;
[0060]第八步,海量数据处理优化引入CCIndex,将数据随机遍历转化为高效的按行索引遍历,引入CCT进行记录水平行复制完成数据增量备份;
[0061]如图2所示
[0062]非结构化数据存储详细流程为:
[0063]第一步,海量多源数据中常含有不洁和不规范的格式,将对应用系统的使用、统计分析造成潜在风险。必须通过数据预处理规范将数据转化为系统平台的标准化数据;
[0064]第二步,从信息源、信息体、用户需求等多个视角,分析多源海量信息的可用性特征,建立满足信息演化应用的可用性评估推理模型;
[0065]第三步,多源数据在组织和汇聚后,同份文件可能会产生多个相同副本。当新增文件进行汇聚存储时,系统监测到事件,计算出新文件的摘要值,向系统请求新建文件。系统对比摘要值是否已存在于系统,如果不存在,则返回信息允许客户端汇聚存储数据、新建此文件。如果摘要值已存在,则系统新建该文件及对应的权限、属性信息,但文件数据直接引用已有数据内容,无需再汇聚存入系统;
[0066]第四步,本发明采用一种高效的数据存储结构-RCFile (Record Columnar
File),对数据完成压缩,RCFile数据存储结构基于Hadoop系统,RCFile存储结构结合了行存储和列存储的优点,遵循“先水平划分,再垂直划分”的设计理念。
[0067]第五步,非结构化文件数据存储由数据集群负责,引入数据分块和分块副本机制进行存储,为加快数据的检索速度,增加数据索引及树节点优化;
[0068]第六步,为增加数据安全性,采用传输信道加密和数据存储加密方式,对称加密算法与非对称加密算法结合使用;
[0069]第七步,采用磁盘阵列对生产数据进行实时备份。
[0070]如图3所示
[0071]海-云协同分布式文件存储的详细流程为:[0072]第一步,客户端通过一个可配置的端口连接到NameNode,该连接通过TCP/IP协议
建立;
[0073]第二步,客户端通过ClientProtocol 与 NameNode 交互;
[0074]第三步,DataNode使用 DatanodeProtocol 与 NameNode 交互,并建立与 NameNode连接;
[0075]第四步,DataNode通过周期性的向NameNode发送心跳和数据块来保持和NameNode的通信连接;
[0076]第五步,数据块的信息包括数据块的属性,即数据块属于哪个文件,数据块地址ID,修改时间等;
[0077]第六步,NameNode响应来自客户端和DataNode的RPC请求,并从所有的DataNode接收心跳信号和块状态报告;
[0078]第七步,返回块状态报告给客户端,状态报告包括了某个DataNode所有的数据块列表;
[0079]第八步,客户端根据块报告中返回的地址信息,选取DataNode节点读取数据;
[0080]第九步,关闭DataNode连接,读取结束
[0081]如图4所示,本发明由海量数据存储管理、分布式数据平台和G-cloud云操作系统三部分组成;客户端通过身份验证,建立TCP/IP连接,通过一个可配置的端口连接到NameNode并发起RPC请求,与分布式文件处理系统进行数据存储交互,底层接入云平台,灵活使用云基础设施及基础服务进行数据挖掘与分析;完成海-云协同计算服务。
【权利要求】
1.一种大数据存储优化方法,其特征在于:所述的方法包括数据预处理、计算优化和海量数据优化,数据预处理包括数据采集、多源数据组织与汇聚、数据冗余处理、数据压缩存储;计算优化包括HDFS文件传输优化和Map/Reduce并行计算优化;和海量数据优化包括数据灾备、数据加密、CCIndex索引和CCT备份;客户端提交的数据经数据采集采集后,由多源数据组织与汇聚、数据冗余处理进行规范化处理,并采用RCFile进行压缩存储,数据水平拆分,引入分块、分片机制先分块再分片,块内采用按行存储,分片内按列存储;然后,在计算优化中,采用CCIndex将数据随机遍历转化为按行索引遍历,采用CCT进行记录水平行复制完成数据增量备份;海量数据优化时,并行计算组件完成HDFS文件系统和Map/Reduce计算模型配置类优化,与G-cloud云平台协同无缝集成,灵活使用G_cloud云平台提供的基础设施及基础服务。
2.根据权利要求1所述的大数据存储及优化方法,其特征在于:存储优化的系统设置为: 第一步,Linux系统文件挂载参数优化,增加noatime参数,; 第二步,NameNode节点参数配置优化,dfs.block, size海量数据文件处理设置为64M*N (N=l, 2, 3, 4), dfs.namenode.handler, count 默认值设置成 64 ; 第三步,DataNode 节点优化,dfs.datanode.handler, count 的 DataNode 节点的远程调用开启的服务线程数量设置为8 ; 第四步,job.tracker 监控节点配置优化,mapred.job.tracker, handler, count-jobtracker上开启的处理task trackers传过来的RPC的服务线程的数量设置为64 ;mapred.map.tasks-每个job的map任务数量,设置成与集群中存在的主机数量很接近的一个数值;mapred.reduce, tasks-每个job的reduce任务数量,设置成与集群中存在的主机数量很接近的一个数值; 第五步,task, tracker监控节点配置优化,
mapred.tasktracker.map.tasks, maximum, 一个 task tracker 上可以同时运行的 map任务的最大数量,设置为服务器CPU内核数目或者数目减I ; mapred.tasktracker.reduce, tasks, maximum 一个 task tracker 上可以同时控制同时运行的task的数量设置为2 ;TaskTracker.http, threads是HTTPserver上的线程数,运行在每个TaskTracker上·,用于处理maptask输出,可以设置为40?50 ; 第六步,map配置优化,i0.sort, mb可设置为200M, i0.sort, factor属性,int类型,Map端和Reduce端使用该属性设置在Map端和Reduce端都使用到的对文件Sort时一次合并的最大流设置为100 ;i0.file, buffer, size属性,iMapReduce作业使用该属性设置MapReduce作业的1/0操作中所提供的缓冲区的大小,以字节为单位,调整为64KBorl28KB, tasktracker.http, threads属性,int类型,Map端使用该属性设置集群中每个tasktracker用于将map输出传给reducer的工作线程的数量提高至40_50之间; 第七步,reduce 配置优化,mapred.reduce, parallel, copies 增加 reduce 端复制过程的并行数调整为20 ;mapred.child, java.0pts属性,调整为2MB ; mapred.job.shuffle, input, buffer, percent 属性,适当增大比例使 Map 输出不被溢写到磁盘;mapred.job.shuffle, merge, percent属性,适当增大其比例减少磁盘溢写次数;mapred.1nmem.merge, threshold属性,当Reduce函数内存需求很少时,可将该属性设置为 O,由 mapred.job.shuffle, merge, percent 属性单独控制溢写过程;mapred.job.reduce, input, buffer, percent 属性,设置为 1.0。
3.根据权利要求1所述的大数据存储优化方法,其特征在于: HDFS分布式文件存储工作流程是, 第一步,客户端通过身份验证,建立TCP/IP连接,通过一个可配置的端口连接到NameNode并发起RPC远程请求; 第二步,NameNode检查待创建的文件是否已经存在,创建者是否有权限进行操作;成功则为文件创建一个记录,否则向客户端抛出异常; 第三步,客户端写入文件,将文件切分成多个packets,并在内部以数据队列"dataqueue"的形式管理这些packets,同时向NameNode申请新的blocks,获取用来存储replicas的合适的DataNode列表,列表的大小根据在NameNode中对replication的设置而定; 第四步,以pipeline的形式将packet写入所有的replicas中,把packet以流的方式写入第一个DataNode,该DataNode把该packet存储之后,再将其传递给在此pipeline中的下一个DataNode,直到最后一个DataNode ; 第五步,如果传输过程中,有某个DataNode出现了故障,那么当前的pipeline会被关闭,出现故障的DataNode会从当前的pipeline中移除,剩余的block会继续剩下的DataNode中继续以pipeline的形式传输,同时NameNode会分配一个新的DataNode,保持replicas设定的数量,写入操作完成; 第六步,NameNode根据存储的数据块地址将通信地址链接到对应的DataNode块中,返回文件的部分或者全部b lock列表; 第七步,NameNode选择最近的DataNode节点,来读取block列表,开始文件读取文件。
4.根据权利要求2所述的大数据存储优化方法,其特征在于: HDFS分布式文件存储工作流程是, 第一步,客户端通过身份验证,建立TCP/IP连接,通过一个可配置的端口连接到NameNode并发起RPC远程请求; 第二步,NameNode检查待创建的文件是否已经存在,创建者是否有权限进行操作;成功则为文件创建一个记录,否则向客户端抛出异常; 第三步,客户端写入文件,将文件切分成多个packets,并在内部以数据队列"dataqueue"的形式管理这些packets,同时向NameNode申请新的blocks,获取用来存储replicas的合适的DataNode列表,列表的大小根据在Namenode中对replication的设置而定; 第四步,以pipeline的形式将packet写入所有的replicas中,把packet以流的方式写入第一个DataNode,该DataNode把该packet存储之后,再将其传递给在此pipeline中的下一个DataNode,直到最后一个DataNode ; 第五步,如果传输过程中,有某个DataNode出现了故障,那么当前的pipeline会被关闭,出现故障的DataNode会从当前的pipeline中移除,剩余的block会继续剩下的DataNode中继续以pipeline的形式传输,同时NameNode会分配一个新的DataNode,保持replicas设定的数量,写入操作完成;第六步,NameNode根据存储的数据块地址将通信地址链接到对应的DataNode块中,返回文件的部分或者全部block列表; 第七步,NameNode选择最近的DataNode节点,来读取block列表,开始文件读取文件。
5.根据权利要求1至4任一项所述的大数据存储优化方法,其特征在于: 数据处理详细流程为: 第一步,从信息源、信息体、用户需求等多个视角,分析多源海量信息的可用性特征; 第二步,多源数据在组织和汇聚后,可能会产生多个相同副本;当新增文件进行汇聚存储时,系统监测到事件,计算出新文件的摘要值,向系统请求新建文件;系统对比摘要值是否已存在于系统,如果不存在,则返回信息允许客户端汇聚存储数据、新建此文件;如果摘要值已存在,则系统新建该文件及对应的权限、属性信息,但文件数据直接引用已有数据内容,无需再汇聚存入系统; 第三步,采用RCFile对数据完成压缩,将关系数据水平拆分,分片内按列序进行存储,将分布式数据处理 系统中以记录为单位的存储结构变为以列为单位的存储结构; 第四步,非结构化文件数据存储由数据集群负责,引入数据分块和分块副本机制进行存储,并增加数据索引及树节点优化; 第五步,采用传输信道加密和数据存储加密方式,对称加密与非对称加密结合使用;第六步,采用磁盘阵列对生产数据进行实时备份;海量数据处理优化引入CCIndexJf数据随机遍历转化为高效的按行索引遍历,引入CCT进行记录水平行复制完成数据增量备份; 第七步,同步接入G-cloud云平台,使用计算资源、虚拟化资源、管理资源等进行海量数据预处理、滤重与挖掘分析,同时通过引入海量数据查询索引及树节点优化等操作。
6.根据权利要求1至4任一项所述的大数据存储优化方法,其特征在于: HDFS分布式文件读取详细流程为: 第一步,客户端通过一个可配置的端口连接到NameNode,该连接通过TCP/IP协议建立; 第二步,客户端通过ClientProtocol与NameNode交互; 第三步,DataNode 使用 DatanodeProtocol 与 NameNode 交互,并建立与 NameNode 连接;第四步,DataNode通过周期性的向NameNode发送心跳和数据块来保持和NameNode的通信连接; 第五步,数据块的信息包括数据块的属性,即数据块属于哪个文件,数据块地址ID,修改时间等; 第六步,NameNode响应来自客户端和DataNode的RPC请求,并从所有的DataNode接收心跳信号和块状态报告; 第七步,返回块状态报告给客户端,状态报告包括了某个DataNode所有的数据块列表; 第八步,客户端根据块报告中返回的地址信息,选取DataNode节点读取数据; 第九步,关闭DataNode连接,一次读取结束。
7.根据权利要求5所述的大数据存储优化方法,其特征在于: HDFS分布式文件读取详细流程为:第一步,客户端通过一个可配置的端口连接到NameNode,该连接通过TCP/IP协议建立; 第二步,客户端通过ClientProtocol与NameNode交互; 第三步,DataNode 使用 DatanodeProtocol 与 NameNode 交互,并建立与 NameNode 连接;第四步,DataNode通过周期性的向NameNode发送心跳和数据块来保持和NameNode的通信连接; 第五步,数据块的信息包括数据块的属性,即数据块属于哪个文件,数据块地址ID,修改时间等; 第六步,NameNode响应来自客户端和DataNode的RPC请求,并从所有的DataNode接收心跳信号和块状态报告; 第七步,返回块状态报告给客户端,状态报告包括了某个DataNode所有的数据块列表; 第八步,客户端根据块报告中返回的地址信息,选取DataNode节点读取数据; 第九步,关闭DataNode连 接,一次读取结束。
【文档编号】G06F17/30GK103440244SQ201310293482
【公开日】2013年12月11日 申请日期:2013年7月12日 优先权日:2013年7月12日
【发明者】安宏伟, 季统凯 申请人:广东电子工业研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1