一种多级映射框架、数据操作请求处理方法及系统技术方案

技术编号:36269947 阅读:13 留言:0更新日期:2023-01-07 10:11
本申请公开了一种多级映射框架、数据操作请求处理方法及系统,所属的技术领域为数据存储技术。所述多级映射框架根据数据存储集群内的inode索引和B树构建得到,多级映射框架自上至下包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层;其中,根页层用于实现对顶页层的映射,顶页层用于分配volume标识符并实现对中间页层的映射,中间页层用于缓存数据并实现对叶页层的映射,叶页层用于设置数据写入计数字段,虚拟块层用于更新数据写入计数字段的值,物理块层用于存储数据,数据写入计数字段用于控制是否对物理块层执行操作。本申请能够避免数据复写和删除引起的存储资源浪费。够避免数据复写和删除引起的存储资源浪费。够避免数据复写和删除引起的存储资源浪费。

【技术实现步骤摘要】
一种多级映射框架、数据操作请求处理方法及系统


[0001]本申请涉及数据存储
,特别涉及一种多级映射框架、数据操作请求处理方法及系统。

技术介绍

[0002]在大数据时代下,无时无刻不产生大量数据,这些数据不仅需要安全可靠的存储下来同时还需将它们以极高的I/O速率存储在后台存储环境中,这样每个互联网用户才能快速访问这些数据。
[0003]在提高I/O性能方面,业界已使用多级缓存cache方式,通过多级哈希映射方式加速存取I/O数据的速度,并且使用多控节点组成的集群技术,主节点负责处理主机的I/O请求,辅助节点负责存储系统的后台任务(例如,RAID阵列初始化、巡检和重构任务等等),以此来提高存储系统的I/O性能。但是这两种方法仍不能显著提高I/O性能,例如多个银行分行的多存储系统通常由多个主机设备通过一个网络进行共享,在多个主机设备上运行的应用程序都包含多个功能多样的应用程序进程。这些进程通过主机发出I/O请求,以使数据安全可靠的存储于各分行的存储系统上,在这种情况下势必会有数据的复写和删除,导致存储资源浪费。
[0004]因此,如何避免数据复写和删除引起的存储资源浪费是本领域技术人员目前需要解决的技术问题。

技术实现思路

