System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及块存储,尤其涉及一种基于分布式块存储的数据访问方法、装置、电子设备及存储介质。
技术介绍
1、在分布式块存储系统中,通常采用文件系统作为底层存储引擎,比如ext4(fourthextended file system,第四代扩展文件系统)、xfs(extended file system,扩展文件系统)等。由于文件系统是为文件存储而设计,而有些文件体积较小,例如1kb,因此通常采用多级线性表等灵活的索引方式,以适应不同体积文件的管理需求,提高存储空间利用率。
2、在一些实施例中,为了访问物理磁盘中一个使用了三级间接寻址的文件,首先需要进行一次磁盘i/o访问文件的索引节点获得第一级间接块的地址;随后根据第一级间接块的地址访问物理磁盘,进行第二次磁盘i/o读取第一级间接块的内容,即第二级间接块的地址;然后根据第二级间接块的地址访问物理磁盘,进行第三次磁盘i/o读取第二级间接块的内容,即第三级间接块的地址;接着根据第三级间接块的地址访问物理磁盘,进行第四次磁盘i/o读取第三级间接块的内容,即文件在物理磁盘上的存储地址;最终根据文件在物理磁盘上的存储地址,进行第五次磁盘i/o访问文件。
技术实现思路
1、本说明书提供一种基于分布式块存储的数据访问方法,内存中存储有一级索引树和二级索引树,所述一级索引树用于查找所述二级索引树在内存中的存储地址,每棵所述二级索引树用于查找物理磁盘中已存储的一个文件包括的数据块在物理磁盘中的存储地址;其中,所述一级索引树的
2、接收数据块读取请求,所述数据块读取请求中包括需要从物理磁盘读取的第一数据块所属文件的文件标识和所述第一数据块的数据块标识;
3、根据所述第一数据块所属文件的文件标识,在所述一级索引树中查找所述第一数据块所属文件对应的二级索引树在内存中的存储地址;
4、根据所述第一数据块的数据块标识,在所述第一数据块所属文件对应的二级索引树中查找所述第一数据块在物理磁盘中的存储地址;
5、根据所述第一数据块在物理磁盘中的存储地址,从物理磁盘中读取出所述第一数据块。
6、本说明书还提供一种基于分布式块存储的数据访问装置,其特征在于,所述装置的内存中存储有一级索引树和二级索引树,所述一级索引树用于查找所述二级索引树在内存中的存储地址,每棵所述二级索引树用于查找物理磁盘中已存储的一个文件包括的数据块在物理磁盘中的存储地址;其中,所述一级索引树的一个节点中存储有物理磁盘中已存储的一个文件的文件标识和这个文件对应的二级索引树在内存中的存储地址;这个文件对应的二级索引树的一个节点中存储有这个文件所包括的一个数据块的数据块标识和这个数据块在物理磁盘中的存储地址;所述装置包括:
7、接收单元,用于接收数据块读取请求,所述数据块读取请求中包括需要从物理磁盘读取的第一数据块所属文件的文件标识和所述第一数据块的数据块标识;
8、第一查找单元,用于根据所述第一数据块所属文件的文件标识,在所述一级索引树中查找所述第一数据块所属文件对应的二级索引树在内存中的存储地址;
9、第二查找单元,用于根据所述第一数据块的数据块标识,在所述第一数据块所属文件对应的二级索引树中查找所述第一数据块在物理磁盘中的存储地址;
10、读取单元,用于根据所述第一数据块在物理磁盘中的存储地址,从物理磁盘中读取出所述第一数据块。
11、本说明书还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
12、所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。
13、本说明书还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
14、通过本说明书的实施例,在内存中设计了两层索引树,即一级索引树和二级索引树;其中,一级索引树负责快速定位物理磁盘中已存储的特定文件对应的二级索引树在内存的存储地址,一级索引树将文件标识与二级索引树在内存中的存储地址建立直接映射,物理磁盘中已存储的每个文件在一级索引树中拥有唯一节点;二级索引树负责快速定位物理磁盘中已存储的特定文件中的特定数据块在物理磁盘的存储地址,二级索引树针对物理磁盘中已存储的每个文件包括的数据块,将数据块标识与该数据块在物理磁盘中的存储地址建立直接映射。
15、通过以上方式,本说明书使得数据块的检索无需经过磁盘上的多级间接寻址,降低了磁盘i/o操作次数,提升了查找数据块在物理磁盘中存储地址的速度,从而实现数据块的快速访问,有效解决了传统方案中因多级间接寻址和频繁磁盘i/o导致的性能瓶颈,适用于需要高速数据存取的分布式块存储环境。
本文档来自技高网...【技术保护点】
1.一种基于分布式块存储的数据访问方法,其特征在于,内存中存储有一级索引树和二级索引树,所述一级索引树用于查找所述二级索引树在内存中的存储地址,每棵所述二级索引树用于查找物理磁盘中已存储的一个文件包括的数据块在物理磁盘中的存储地址;其中,所述一级索引树的一个节点中存储有物理磁盘中已存储的一个文件的文件标识和这个文件对应的二级索引树在内存中的存储地址;这个文件对应的二级索引树的一个节点中存储有这个文件所包括的一个数据块的数据块标识和这个数据块在物理磁盘中的存储地址;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,物理磁盘中存储有文件索引表,所述文件索引表用于记录物理磁盘中已存储文件的文件标识和与物理磁盘中已存储文件一一对应的数据索引表在物理磁盘中的存储地址;所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述文件索引表包括数组元素,每个数组元素包含一个在物理磁盘中已存储文件的文件标识和与这个已存储文件对应的数据索引表在物理磁盘中的存储地址,其中,所述文件索引表所包括的各个数组元素按照与其对应的已存储文件被写入物理磁盘的顺序进行存储。
...【技术特征摘要】
1.一种基于分布式块存储的数据访问方法,其特征在于,内存中存储有一级索引树和二级索引树,所述一级索引树用于查找所述二级索引树在内存中的存储地址,每棵所述二级索引树用于查找物理磁盘中已存储的一个文件包括的数据块在物理磁盘中的存储地址;其中,所述一级索引树的一个节点中存储有物理磁盘中已存储的一个文件的文件标识和这个文件对应的二级索引树在内存中的存储地址;这个文件对应的二级索引树的一个节点中存储有这个文件所包括的一个数据块的数据块标识和这个数据块在物理磁盘中的存储地址;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,物理磁盘中存储有文件索引表,所述文件索引表用于记录物理磁盘中已存储文件的文件标识和与物理磁盘中已存储文件一一对应的数据索引表在物理磁盘中的存储地址;所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述文件索引表包括数组元素,每个数组元素包含一个在物理磁盘中已存储文件的文件标识和与这个已存储文件对应的数据索引表在物理磁盘中的存储地址,其中,所述文件索引表所包括的各个数组元素按照与其对应的已存储文件被写入物理磁盘的顺序进行存储。
4.根据权利要求2所述的方法,其特征在于,与物理磁盘中已存储文件一一对应的数据索引表包括数组元素,每个数组元素包含一个在物理磁盘中已存储数据块的数据块标识和这个数据块在...
【专利技术属性】
技术研发人员:张吉祥,张召,郭吕建,程行峰,
申请(专利权)人:杭州优云科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。