一种数据处理方法、装置和系统制造方法及图纸

技术编号:5485371 阅读:168 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数据处理方法、装置和系统。本发明专利技术实施例采用根据文件名和数据片的编号,通过DHT算法计算出数据片的Key值,然后根据计算出的Key值来确定数据节点,以便进行数据的读取或写入,避免了现有技术中由命名节点来分配数据节点,所导致的命名节点的负担过重的问题,有利于提高系统的稳定性;而且,也避免了现有技术中分片文件系统对命名节点的依赖性过大所导致的分片文件系统性能提高受到命名节点性能限制的问题,有利于提升分片文件系统的性能和规模。

【技术实现步骤摘要】

本专利技术涉及通信
,具体涉及一种数据处理方法、装置和系统
技术介绍
分片文件系统采用多份冗余和分布式等技术,将文件按固定大小分布到多台机 器的上,从而提高了数据的可靠性。分片文件系统一般由命名节点(NameNode)、数据节点 (Datanodes)和客户端接口(Client)三大部分组成,如下命名节点管理分片文件系统的命名空间,它可以将所有文件的元数据存储在一 个文件系统树中,并保存所存储文件的相关信息,比如一个文件包括哪些数据块,分布在哪 些数据节点上,等等。需说明的是,这些信息并不存储在硬盘上,而是在系统启动的时候从 数据节点收集而成的。数据节点分片文件系统中存储数据的地方,客户端或者命名节点可以向数据节 点请求写入或者读出数据片。该数据节点还用于周期性地向命名节点上报其存储的数据片 的相关信息。客户端接口 客户端可以通过该接口访问分片文件系统。现有技术在读取和写入文件到该分片文件系统时,都需要访问命名节点,比如,在 读取文件时,需要调用命名节点,以获取需要读取的文件的数据片信息,然后才可以根据获 取到的数据片信息从相应的数据块中读取到该需要读取的文件;又比如,在写入文件时,需 要通知命名节点,由命名节点来分配用于存储该需要写入文件的数据节点,然后才能将该 需要写入文件写入分配的数据节点中;等等。此外,分片文件系统还需要将所有的数据信 息汇集到命名节点,比如,数据节点需要周期性地将数据片的相关信息上报给命名节点,等 等,命名节点在接收到这些数据信息后,将这些数据信息保存在命名节点的内存中。在对现有技术的研究和实践过程中,本专利技术的专利技术人发现,由于命名节点是整个 分片文件系统的核心,所以,命名节点的性能直接影响到整个分片文件系统的性能和规模, 而由于现有技术中的命名节点的性能十分有限,所以分片文件系统的性能和规模也难以得 到提升。
技术实现思路
本专利技术实施例提供一种数据处理方法、装置和系统,可以使得分片文件系统的性 能和规模不受命名节点性能的限制,有利于提升分片文件系统的性能和规模。一种数据处理方法,包括获取文件名和数据片的编号,其中,数据片由文件数据划分而成;根据所述文件名和编号通过分布式哈希表(DHT,Distributed Hash Table)算法 计算出数据片的关键字(Key)值;根据计算出的Key值确定数据节点;将数据片写入所述数据节点,或从所述数据节点中读取出数据片。一种数据处理方法,包括接收客户端接口写入的数据片,所述数据片由文件数据划分而成;获取所述数据片的冗余份数;根据所述冗余份数和预置的路由表,通过DHT算法将所述数据片复制到其他数据 节点上。一种客户端接口,包括获取单元,用于获取文件名和数据片的编号,其中,数据片由文件数据划分而成;运算单元,用于根据获取单元获取到的文件名和数据片的编号通过DHT算法计算 出数据片的Key值;确定单元,用于根据运算单元计算出的Key值确定数据节点;处理单元,用于将数据片写入所述数据节点,或从所述数据节点中读取出数据片。一种数据节点,包括写入单元,用于接收客户端接口写入的数据片,所述数据片由文件数据划分而 成;获取单元,用于获取写入单元写入的数据片的冗余份数;复制单元,用于根据预置的路由表和获取单元获取到的冗余份数,通过DHT算法 将所述数据片复制到其他数据节点上。—种分片文件系统,包括本专利技术实施例提高的任一种客户端接口和数据节点。本专利技术实施例采用根据文件名和数据片的编号,通过DHT算法计算出数据片的 Key值,然后根据计算出的Key值来确定数据节点,以便进行数据的读取或写入,避免了现 有技术中由命名节点来分配数据节点,所导致的命名节点的负担过重的问题,有利于提高 系统的稳定性;而且,也避免了现有技术中分片文件系统对命名节点的依赖性过大所导致 的分片文件系统性能提高受到命名节点性能限制的问题,有利于提升分片文件系统的性能 和规模。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。图Ia是本专利技术实施例一提供的数据处理方法的流程图;图Ib本专利技术实施例中数据片的Key值分布示意图;图2是本专利技术实施例二提供的数据处理方法的流程图;图3是本专利技术实施例三提供的写入数据的方法流程图;图4是本专利技术实施例一提供的读取数据的方法流程图;图5a是本专利技术实施例提供的客户端接口的结构示意图;图5b是本专利技术实施例提供的客户端接口的另一结构示意图;图5c是本专利技术实施例提供的客户端接口的又一结构示意图;图6是本专利技术实施例提供的数据节点的结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种数据处理方法、装置和系统。以下分别进行详细说明。实施例一、本实施例将从客户端接口(Client)的角度进行描述。一种数据处理方法,包括获取文件名和数据片的编号,根据获取到的文件名和数 据片的编号通过DHT算法计算出数据片的Key值,然后根据计算出的Key值确定数据节点 (Datanodes),将数据片写入该数据节点,或从该数据节点中读取出数据片;其中,数据片由 文件数据划分而成。参见图la,具体流程可以如下101、获取文件名和数据片的编号,其中,数据片由文件数据划分而成;例如,获取方式具体可以如下(1)在需要写入数据片时,获取文件名以及数据片的编号的方式具体可以为创建文件,其中,该文件具有文件名;将需要写入该文件中的文件数据划分成数据 片;对该数据片进行编号,得到数据片的编号。此外,在创建文件时,还可以发送创建文件信息给命名节点(NameNode),以生成文 件元数据,其中,该文件元数据包括文件名和文件大小,为了方便对文件的区分和管理,还 可以为每个文件设置一个标识,称为文件标识,该文件标识可以保存在命名节点中,所以, 该文件元数据还可以包括文件标识;当然,该文件元数据还可以包括文件创建时间、文件修 改时间和/或该文件中各数据片的检验值,等等;命名节点可以返回生成的文件元数据给 客户端接口,但是,为了节省信令流程,一般的,命名节点可以只返回文件标识给客户端接 口,根据文件标识可以获取到该文件标识所对应的文件的其他文件元数据;也就是说,该数 据处理方法还可以包括发送创建文件信息给命名节点,以生成文件元数据;接收命名节点返回的文件标 识。(2)在读取数据片时,获取文件的文件名以及数据片的编号的方式具体可以为发送打开文件信息给命名节点,该打开文件信息包括文件名;接收命名节点根据 该打开文件信息返回的文件标识,根据该文件标识获取数据片的编号。根据该文件标识还可以获取到该文件标识所对应的文件的其他文件元数。需说明的是,本专利技术实施例所说的文件名指的是需要写入的文件或需要读取的文 件的名称,文件数据则指的是需要写入文件本文档来自技高网
...

【技术保护点】
一种数据处理方法,其特征在于,包括:获取文件名和数据片的编号,其中,数据片由文件数据划分而成;根据所述文件名和编号通过分布式哈希表DHT算法计算出数据片的关键字Key值;根据计算出的Key值确定数据节点;将数据片写入所述数据节点,或从所述数据节点中读取出数据片。

【技术特征摘要】

【专利技术属性】
技术研发人员:宋波
申请(专利权)人:深圳市同洲电子股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1