System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及数据存储,特别涉及一种缓存管理的方法、装置、设备和存储介质。
技术介绍
1、在目前存储和计算分离架构的场景下,当计算设备面临大型的分析型请求时,需要通过网络将数据传输到计算设备才能进行后续处理。大量数据传输的网络开销比较大,网络输入输出(input output,io)成为了计算性能瓶颈。虽然计算设备内存中已有缓存(buffer)用于缓存数据,但是通常缓存空间有限,对于大量数据的场景起到的加速效果并不明显。随着大容量存储设备的广泛使用,计算设备中固态硬盘(solid state disk,ssd)等大容量存储设备被用来扩充缓存容量,提升缓存命中率,从而减少网络io次数,但是多设备的缓存系统也必然带来管理复杂性,因此,需要提供一种多设备的缓存管理方法。
技术实现思路
1、本公开提供了一种缓存管理的方法、装置、设备和存储介质,能够对缓存系统进行管理,技术方案如下。
2、第一方面,本公开提供了一种缓存管理的方法,该方法应用于缓存系统,该缓存系统包括n个缓存层,该n个缓存层中第i+1层的输入输出(input output,io)速度低于第i层的io速度,i为正整数,且小于n,该n个缓存层中每层包括冷区和热区,n大于或等于2,该方法包括:在数据加入该缓存系统时,将该数据以缓存块形式存储在第1层的冷区;在第i层的冷区中剩余缓存空间不足的情况下,采用先进先出机制,将第i层的冷区中的缓存块向第i+1层的冷区移动;对于第2层至第n层中每层的冷区,在该冷区中第一缓存块为热数据的情
3、本公开所示的方案中,缓存系统包括n个缓存层,n个缓存层的io速度不相同,每个缓存层包括冷区和热区,n个缓存层中的缓存块能够基于当前的工况,自适应的在缓存层之间移动以及在同层的冷区和热区中进行移动,使得在变化的工况中也能有很好的缓存命中效果。
4、在一种可选的方式中,该方法还包括:对于该n个缓存层中每层的热区,若该热区中第二缓存块被命中,则将第二缓存块的逻辑信息移动到该热区的游标之前,其中,在起始时间,该游标位于该热区的头部,该逻辑信息包括第二缓存块的存放地址信息;该对第i+1层的热区中被命中缓存块与第i层的热区中未被命中缓存块执行交换处理,包括:对第三缓存块与第四缓存块执行交换处理,其中,第三缓存块包括第i+1层的热区中游标之前的逻辑信息所属的缓存块,第四缓存块包括第i层的热区中游标之后的逻辑信息所属的缓存块。
5、本公开所示的方案,通过设置游标来区分热区中更热的缓存块,能够更便捷的管理缓存块。
6、在一种可选的方式中,对第三缓存块与第四缓存块执行交换处理,包括:若第三缓存块的数目小于第四缓存块的数目,则将第三缓存块移动到第i层的热区中存放第四缓存块的部分区域,将该部分区域存放的缓存块移动到第i+1层存放第三缓存块的区域;若第三缓存块的数目等于第四缓存块的数目,则将第三缓存块移动到第i层的热区中存放第四缓存块的区域,将第四缓存块移动到第i+1层存放第三缓存块的区域;若第三缓存块的数目大于第四缓存块的数目,则将第三缓存块中部分缓存块移动到第i层的热区中第四缓存块的存放区域,将第四缓存块移动到第i+1层存放该部分缓存块的区域。
7、在一种可选的方式中,对于第2层至第n层中每层的冷区,在该冷区中第一缓存块为热数据的情况下,将第一缓存块加入与该冷区属于同一层的热区,包括:对于第2层至第n层中每层的冷区,若该冷区中第一缓存块为热数据,则将第一缓存块的逻辑信息移动到与该冷区位于同一层的热区的游标之后,其中,第一缓存块的逻辑信息包括第一缓存块的存放地址信息。
8、本公开所示的方案中,在热区存在游标的情况下,在冷区的缓存块为热数据时,将该缓存块移动到热区中游标之后,以与热区中更热的缓存块进行区分。
9、在一种可选的方式中,该方法还包括:若第i+1层的冷区中的缓存块被命中,则将第1层至第i层中每层的冷区的缓存空间向热区扩张;若第i+1层的热区中的缓存块被命中,则将第1层至第i层中每层的热区的缓存空间向冷区扩张。
10、本公开所示的方案中,若第i+1层的冷区中的缓存块被命中,则说明第1层至第i层中冷区的空间可能不够大,所以将第1层至第i层中每层的冷区的缓存空间向热区扩张,使得上层有足够大的空间。若第i+1层的热区中的缓存块被命中,则说明第1层至第i层中热区的空间可能不够大,所以将第1层至第i层中每层的热区的缓存空间向热区扩张,使得上层有足够大的空间。这样,能够使得被命中概率高的缓存块尽可能存储在高io速度的层级中。
11、在一种可选的方式中,采用先进先出机制,将第i层的冷区中的缓存块向第i+1层的冷区移动时,获取第i层的冷区的逻辑信息序列尾部的逻辑信息,其中,该逻辑信息序列记录有第i层的冷区的缓存块的逻辑信息,且按照缓存块加入第i层的冷区的先后顺序从前向后排列;通过搬运线程,异步将该尾部的逻辑信息所属的第五缓存块,向第i+1层的冷区移动;更新第五缓存块的逻辑信息,将更新后的逻辑信息置于第i+1层的冷区的逻辑信息序列的头部。
12、本公开所示的方案中,异步对层级之间的缓存块进行搬运,能够在面对层级间io速度不同时,有效缓解高速io设备等待低速io设备的情况。
13、在一种可选的方式中,通过搬运线程,异步对第i+1层的热区中被命中缓存块与第i层的热区中未被命中缓存块执行交换处理。
14、本公开所示的方案中,异步对层级之间的缓存块进行搬运,能够在面对层级间io速度不同时,有效缓解高速io设备等待低速io设备的情况。
15、在一种可选的方式中,该方法还包括:在达到交换时间点时,确定满足该交换条件;或者,在该n个缓存层中,存在m层和n层,m层的热区中被命中缓存块的数目大于n层的热区中未被命中缓存块的数目,确定满足该交换条件,其中,该m层与该n层相邻,该m层的io速度低于该n层的io速度;或者,在该n个缓存层中,存在k层的热区中缓存块被命中次数大于次数阈值,且q层的热区中缓存块被命中次数小于该次数阈值,确定满足该交换条件,其中,该k层与该q层相邻,该k层的io速度低于该q层的io速度。
16、在一种可选的方式中,该方法还包括:在第一缓存块被命中时,确定第一缓存块为热数据。
17、本公开所示的方案中,由于冷区采用先进先出机制,并且新加入的缓存块首先被缓存至第1层,随着新缓存块的不断加入,更早加入缓存系统的缓存块将不断在同层冷区中向后移动,直至最先加入的缓存块会被移动到下一层,缓存块在逐渐向后移动,等同于时间上不断流逝,一个新缓存块由刚加入第1层到移动到第2层的冷区中时,已经在第1层上移动了一整个冷区的长度,如果该缓存块在第2层再次被命中,则该缓存块已经满足了经过一段时间再次访问的条件,被认定为热数据。这样,热数据为一段时间内有被访问,本文档来自技高网...
【技术保护点】
1.一种缓存管理的方法,其特征在于,所述方法应用于缓存系统,所述缓存系统包括n个缓存层,所述n个缓存层中第i+1层的输入输出IO速度低于第i层的IO速度,i为正整数,且小于n,所述n个缓存层中每层包括冷区和热区,n大于或等于2,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述对第三缓存块与第四缓存块执行交换处理,包括:
4.根据权利要求2或3所述的方法,其特征在于,所述对于第2层至第n层中每层的冷区,在所述冷区中第一缓存块为热数据的情况下,将所述第一缓存块移动到与所述冷区属于同一层的热区,包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5任一项所述的方法,其特征在于,所述采用先进先出机制,将所述第i层的冷区中的缓存块向所述第i+1层的冷区移动,包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,所述对所述第i+1层的热区中被命中缓存块与所述第i层的热区中未被命中缓存块执行交换处理
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1至9任一项所述的方法,其特征在于,所述第n层的传输带宽不低于网络带宽。
11.一种缓存管理的装置,其特征在于,所述装置应用于缓存系统,所述缓存系统包括n个缓存层,所述n个缓存层中第i+1层的输入输出IO速度低于第i层的IO速度,i为正整数,且小于n,所述n个缓存层中每层包括冷区和热区,n大于或等于2,所述装置包括:
12.根据权利要求11所述的装置,其特征在于,所述搬运模块,还用于:
13.根据权利要求12所述的装置,其特征在于,所述搬运模块,用于:
14.根据权利要求12或13所述的装置,其特征在于,所述搬运模块,用于:
15.根据权利要求11至14任一项所述的装置,其特征在于,所述搬运模块,还用于:
16.根据权利要求11至15任一项所述的装置,其特征在于,所述搬运模块,用于:
17.根据权利要求11至16任一项所述的装置,其特征在于,所述搬运模块,用于:
18.根据权利要求11至17任一项所述的装置,其特征在于,所述搬运模块,还用于:
19.根据权利要求11至18任一项所述的装置,其特征在于,所述搬运模块,还用于:
20.根据权利要求11至19任一项所述的装置,其特征在于,所述第n层的传输带宽不低于网络带宽。
21.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;
22.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备执行时,所述计算设备执行如权利要求1至10任一项所述的方法。
...【技术特征摘要】
1.一种缓存管理的方法,其特征在于,所述方法应用于缓存系统,所述缓存系统包括n个缓存层,所述n个缓存层中第i+1层的输入输出io速度低于第i层的io速度,i为正整数,且小于n,所述n个缓存层中每层包括冷区和热区,n大于或等于2,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述对第三缓存块与第四缓存块执行交换处理,包括:
4.根据权利要求2或3所述的方法,其特征在于,所述对于第2层至第n层中每层的冷区,在所述冷区中第一缓存块为热数据的情况下,将所述第一缓存块移动到与所述冷区属于同一层的热区,包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5任一项所述的方法,其特征在于,所述采用先进先出机制,将所述第i层的冷区中的缓存块向所述第i+1层的冷区移动,包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,所述对所述第i+1层的热区中被命中缓存块与所述第i层的热区中未被命中缓存块执行交换处理,包括:
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1至9任一项所述的方法,其特征在于,所述第n层的传输带宽不低于网络带宽。
11.一种缓存...
【专利技术属性】
技术研发人员:曾凯,秦晓明,唐宇轩,康楷晨,彭煜玮,
申请(专利权)人:华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。