本发明涉及高性能存储系统写请求,具体涉及一种基于高速写请求日志的raid-5优化方法。
背景技术:
1、在信息技术日益发展的今天,数据存储和处理变得越来越重要。企业和组织需要存储大量的数据,并能够快速、可靠地访问这些数据。然而,传统的单一硬盘存储系统在性能、容量和数据冗余方面可能无法满足需求,因此需要更高级的存储技术来解决这些问题。raid-5技术应运而生,它通过组合多个硬盘驱动器,提高了存储系统的性能、容量和可靠性,成为了企业和个人用户常用的存储解决方案之一。与固态盘相比,磁盘的制造成本相对较低,因此构建磁盘raid-5系统的总成本通常也较低。这使得磁盘raid-5成为一种经济实惠的选择,尤其适用于大容量存储需求的场景。但由于磁盘的读写速度相对较慢,尤其是在随机读写操作时,磁盘raid-5的性能可能无法与固态盘raid-5相媲美。这意味着在需要高速数据访问的应用场景下,磁盘raid-5可能表现不佳。磁盘raid-5高延迟的原因有两点:(1)磁盘本身写入速度较慢(2)条带校验操作会产生大量延迟。因此,亟需一种能解决上述缺点且低成本的低延迟raid-5方案的优化方法。
技术实现思路
1、为解决现有技术中存在的问题,本发明提供了一种基于高速写请求日志的raid-5优化方法,在原有raid-5设计上增加了一个高性能固态盘(nvme ssd)来作为日志盘,用于记录写入请求,高性能固态盘具有低延迟的特点,如果在用户的写请求进行条带校验之前将写请求写入到日志盘中并视为请求完成,那么可以有效的降低磁盘raid-5的延迟,且日志盘可以负责多组磁盘阵列,并不会对成本产生较大的影响,解决了上述背景技术中提到的问题。
2、为实现上述目的,本发明提供如下技术方案:一种基于高速写请求日志的raid-5优化方法,包括如下步骤:
3、s1、在磁盘raid-5中增加了一个日志盘用于监控记录写请求;
4、s2、初始化日志盘系统,包括初始化日志空间大小、日志偏移量、日志元数据数量信息;
5、s3、获取写请求所写入的写请求偏移量、写请求长度以及写入数据的基础信息,并根据写请求的基础信息计算出写请求访问的条带;
6、s4、根据条带校验的计算规则从条带中读出用于更新奇偶校验所需要的数据,并将写请求的基础信息转换成日志元数据信息;
7、s5、判断日志元数据是否达到上限或日志空间不足,如果日志元数据达到上限或日志空间不足则先对元数据及日志空间进行清理;否则,则根据日志元数据向日志盘中写入日志数据;
8、s6、日志数据写入完成后向用户返回请求完成的信息;
9、s7、执行条带校验计算,计算出更新后的校验块及校验数据,将计算后的校验数据和写请求数据写入磁盘阵列中,写入完成后,将元数据的持久化标志更新为1,表示当前数据已经被更新到阵列当中,当日志空间满时该日志元数据优先被清理,完成写请求优化。
10、优选的,所述初始化日志盘系统是指:定义一个大小为2g的日志空间;定义一个日志元数据数量阈值,设为256,并初始化日志元数据数量为0,表示当前日志元数据数量;初始化日志偏移量为0,表示当前日志空间已经写入的数据量。
11、优选的,所述日志元数据包括四个字段,分别是日志数据、日志数据偏移量、持久化标志、日志数据长度;所述日志数据和写请求数据相同,所述日志数据偏移量由动态的日志偏移量得出,所述持久化标志初始为0,所述日志数据长度和写请求数据长度相同。
12、优选的,所述判断日志元数据是否达到上限或日志空间不足具体是指:判断日志元数据数量是否小于256,日志剩余空间是否小于总空间的80%。
13、优选的,每当转换另一条新的日志元数据信息时,该日志元数据数量在原有的数量上加1;新的日志偏移量等于原有的日志偏移量+写请求长度。
14、优选的,对元数据及日志空间进行清理后,每清理一个日志数据,元数据数量减1并释放相应的日志空间,同时更新当前日志元数据中的日志数据偏移量。
15、本发明的有益效果是:
16、1)更快的写请求响应时间:本发明显著减少了用户等待写操作完成的时间。通过将写请求首先记录到具有低延迟特性的日志盘中,写请求可以迅速被认为是“已完成”,而后台的条带校验和实际数据写入到磁盘阵列上的操作可以异步进行,从而不会直接影响到用户的操作体验。这种快速响应对于需要大量写操作的应用场景尤为重要,如在线交易平台、大数据分析等;
17、2)为数据提供更安全的保障:使用日志盘来记录写请求,增强了数据一致性和恢复能力。在发生故障时,可以利用日志盘上的数据快速恢复到最后一次一致的状态,减少数据丢失的风险。此外,日志机制允许系统在非正常关闭或系统故障后,通过重放日志来重建丢失的写操作,确保数据的完整性和一致性。
1.一种基于高速写请求日志的raid-5优化方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于高速写请求日志的raid-5优化方法,其特征在于:所述初始化日志盘系统是指:定义一个大小为2g的日志空间;定义一个日志元数据数量阈值,设为256,并初始化日志元数据数量为0,表示当前日志元数据数量;初始化日志偏移量为0,表示当前日志空间已经写入的数据量。
3.根据权利要求1所述的基于高速写请求日志的raid-5优化方法,其特征在于:所述日志元数据包括四个字段,分别是日志数据、日志数据偏移量、持久化标志、日志数据长度;所述日志数据和写请求数据相同,所述日志数据偏移量由动态的日志偏移量得出,所述持久化标志初始为0,所述日志数据长度和写请求数据长度相同。
4.根据权利要求1所述的基于高速写请求日志的raid-5优化方法,其特征在于:所述判断日志元数据是否达到上限或日志空间不足具体是指:判断日志元数据数量是否小于256,日志剩余空间是否小于总空间的80%。
5.根据权利要求1所述的基于高速写请求日志的raid-5优化方法,其特征在于:每当转换另一条新的日志元数据信息时,该日志元数据数量在原有的数量上加1;新的日志偏移量等于原有的日志偏移量+写请求长度。
6.根据权利要求1所述的基于高速写请求日志的raid-5优化方法,其特征在于:对元数据及日志空间进行清理后,每清理一个日志数据,元数据数量减1并释放相应的日志空间,同时更新当前日志元数据中的日志数据偏移量。