[0005]本申请的目的是提供一种多级映射框架、一种数据操作请求处理方法、一种数据操作请求处理系统、一种电子设备及一种存储介质,能够避免数据复写和删除引起的存储资源浪费。
[0006]本申请所解决的技术问题为如何避免数据复写和删除引起的存储资源浪费。为解决上述技术问题,本申请提供一种多级映射框架,所述多级映射框架根据数据存储集群内的inode索引和B树构建得到,所述多级映射框架自上至下包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层;所述数据存储集群用于根据所述多级映射框架执行数据操作请求对应的操作;其中,所述根页层用于实现对所述顶页层的映射,所述顶页层用于分配volume标识符并实现对所述中间页层的映射,所述中间页层用于缓存数据并实现对所述叶页层的映射,所述叶页层用于设置数据写入计数字段,所述虚拟块层用于更新所述数据写入计数字段的值,所述物理块层用于存储数据,所述数据写入计数字段用于控制是否对所述物理块层执行操作。
[0007]本申请还提供一种数据操作请求处理方法,应用于数据存储集群,所述数据存储集群运行有上述的多级映射框架,所述数据操作请求处理方法,包括:若接收到数据写入请求,则确定发送所述数据写入请求的主机设备的第一主机
LBA,利用inode表查询所述第一主机LBA对应的inode索引;利用所述第一主机LBA和所述inode索引映射到对应的顶页层,并在所述顶页层内为待写入数据分配volume标识符;利用所述中间页层缓存所述数据写入请求对应的所述待写入数据;将所述待写入数据写入所述volume标识符对应的叶页层;利用所述volume标识符对应的叶页层将所述待写入数据压缩为映射表并添加数据写入计数字段,将所述映射表和对应的数据写入计数字段写入所述虚拟块层;利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式;其中,所述写入方式包括物理写入和逻辑写入;若所述写入方式为物理写入,则将所述映射表写入至对应的物理块层,并将所述映射表的数据写入计数字段的值设置为1;若所述写入方式为逻辑写入,则将所述映射表的数据写入计数字段的值加1。
[0008]可选的,在利用inode表查询所述第一主机LBA对应的inode索引之前,还包括:从Linux内核的超级块super block数据结构中读取所述inode表;其中,所述inode表中存储有inode索引与存储系统的对应关系。
[0009]可选的,利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式,包括:若所述映射表的数据写入计数字段大于或等于1,则利用所述虚拟块层判定所述待写入数据的写入方式为逻辑写入;若所述映射表的数据写入计数字段为0,则利用所述虚拟块层判定所述待写入数据的写入方式为物理写入。
[0010]可选的,利用所述中间页层缓存所述数据写入请求对应的所述待写入数据,包括:利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率;根据所述数据读写频率将所述待写入数据缓存至所述中间页层的热数据区域或冷数据区域;其中,所述热数据区域用于存储读写频率大于预设值的数据,所述冷数据区域用于存储读写频率小于或等于所述预设值的数据。
[0011]可选的,利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率,包括:根据所述第一主机LBA计算发送所述数据写入请求的主机设备在所述顶页层中对应的页结构,在所述页结构中查询发送所述数据写入请求的主机设备的数据读写频率。
[0012]可选的,将所述待写入数据写入所述volume标识符对应的叶页层,包括:将所述中间页层的热数据区域或冷数据区域中缓存的待写入数据写入所述volume标识符对应的叶页层。
[0013]可选的,在将所述映射表写入至所述物理块层之后,还包括:将所述物理块层中的数据落盘至RAID阵列。
[0014]可选的,还包括:若接收到数据读取请求,则确定发送所述数据读取请求的主机设备的第二主机LBA,根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数
据的数据存储位置;根据所述数据存储位置从缓存或内存中读取并返回所述待读取数据。
[0015]可选的,在根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数据的数据存储位置之后,还包括:在所述顶页层中更新发送所述数据读取请求的主机设备的数据读写频率。
[0016]本申请还提供一种数据操作请求处理方法,应用于数据存储集群,所述数据存储集群运行有上述的多级映射框架,所述数据操作请求处理方法,包括:若接收到数据删除请求,则确定发送所述数据删除请求的主机设备的第三主机LBA,根据所述第三主机LBA在所述多级映射框架中查询所述数据删除请求对应的待删除数据的数据写入计算字段;根据所述待删除数据的数据写入计算字段确定删除方式;其中,所述删除方式包括物理删除和逻辑删除;若所述删除方式为物理删除,则在所述物理块层中删除所述待删除数据,并将所述待删除数据的数据写入计数字段的值设置为0;若所述删除方式为逻辑删除,则将所述待删除数据的数据写入计数字段的值减1。
[0017]可选的,根据所述待删除数据的数据写入计算字段确定删除方式,包括:若所述待删除数据的数据写入计数字段大于或等于2,则所述虚拟块层判定所述待删除数据的删除方式为逻辑删除;若所述待删除数据的数据写入计数字段为1,则所述虚拟块层判定所述待删除数据的删除方式为物理删除。
[0018]本申请还提供了一种数据操作请求处理系统,应用于数据存储集群,所述数据存储集群运行有如上述的多级映射框架,所述数据操作请求处理系统,包括:写入请求接收模块,用于若接收到数据写入请求,则确定发送所述数据写入请求的主机设备的第一主机LBA,利用inode表查本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多级映射框架,其特征在于,所述多级映射框架根据数据存储集群内的inode索引和B树构建得到,所述多级映射框架自上至下包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层;所述数据存储集群用于根据所述多级映射框架执行数据操作请求对应的操作;其中,所述根页层用于实现对所述顶页层的映射,所述顶页层用于分配volume标识符并实现对所述中间页层的映射,所述中间页层用于缓存数据并实现对所述叶页层的映射,所述叶页层用于设置数据写入计数字段,所述虚拟块层用于更新所述数据写入计数字段的值,所述物理块层用于存储数据,所述数据写入计数字段用于控制是否对所述物理块层执行操作。2.一种数据操作请求处理方法,其特征在于,应用于数据存储集群,所述数据存储集群运行有如权利要求1所述的多级映射框架,所述数据操作请求处理方法,包括:若接收到数据写入请求,则确定发送所述数据写入请求的主机设备的第一主机LBA,利用inode表查询所述第一主机LBA对应的inode索引;利用所述第一主机LBA和所述inode索引映射到对应的顶页层,并在所述顶页层内为待写入数据分配volume标识符;利用所述中间页层缓存所述数据写入请求对应的所述待写入数据;将所述待写入数据写入所述volume标识符对应的叶页层;利用所述volume标识符对应的叶页层将所述待写入数据压缩为映射表并添加数据写入计数字段,将所述映射表和对应的数据写入计数字段写入所述虚拟块层;利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式;其中,所述写入方式包括物理写入和逻辑写入;若所述写入方式为物理写入,则将所述映射表写入至对应的物理块层,并将所述映射表的数据写入计数字段的值设置为1;若所述写入方式为逻辑写入,则将所述映射表的数据写入计数字段的值加1。3.根据权利要求2所述数据操作请求处理方法,其特征在于,在利用inode表查询所述第一主机LBA对应的inode索引之前,还包括:从Linux内核的超级块super block数据结构中读取所述inode表;其中,所述inode表中存储有inode索引与存储系统的对应关系。4.根据权利要求2所述数据操作请求处理方法,其特征在于,利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式,包括:若所述映射表的数据写入计数字段大于或等于1,则利用所述虚拟块层判定所述待写入数据的写入方式为逻辑写入;若所述映射表的数据写入计数字段为0,则利用所述虚拟块层判定所述待写入数据的写入方式为物理写入。5.根据权利要求2所述数据操作请求处理方法,其特征在于,利用所述中间页层缓存所述数据写入请求对应的所述待写入数据,包括:利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率;根据所述数据读写频率将所述待写入数据缓存至所述中间页层的热数据区域或冷数据区域;
其中,所述热数据区域用于存储读写频率大于预设值的数据,所述冷数据区域用于存储读写频率小于或等于所述预设值的数据。6.根据权利要求5所述数据操作请求处理方法,其特征在于,利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率,包括:根据所述第一主机LBA计算发送所述数据写入请求的主机设备在所述顶页层中对应的页结构,在所述页结构中查询发送所述数据写入请求的主机设备的数据读写频率。7.根据权利要求5所述数据操作请求处理方法,其特征在于,将所述待写入数据写入所述volume标识符对应的叶页层,包括:将所述中间页层的热数据区域或冷数据区域中缓存的待写入数据写入所述volume标识符对应的叶页层。8.根据权利要求2所述数据操作请求处理方法,其特征在于,在将所述映射表写入至所述物理块层之后,还包括:将所述物理块层中的数据落盘至RAID阵列。9.根据权利要求2所述数据操作请求处理方法,其特征在于,还包括:若接收到数据读取请求,则确定发送所述数据读取请求的主机设备的第二主机LBA,根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读...

【专利技术属性】
技术研发人员:李飞龙许永良孙明刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1