产学研创新服务平台(开云优惠体育网页版入口)
专利申请类型:发明专利;专利名称:一种基于高速写请求日志的RAID-5优化方法
专利类型:发明专利
专利申请号:CN202410690745.9
专利申请(专利权)人:青海师范大学
权利人地址:青海省西宁市城西区五四西路38号
专利发明(设计)人:谢平,李培轩
专利摘要:本发明公开了一种基于高速写请求日志的RAID?5优化方法,在磁盘RAID?5中增加了一个日志盘,用来优化磁盘RAID?5的可靠性和写入延迟,采用日志技术可以提高磁盘RAID?5的可靠性,在系统断电或崩溃时,可以通过遍历日志元数据的方式来恢复未完全写入的数据;其中,持久化标志为0的是未完全写入的数据,重新执行这些请求即可保证磁盘RAID?5的数据一致性。同时,本发明用高性能固态盘作为日志盘,日志盘快速响应写请求可以减少数据校验的延迟和磁盘RAID?5的写入延迟。
主权利要求:
1.一种基于高速写请求日志的RAID?5优化方法,其特征在于,包括如下步骤:S1、在磁盘RAID?5中增加了一个日志盘用于监控记录写请求,日志盘为高性能固态盘;
S2、初始化日志盘系统,包括初始化日志空间大小、日志偏移量、日志元数据数量信息;
S3、获取写请求所写入的写请求偏移量、写请求长度以及写入数据的基础信息,并根据写请求的基础信息计算出写请求访问的条带;
S4、根据条带校验的计算规则从条带中读出用于更新奇偶校验所需要的数据,并将写请求的基础信息转换成日志元数据信息;
S5、判断日志元数据是否达到上限或日志空间不足,如果日志元数据达到上限或日志空间不足则先对元数据及日志空间进行清理;否则,则根据日志元数据向日志盘中写入日志数据;
S6、日志数据写入完成后向用户返回请求完成的信息;
S7、执行条带校验计算,计算出更新后的校验块及校验数据,将计算后的校验数据和写请求数据写入磁盘阵列中,写入完成后,将元数据的持久化标志更新为1,表示当前数据已经被更新到阵列当中,当日志空间满时该日志元数据优先被清理,完成写请求优化;
所述初始化日志盘系统是指:定义一个大小为2G的日志空间;定义一个日志元数据数量阈值,设为256,并初始化日志元数据数量为0,表示当前日志元数据数量;初始化日志偏移量为0,表示当前日志空间已经写入的数据量;
所述日志元数据包括四个字段,分别是日志数据、日志数据偏移量、持久化标志、日志数据长度;所述日志数据和写请求数据相同,所述日志数据偏移量由动态的日志偏移量得出,所述持久化标志初始为0,所述日志数据长度和写请求数据长度相同;
所述判断日志元数据是否达到上限或日志空间不足具体是指:判断日志元数据数量是否小于256,日志剩余空间是否小于总空间的80%;
每当转换另一条新的日志元数据信息时,该日志元数据数量在原有的数量上加1;新的日志偏移量等于原有的日志偏移量+写请求长度;
对元数据及日志空间进行清理后,每清理一个日志数据,元数据数量减1并释放相应的日志空间,同时更新当前日志元数据中的日志数据偏移量。 说明书 : 一种基于高速写请求日志的RAID?5优化方法技术领域[0001] 本发明涉及高性能存储系统写请求技术领域,具体涉及一种基于高速写请求日志的RAID?5优化方法。背景技术[0002] 在信息技术日益发展的今天,数据存储和处理变得越来越重要。企业和组织需要存储大量的数据,并能够快速、可靠地访问这些数据。然而,传统的单一硬盘存储系统在性能、容量和数据冗余方面可能无法满足需求,因此需要更高级的存储技术来解决这些问题。RAID?5技术应运而生,它通过组合多个硬盘驱动器,提高了存储系统的性能、容量和可靠性,成为了企业和个人用户常用的存储解决方案之一。与固态盘相比,磁盘的制造成本相对较低,因此构建磁盘RAID?5系统的总成本通常也较低。这使得磁盘RAID?5成为一种经济实惠的选择,尤其适用于大容量存储需求的场景。但由于磁盘的读写速度相对较慢,尤其是在随机读写操作时,磁盘RAID?5的性能可能无法与固态盘RAID?5相媲美。这意味着在需要高速数据访问的应用场景下,磁盘RAID?5可能表现不佳。磁盘RAID?5高延迟的原因有两点:(1)磁盘本身写入速度较慢(2)条带校验操作会产生大量延迟。因此,亟需一种能解决上述缺点且低成本的低延迟RAID?5方案的优化方法。发明内容[0003] 为解决现有技术中存在的问题,本发明提供了一种基于高速写请求日志的RAID?5优化方法,在原有RAID?5设计上增加了一个高性能固态盘(NVMeSSD)来作为日志盘,用于记录写入请求,高性能固态盘具有低延迟的特点,如果在用户的写请求进行条带校验之前将写请求写入到日志盘中并视为请求完成,那么可以有效的降低磁盘RAID?5的延迟,且日志盘可以负责多组磁盘阵列,并不会对成本产生较大的影响,解决了上述背景技术中提到的问题。[0004] 为实现上述目的,本发明提供如下技术方案:一种基于高速写请求日志的RAID?5优化方法,包括如下步骤:[0005] S1、在磁盘RAID?5中增加了一个日志盘用于监控记录写请求;[0006] S2、初始化日志盘系统,包括初始化日志空间大小、日志偏移量、日志元数据数量信息;[0007] S3、获取写请求所写入的写请求偏移量、写请求长度以及写入数据的基础信息,并根据写请求的基础信息计算出写请求访问的条带;[0008] S4、根据条带校验的计算规则从条带中读出用于更新奇偶校验所需要的数据,并将写请求的基础信息转换成日志元数据信息;[0009] S5、判断日志元数据是否达到上限或日志空间不足,如果日志元数据达到上限或日志空间不足则先对元数据及日志空间进行清理;否则,则根据日志元数据向日志盘中写入日志数据;[0010] S6、日志数据写入完成后向用户返回请求完成的信息;[0011] S7、执行条带校验计算,计算出更新后的校验块及校验数据,将计算后的校验数据和写请求数据写入磁盘阵列中,写入完成后,将元数据的持久化标志更新为1,表示当前数据已经被更新到阵列当中,当日志空间满时该日志元数据优先被清理,完成写请求优化。[0012] 优选的,所述初始化日志盘系统是指:定义一个大小为2G的日志空间;定义一个日志元数据数量阈值,设为256,并初始化日志元数据数量为0,表示当前日志元数据数量;初始化日志偏移量为0,表示当前日志空间已经写入的数据量。[0013] 优选的,所述日志元数据包括四个字段,分别是日志数据、日志数据偏移量、持久化标志、日志数据长度;所述日志数据和写请求数据相同,所述日志数据偏移量由动态的日志偏移量得出,所述持久化标志初始为0,所述日志数据长度和写请求数据长度相同。[0014] 优选的,所述判断日志元数据是否达到上限或日志空间不足具体是指:判断日志元数据数量是否小于256,日志剩余空间是否小于总空间的80%。[0015] 优选的,每当转换另一条新的日志元数据信息时,该日志元数据数量在原有的数量上加1;新的日志偏移量等于原有的日志偏移量+写请求长度。[0016] 优选的,对元数据及日志空间进行清理后,每清理一个日志数据,元数据数量减1并释放相应的日志空间,同时更新当前日志元数据中的日志数据偏移量。[0017] 本发明的有益效果是:[0018] 1)更快的写请求响应时间:本发明显著减少了用户等待写操作完成的时间。通过将写请求首先记录到具有低延迟特性的日志盘中,写请求可以迅速被认为是“已完成”,而后台的条带校验和实际数据写入到磁盘阵列上的操作可以异步进行,从而不会直接影响到用户的操作体验。这种快速响应对于需要大量写操作的应用场景尤为重要,如在线交易平台、大数据分析等;[0019] 2)为数据提供更安全的保障:使用日志盘来记录写请求,增强了数据一致性和恢复能力。在发生故障时,可以利用日志盘上的数据快速恢复到最后一次一致的状态,减少数据丢失的风险。此外,日志机制允许系统在非正常关闭或系统故障后,通过重放日志来重建丢失的写操作,确保数据的完整性和一致性。附图说明[0020] 图1为本发明实施例中基于高速写请求日志的RAID?5优化方法系统架构示意图;[0021] 图2为本发明实施例中基于高速写请求日志的RAID?5优化方法步骤流程示意图。具体实施方式[0022] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0023] 请参阅图1?图2,本发明提供一种技术方案:一种基于高速写请求日志的RAID?5优化方法,在磁盘RAID?5中增加了一个日志盘,如图1所示,用来优化磁盘RAID?5的可靠性和写入延迟,在系统断电或崩溃时,可以通过遍历日志元数据的方式来恢复未完全写入的数据;其中,持久化标志为0的是未完全写入的数据,重新执行这些请求即可保证磁盘RAID?5的数据一致性,提高了磁盘RAID?5的可靠性。同时,本发明用高性能固态盘作为日志盘,日志盘快速响应写请求可以减少数据校验的延迟和磁盘RAID?5的写入延迟。优化方法,步骤如图2所示,包括如下:[0024] S1、在磁盘RAID?5中增加了一个日志盘用于监控记录写请求;[0025] S2、初始化日志盘系统,包括初始化日志空间大小、日志偏移量、日志元数据数量信息;自定义一个日志空间大。ǔN2GB;自定义一个日志元数据数量阈值,通常为256;初始化日志偏移量为0,表示当前日志空间已经写入的数据量。初始化日志元数据数量为0,表示当前日志元数据数量。[0026] S3、获取写请求所写入的写请求偏移量、写请求长度以及写入数据的基础信息,并根据写请求的基础信息计算出写请求访问的条带;[0027] S4、根据条带校验的计算规则从条带中读出用于更新奇偶校验所需要的数据,并将写请求的基础信息转换成日志元数据信息;[0028] 日志元数据包括四个字段,分别是日志数据、日志数据偏移量、持久化标志、日志数据长度;日志数据,表示要向日志盘中写入的数据;日志数据偏移量,表示该数据在日志中的起始偏移量;持久化标志,表示当前写请求中的数据是否已经写入到磁盘阵列中;日志数据长度,表示写入日志盘的数据的长度。[0029] 所述日志数据和写请求数据相同,所述日志数据偏移量由动态的日志偏移量得出,和当前的日志偏移量相同;所述持久化标志初始为0,所述日志数据长度和写请求数据长度相同。[0030] 由此构建出一条日志元数据信息,每当转换另一条新的日志元数据信息时,该日志元数据数量在原有的数量上加1。新的日志偏移量等于原有的日志偏移量+写请求长度。[0031] S5、判断日志元数据是否达到上限或日志空间不足,如果日志元数据达到上限或日志空间不足则先对元数据及日志空间进行清理;否则,则根据日志元数据向日志盘中写入日志数据;[0032] 判断日志元数据是否达到上限或日志空间不足具体是指:判断日志元数据数量是否小于256,日志剩余空间是否小于总空间的80%。[0033] 如果日志元数据数量大于256或者日志偏移量大于1.6GB,说明日志元数据数量达到上限或者日志空间已满,则需要清除掉持久化标志为1的日志数据,以释放日志空间。对元数据及日志空间进行清理后,每清理一个日志数据,元数据数量减1并释放相应的日志空间,同时更新当前日志元数据中的日志数据偏移量。[0034] 若日志元数据数量小于256并且日志偏移量小于1.6GB,说明日志元数据数量未达到上并且日志空间未满,则向日志盘中写入数据。[0035] S6、日志数据写入完成后向用户返回请求完成的信息;[0036] S7、执行条带校验计算,计算出更新后的校验块及校验数据,将计算后的校验数据和写请求数据写入磁盘阵列中,写入完成后,将元数据的持久化标志更新为1,表示当前数据已经被更新到阵列当中,当日志空间满时该日志元数据优先被清理,下一个读请求到达时,仍按步骤S2?步骤S7执行操作,完成写请求优化。[0037] 本发明使用日志盘来记录写请求,增强了数据一致性和恢复能力。在发生故障时,可以利用日志盘上的数据快速恢复到最后一次一致的状态,减少数据丢失的风险。此外,日志机制允许系统在非正常关闭或系统故障后,通过重放日志来重建丢失的写操作,确保数据的完整性和一致性。[0038] 尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
专利地区:青海
专利申请日期:2024-05-30
专利公开日期:2024-11-22
专利公告号:CN118672500B