数据读写方法及分布式存储系统的制作方法_5

文档序号:9505946阅读:来源:国知局
处理请求进行处理,得到处理结果,所述数据索引包括所述分片数据在分布式文件系统中的存储位置; 将所述处理结果发送至所述客户端。2.根据权利要求1所述的方法,其特征在于,所述处理请求为写入请求,以及 所述基于预先加载在内存中的指示所述分片数据的数据标识与数据索引的对应关系的哈希表,对所述处理请求进行处理,得到处理结果包括: 利用主分片模块将所述分片数据写入分布式文件系统中,得到所述分片数据对应的数据索引,所述主分片模块为基于所述数据标识对应的哈希值所处的哈希值区间而确定的主分片模块;将所述数据标识和所述数据索引写入分布式文件系统中的日志文件,并且基于所述数据标识和所述数据索引,更新所述主分片模块对应的所述哈希表。3.根据权利要求2所述的方法,其特征在于,所述利用主分片模块将所述分片数据写入分布式文件系统中包括: 利用主分片模块对分片数据进行复制生成分片数据对应的3份副本数据,以追加写方式向分布式文件系统写入所述3份副本数据; 采用纠删码对所述3份副本数据进行编码,生成分片数据对应的1.5份副本数据;将所述1.5份副本数据写入分布式文件系统中。4.根据权利要求3所述的方法,其特征在于,所述处理请求为读取请求,以及 所述基于预先加载在内存中的指示所述分片数据的数据标识与数据索引的对应关系的哈希表,对所述处理请求进行处理,得到处理结果包括: 利用主分片模块基于所述数据标识对应的哈希值,从所述主分片模块对应的哈希表中的所述哈希值对应的位置上查找出与所述数据标识对应的数据索引,所述主分片模块为基于所述数据标识对应的哈希值所处的哈希值区间而确定的主分片模块;基于所述数据索弓丨,从分布式文件系统中读取所述分片数据。5.根据权利要求4所述的方法,其特征在于,所述处理请求为读取请求,以及 所述基于预先加载在内存中的指示所述分片数据的数据标识与数据索引的对应关系的哈希表,对所述处理请求进行处理,得到处理结果包括: 利用所述主分片模块对应的从分片模块基于所述数据标识对应的哈希值,从所述从分片模块对应的哈希表中的所述哈希值对应的位置上查找出与所述数据标识对应的数据索弓丨,所述从分片模块为基于所述数据标识对应的哈希值所处的哈希值区间而确定的从分片模块;基于所述数据索引,从分布式文件系统中读取所述分片数据。6.根据权利要求5所述的方法,其特征在于,所述主分片模块和其对应的从分片模块位于不同的分片服务器。7.根据权利要求6所述的方法,其特征在于,所述方法还包括: 利用所述从分片模块每间隔读取周期读取所述日志文件中的所述主分片模块对应的增量信息,所述增量信息指示相较于上一读取周期新增加的数据标识和数据索引; 基于所述增量信息,更新所述从分片模块对应的哈希表。8.根据权利要求7所述的方法,其特征在于,所述方法还包括: 当所述主分片模块出现故障时,将所述主分片模块对应的从分片模块切换为主分片模块,以对所述处理请求进行处理。9.一种数据读写方法,其特征在于,所述方法包括: 接收客户端发送的查询请求,所述查询请求包括待处理的分片数据对应的数据标识; 基于所述数据标识对应的哈希值所处的哈希值区间,确定用于对待处理的分片数据进行处理的分片服务器,以使所述客户端可向所述分片服务器发送对分片数据的处理请求对待处理的分片数据进行处理,其中,每一个分片服务器预先对应多个哈希值区间。10.根据权利要求9所述的方法,其特征在于,所述基于所述数据标识对应的哈希值所处的哈希值区间,确定用于对待处理的分片数据进行处理的分片服务器包括:基于所述数据标识对应的哈希值所处的哈希值区间,确定用于对待处理的分片数据进行处理的主分片模块或所述主分片模块对应的从分片模块,其中,每一个主分片模块与所述从分片模块预先均对应一个相同的哈希值区间;基于主分片模块或从分片模块与分片服务器的对应关系表,确定所述主分片模块或从分片模块所在的分片服务器。11.一种数据读写方法,其特征在于,所述方法包括: 接收对分片数据的处理指令,向主控服务器发送查询请求,所述查询请求包括所述分片数据的数据标识; 向分片服务器发送对分片数据的处理请求,所述分片服务器为经由所述主控服务器基于所述分片数据的数据标识而确定的分片服务器; 接收所述分片服务器返回的对所述处理请求进行处理之后得到的处理结果。12.—种分布式存储系统,其特征在于,所述系统包括: 客户端,配置用于接收对分片数据的处理指令,向主控服务器发送查询请求,所述查询请求包括所述分片数据的数据标识;向分片服务器发送对分片数据的处理请求,所述分片服务器为经由所述主控服务器基于所述分片数据的数据标识而确定的分片服务器;接收所述分片服务器返回的对所述处理请求进行处理之后得到的处理结果; 主控服务器,配置用于接收客户端发送的查询请求,所述查询请求包括待处理的分片数据对应的数据标识;基于所述数据标识对应的哈希值所处的哈希值区间,确定用于对待处理的分片数据进行处理的分片服务器,以使所述客户端可向所述分片服务器发送对分片数据的处理请求对待处理的分片数据进行处理,其中,每一个分片服务器预先对应多个哈希值区间; 分片服务器,配置用于接收客户端发送的对分片数据的包含所述分片数据的数据标识的处理请求,所述处理请求包括:写入请求、读取请求;基于预先加载在内存中的指示所述分片数据的数据标识与数据索引的对应关系的哈希表,对所述处理请求进行处理,得到处理结果,所述数据索引包括所述分片数据在分布式文件系统中的存储位置;将所述处理结果发送至所述客户端。13.根据权利要求12所述的系统,其特征在于,所述分片服务器包括: 主分片模块,配置用于当所述处理请求为写入请求时,将所述分片数据写入分布式文件系统中,得到所述分片数据对应的数据索引;将所述数据标识和所述数据索引写入分布式文件系统中的日志文件,并且基于所述数据标识和所述数据索引,更新所述主分片模块对应的所述哈希表。14.根据权利要求13所述的系统,其特征在于,所述主分片模块进一步配置用于:对分片数据进行复制生成分片数据对应的3份副本数据,以追加写方式向分布式文件系统写入所述3份副本数据;采用纠删码对所述3份副本数据进行编码,生成分片数据对应的1.5份副本数据;将所述1.5份副本数据写入分布式文件系统中。15.根据权利要求14所述的系统,其特征在于,所述主分片模块进一步配置用于:当所述处理请求为读取请求时,基于所述数据标识对应的哈希值,从所述主分片模块对应的哈希表中的所述哈希值对应的位置上查找出与所述数据标识对应的数据索引;基于所述数据索引,从分布式文件系统中读取所述分片数据。16.根据权利要求15所述的系统,其特征在于,所述分片服务器还包括: 从分片模块,配置用于当所述处理请求为读取请求时,基于所述数据标识对应的哈希值,从所述从分片模块对应的哈希表中的所述哈希值对应的位置上查找出与所述数据标识对应的数据索引;基于所述数据索引,从分布式文件系统中读取所述分片数据。17.根据权利要求16所述的系统,其特征在于,所述从分片模块进一步配置用于:每间隔读取周期读取所述日志文件中的所述主分片处理模块对应的增量信息,所述增量信息指示相较于上一读取周期新增加的数据标识和数据索引;基于所述增量信息,更新所述从分片模块对应的哈希表。18.根据权利要求17所述的系统,其特征在于,当所述主分片模块出现故障时,将所述主分片模块对应的从分片模块切换为主分片模块,以对所述处理请求进行处理。19.根据权利要求18所述的系统,其特征在于,所述主分片模块和其对应的从分片模块位于不同的分片服务器。20.根据权利要求19所述的系统,其特征在于,所述主控服务器进一步配置用于:基于所述数据标识对应的哈希值所处的哈希值区间,确定用于对待处理的分片数据进行处理的主分片模块或所述主分片模块对应的从分片模块,其中,每一个主分片模块与所述从分片模块预先均对应一个相同的哈希值区间;基于主分片模块或从分片模块与分片服务器的对应关系表,确定所述主分片模块或从分片模块所在的分片服务器。
【专利摘要】本申请公开了数据读写方法及分布式存储系统。该方法的一【具体实施方式】包括:分片服务器接收客户端发送的对分片数据的包含分片数据的数据标识的处理请求;基于预先加载在内存中的指示分片数据的数据标识与数据索引的对应关系的哈希表,对处理请求进行处理,得到处理结果;将处理结果发送至客户端。实现了通过加载在内存中的哈希表完成对数据的读写,使得对数据的读取请求的处理时间接近于分布式文件系统本身的极限性能,对数据的写入请求的耗时接近于分布式文件系统以追加写方式写入所消耗的时间,从而提升了分布式存储系统的性能,同时,依靠分布式文件系统对数据进行存储,具有等同于分布式文件系统的可靠性,进而提升分布式存储系统的可靠性。
【IPC分类】G06F3/06
【公开号】CN105260136
【申请号】CN201510616481
【发明人】刘健, 李栋梁, 高天行
【申请人】北京百度网讯科技有限公司
【公开日】2016年1月20日
【申请日】2015年9月24日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1