本申请公开一种RAID的资源分配方法、装置、设备及介质,涉及数据传输技术领域。根据写IO请求分配第一apu资源给数据块;传输数据至hardpage,并将写IO信息存储于apucontext;获取上一个写IO请求的数据并在生成的中间校验值分配第二apu资源的同时传输至hardpage,将写IO信息存储于apucontext;根据数据块和/或校验块落盘情况,释放第一apu资源和/或第二apu资源。此时,一个校验块只需要一个apu资源,无需调用多个apu资源,避免了在执行一个写IO请求时快速消耗有限的apu资源,造成其他多数写IO请求预留apu资源失败的情况,进一步提升了RAID的存储性能。了RAID的存储性能。了RAID的存储性能。
【技术实现步骤摘要】
一种RAID的资源分配方法、装置、设备及介质
[0001]本申请涉及数据传输
,特别是涉及一种RAID的资源分配方法、装置、设备及介质。
技术介绍
[0002]在科技飞速发展的时代,存储技术也经历了不断的革新。数据的安全可靠性和存储性能已成为大型企业衡量存储设备重要指标。独立冗余磁盘阵列(Redundant Arrays of Independent Disks,RAID)常用的设备一般分为DRAID5和DRAID6。其中DRAID5中一个条带(具有条带编号,条带编号可以表示为Stridenumber)具有数据块d和校验块p,允许一个数据块上的数据丢失。DRAID6中一个条带由数据块d和校验块p和校验块q组成,允许同时两块数据块上的数据丢失。当向磁盘发起写IO请求时,为保障数据安全性需要利用apu资源(非易失内存:hardpage,apucontext等等),以防止掉电数据丢失。服务器下发写IO请求后,会先将要写入的数据写到hardpage中,然后用apucontext资源记录本次写请求的信息(写请求信息一般包括:条带编号,分块编号,内存信息等等),然后再将数据落盘,落盘成功后,再释放apucontext资源,若发生掉电等故障,在apucontext和hardpage中存储的信息不会丢失,只需要重新从apucontext获取写IO请求对应的信息,并发起写IO请求,然而apu资源具有有限性,在写IO请求过程中需要申请多个apucontext资源,其中中间校验数据paritydelta与数据块d共用一个apucontext资源,计算新校验块p和新校验块q时,均需要含有paritydelta信息的apucontext资源,所以计算新校验块也需要拷贝paritydelta信息至多个校验块的apucontext资源中,具体为当校验块有1个时,拷贝paritydelta信息至1个校验块的apucontext资源;当校验块有2个时,拷贝paritydelta信息至2个校验块的apucontext资源。此时,可以明显看出。在执行一个写IO请求时会快速消耗有限的apu资源,造成其他多数写IO请求预留apu资源失败,以进行等待的情况,此时也对存储性能造成一定的影响。
[0003]鉴于上述存在的问题,寻求如何提升RAID的存储性能是本领域技术人员竭力解决的问题。
技术实现思路
[0004]本申请的目的是提供一种RAID的资源分配方法、装置、设备及介质,用于提升RAID的存储性能。
[0005]为解决上述技术问题,本申请提供一种RAID的资源分配方法,包括:
[0006]当接收到写IO请求时,分配第一apu资源给写IO请求对应的数据块,其中,apu资源至少包括hardpage和apucontext;
[0007]传输写IO请求对应的数据至第一apu资源对应的hardpage,并将写IO请求对应的写IO信息存储于第一apu资源对应的apucontext中;
[0008]获取上一个写IO请求对应的数据并根据写IO请求对应的数据生成中间校验值,其
中,中间校验值存储于校验块;
[0009]分配第二apu资源给中间校验值,并传输中间校验值至第二apu资源对应的hardpage,将校验块对应的写IO信息存储于第二apu资源对应的apucontext中;
[0010]根据数据块和/或校验块的落盘情况,释放第一apu资源和/或第二apu资源。
[0011]优选地,还包括:
[0012]利用sio_flages标识对数据块和校验块进行标记。
[0013]优选地,当数据块完成落盘时,释放第一apu资源和/或第二apu资源包括:
[0014]取消数据块对应的sio_flages标识并释放第一apu资源;
[0015]查询并判断校验块对应的sio_flages标识是否存在;
[0016]若否,则释放第二apu资源;
[0017]若是,则不释放第二apu资源。
[0018]优选地,当校验块完成落盘时,释放第一apu资源和/或第二apu资源包括:
[0019]取消校验块对应的sio_flages标识并释放第二apu资源。
[0020]优选地,在传输中间校验值至第二apu资源对应的hardpage之后,还包括:
[0021]生成hardpage对应的页表,页表存储于第二apu资源对应的apucontext中,用于管理hardpage。
[0022]优选地,在传输写IO请求对应的数据至第一apu资源对应的hardpage之后,还包括:
[0023]生成hardpage对应的页表,页表存储于第一apu资源对应的apucontext中,用于管理hardpage。
[0024]优选地,在接收到写IO请求之前,还包括:
[0025]实时监控空闲的apu资源,以便于分配apu资源给写IO请求对应的数据块。
[0026]为解决上述技术问题,本申请还提供了一种RAID的资源分配装置,包括:
[0027]第一分配模块,用于当接收到写IO请求时,分配第一apu资源给写IO请求对应的数据块,其中,apu资源至少包括hardpage和apucontext;
[0028]传输模块,用于传输写IO请求对应的数据至第一apu资源对应的hardpage,并将写IO请求对应的写IO信息存储于第一apu资源对应的apucontext中;
[0029]获取并生成模块,用于获取上一个写IO请求对应的数据并根据写IO请求对应的数据生成中间校验值,其中,中间校验值存储于校验块;
[0030]第二分配模块,用于分配第二apu资源给中间校验值,并传输中间校验值至第二apu资源对应的hardpage,将校验块对应的写IO信息存储于第二apu资源对应的apucontext中;
[0031]释放模块,用于根据数据块和/或校验块的落盘情况,释放第一apu资源和/或第二apu资源。
[0032]此外,该装置还设置有以下模块,具体为:
[0033]优选地,还包括:
[0034]标记模块,用于利用sio_flages标识对数据块和校验块进行标记。
[0035]优选地,当数据块完成落盘时,释放第一apu资源和/或第二apu资源包括:
[0036]第一取消并释放模块,用于取消数据块对应的sio_flages标识并释放第一apu资
源;
[0037]查询并判断模块,用于查询并判断校验块对应的sio_flages标识是否存在;
[0038]若否,则释放第二apu资源;
[0039]若是,则不释放第二apu资源。
[0040]优选地,当校验块完成落盘时,释放第一apu资源和/或第二apu资源包括:
[0041]第二取消并释放模块,用于取消校验块对应的sio_flages标识并释放第二apu资源。
[0042]优选地,在传输中间本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种RAID的资源分配方法,其特征在于,包括:当接收到写IO请求时,分配第一apu资源给所述写IO请求对应的数据块,其中,所述apu资源至少包括hardpage和apucontext;传输所述写IO请求对应的数据至所述第一apu资源对应的hardpage,并将所述写IO请求对应的写IO信息存储于所述第一apu资源对应的apucontext中;获取上一个写IO请求对应的数据并根据所述写IO请求对应的数据生成中间校验值,其中,所述中间校验值存储于校验块;分配第二apu资源给所述中间校验值,并传输所述中间校验值至所述第二apu资源对应的hardpage,将所述校验块对应的写IO信息存储于所述第二apu资源对应的apucontext中;根据所述数据块和/或所述校验块的落盘情况,释放所述第一apu资源和/或所述第二apu资源。2.根据权利要求1所述的RAID的资源分配方法,其特征在于,还包括:利用sio_flages标识对所述数据块和所述校验块进行标记。3.根据权利要求2所述的RAID的资源分配方法,其特征在于,当所述数据块完成落盘时,所述释放所述第一apu资源和/或所述第二apu资源包括:取消所述数据块对应的所述sio_flages标识并释放所述第一apu资源;查询并判断所述校验块对应的所述sio_flages标识是否存在;若否,则释放所述第二apu资源;若是,则不释放所述第二apu资源。4.根据权利要求1所述的RAID的资源分配方法,其特征在于,当所述校验块完成落盘时,所述释放所述第一apu资源和/或所述第二apu资源包括:取消所述校验块对应的所述sio_flages标识并释放所述第二apu资源。5.根据权利要求1所述的RAID的资源分配方法,其特征在于,在所述传输所述中间校验值至所述第二apu资源对应的hardpage之后,还包括:生成所述hardpage对应的页表,所述页表存储于所述第二apu资源对应的apucontext中,用于管理所述...
【专利技术属性】
技术研发人员:梁欣玲,邸忠辉,孙昊,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。