[发明专利]一种基于哈希的HDFS后端存储系统有效
申请号: | 202110635461.6 | 申请日: | 2021-06-08 |
公开(公告)号: | CN113377709B | 公开(公告)日: | 2022-07-19 |
发明(设计)人: | 刘彬彬;殷双飞;邓玲 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/16;G06F16/182;G06F3/06;G06F11/10 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hdfs 后端 存储系统 | ||
1.一种基于哈希的HDFS后端存储系统设计方法,其特征在于,将该HDFS后端存储系统设计为包括计算模块、磁盘和内存;所述计算模块布置于HDFS的DataNode中,通过哈希函数实现将HDFS的数据块ID映射成相应的内存和磁盘地址偏移的功能;
所述磁盘的存储空间被划分为两大部分,磁盘首部存储着HDFS后端存储系统的元数据信息,其余空间存储用户数据;
HDFS后端存储系统的元数据设计为由以下几个字段组成,头部4个字节的空间存储魔数,用以标识该磁盘已被初始化,后8个字节的空间存储HDFS块大小信息,接下来8字节存储块数量信息,指示该HDFS最多能够存储的块数量,最后是块数量对应个数的数据块ID,每个数据块ID占用8字节空间,如果该空间有数据,则标志着用户数据部分相应偏移的空间存储的数据是有效的;
用户数据由三个字段组成,起始的8字节用于表示实际存储数据的长度,接下来的部分为预留数据、校验和的空间,其大小由HDFS后端存储系统的元数据中块大小字段指定,这三个字段按元数据中块数量字段的指示依次分配,每一块占用的空间大小固定,可通过计算偏移直接读写相应的数据;
内存的存储空间被分为两个部分,SystemInfo和BlockInfo,SystemInfo类存储着HDFS后端存储系统的元数据信息,包括blockSize字段、blockNumber字段和blockInfos数组,blockSize字段和blockNumber字段分别对应磁盘中的块大小和块数量,blockInfos数组存储所有数据块的信息,其中每一个元素均为BlockInfo类;BlockInfo类存储单独数据块的信息,包括数据块ID、块实际长度和校验和;
HDFS后端存储系统初始化时,磁盘中的数据被读取到内存中相应数据结构的字段内;HDFS后端存储系统发生数据读写时,哈希函数接收数据块ID并计算偏移,该偏移为内存空间中blockInfos数组的下标,HDFS后端存储系统可以据此读写对应BlockInfo类中的字段。
2.如权利要求1所述的方法,其特征在于,当数据块ID映射到内存和磁盘的地址偏移时,由计算模块中自定义的哈希函数计算哈希,该哈希函数接收数据块ID并计算偏移时,首先计算一个初始哈希值,然后对blockNumber取模,当发生哈希冲突时,使用开放地址法计算最终的哈希值。
3.一种利用如权利要求1或2所述方法设计得到的HDFS后端存储系统的写数据方法,其特征在于,包括以下步骤:首先,DataNode在接收到写请求时,先通过计算模块将数据块ID计算成哈希值,该哈希值既表示blockInfos数组的下标,又表示磁盘中需要偏移的数据块数量,然后,DataNode开始接收用户数据,并且按照预设参数的指示计算校验和,接下来,DataNode先将数据和校验和写入磁盘,再将实际数据长度和数据块ID也写入磁盘,最后,DataNode通过数据块ID、实际数据长度、校验和数据构建BlockInfo对象,按照计算模块计算出的下标,填充blockInfos数组的相应元素,在更新完内存数据后才会返回写完成,允许用户进行读操作。
4.一种利用如权利要求1或2所述方法设计得到的HDFS后端存储系统的读数据方法,其特征在于,包括以下步骤:首先,DataNode通过计算模块将块ID计算成哈希值,然后将哈希值作为下标访问blockInfos数组的对应元素,通过BlockInfo对象中块数据实际长度计算出校验和实际长度,并且读取相应大小的校验和数据,接下来通过哈希值计算的磁盘地址偏移和BlockInfo对象中实际数据长度的指示读取相应大小的用户数据,最后计算用户数据的校验和与内存校验和进行比对,校验通过则将用户数据返回给客户端;校验失败则返回错误并且删除该块数据,HDFS根据该错误修正整个分布式文件系统的元数据信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110635461.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型氮化铁与多孔碳复合负极材料的制备方法
- 下一篇:一种石膏板成型皮带机