System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及存储,特别是涉及一种存储系统的数据管理方法、装置、电子设备及存储介质。
技术介绍
1、随着存储系统的技术发展,存储系统已由单一的hdd系统发展成全闪存储系统或者混合存储系统,存储系统的管理方式也有简单的地址映射发展成复杂的元数据管理方式。元数据的管理方式已成为当前主流的存储系统数据管理形式。元数据管理方式也可以称为日志型的数据管理,存储系统会包含数据和元数据两种形式,数据指的是用户数据,元数据是用来记录数据存储位置信息的。采用元数据管理的存储系统当发生故障时,数据仍然会在上层采用聚合的方式减少反向元数据的占有量。反向元数据块是全闪存储系统必备的一种元数据,用于垃圾回收使用。由于采用聚合的形式,因此会导致存储的io响应时间变长,单控场景下性能下降非常严重。
2、在单控场景中,数据和元数据要合并下刷,不允许单独的下刷,这样可以保证一旦发生整机故障时,数据是可以恢复的。常见的聚合下刷方式一般会用一个超时定时器来进行超时控制,但是单控场景下由于cache被关闭主机下发的io的并发度并不高,因此无法达到快速凑满span的,导致单控的性能衰减严重。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高单控故障时存储性能的存储系统的数据管理方法、装置、电子设备及存储介质。
2、第一方面,提供一种存储系统的数据管理方法,所述存储系统包括两个工作节点,所述方法包括:
3、响应于接收到主机下发的输入输出信息,两个工作节点根据多个输入输出信
4、两个工作节点将所述第一下刷单元写入到所述主机中的磁盘;
5、响应于未接收到另一个工作节点的心跳信号,正常工作节点根据所述输入输出信息生成第二下刷单元,其中所述第二下刷单元包括一个第二反向元数据和一个用户数据块;
6、正常工作节点将所述第二下刷单元写入到所述磁盘并将所述第二下刷单元对应的写入记录记录到输入输出数据链表。
7、在其中一个实施例中,所述两个工作节点根据多个输入输出信息生成第一下刷单元包括:
8、确定所述输入输出信息的信息量是否达到信息指标;
9、若是,则根据所述信息指标对应的输入输出信息生成所述第一反向元数据和所述多个用户数据块;
10、将所述第一反向元数据和所述多个用户数据块封装成所述第一下刷单元;
11、若否,则确定所述工作节点对应的工作时间是否超过时间阈值。
12、在其中一个实施例中,所述确定所述工作节点对应的工作时间是否超过时间阈值包括:
13、若是,则根据已接收到的输入输出信息生成所述用户数据块和所述第一反向元数据;
14、将所述第一反向元数据和所述用户数据块封装成所述第一下刷单元;
15、若否,则继续等待接收所述主机下发的输入输出信息。
16、在其中一个实施例中,所述正常工作节点根据所述输入输出信息生成第二下刷单元包括:
17、响应于接收到所述主机下发的一个输入输出信息,根据所述一个输入输出信息生成所述一个用户数据块和所述第二反向元数据;
18、将所述第二反向元数据和所述一个用户数据块封装成所述第二下刷单元。
19、在其中一个实施例中,所述正常工作节点将所述第二下刷单元写入到所述磁盘并将所述第二下刷单元对应的写入记录记录到输入输出数据链表之后包括:
20、根据用户设置的扫描周期扫描所述输入输出数据链表并根据所述写入记录确定多个数据块地址;
21、确定所述多个数据块地址的地址数是否超过用户设置的地址数阈值;
22、若是,则根据所述多个数据块地址生成一个第三下刷单元并释放所述多个数据块地址对应的第二下刷单元;
23、若否,则继续扫描所述输入输出数据链表。
24、在其中一个实施例中,所述根据所述多个数据块地址生成一个第三下刷单元并释放所述多个数据块地址对应的第二下刷单元包括:
25、根据所述多个数据块地址获取所述多个用户数据块并清除所述多个用户数据块对应的多个第二反向元数据;
26、根据所述多个用户数据块生成第三反向元数据并将所述多个用户数据块和所述第三反向元数据封装成所述第三下刷单元;
27、将所述第三下刷单元重新写入到所述磁盘。
28、在其中一个实施例中,所述正常工作节点将所述第二下刷单元写入到所述磁盘并将所述第二下刷单元对应的写入记录记录到输入输出数据链表之后还包括:
29、响应于重新接收到所述心跳信号,所述正常工作节点扫描所述输入输出数据链表并根据所述写入记录确定数据块地址;
30、根据所述数据块地址生成所述第一下刷单元并释放所述数据块地址对应的第二下刷单元;
31、响应于接收到主机下发的输入输出信息,所述正常工作节点根据多个输入输出信息生成第一下刷单元。
32、另一方面,提供一种存储系统的数据管理装置,所述存储系统包括两个工作节点,所述装置包括:
33、所述两个工作节点,响应于接收到主机下发的输入输出信息,用于根据多个输入输出信息生成第一下刷单元,其中每个第一下刷单元包括一个第一反向元数据和多个用户数据块;
34、所述两个工作节点,还用于将所述第一下刷单元写入到所述主机中的磁盘;
35、正常工作节点,响应于确定另一个工作节点故障,用于根据所述输入输出信息生成第二下刷单元,其中所述第二下刷单元包括一个第二反向元数据和一个用户数据块;
36、所述正常工作节点,还用于将所述第二下刷单元写入到所述磁盘并将所述第二下刷单元对应的写入记录记录到输入输出数据链表。
37、再一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
38、响应于接收到主机下发的输入输出信息,两个工作节点根据多个输入输出信息生成第一下刷单元,其中每个第一下刷单元包括一个第一反向元数据和多个用户数据块;
39、两个工作节点将所述第一下刷单元写入到所述主机中的磁盘;
40、响应于未接收到另一个工作节点的心跳信号,正常工作节点根据所述输入输出信息生成第二下刷单元,其中所述第二下刷单元包括一个第二反向元数据和一个用户数据块;
41、正常工作节点将所述第二下刷单元写入到所述磁盘并将所述第二下刷单元对应的写入记录记录到输入输出数据链表。
42、在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
43、所述两个工作节点根据多个输入输出信息生成第一下刷单元包括:
44、确定所述输入输出信息的信息量是否达到信息指标;
45、若是,则根据所述信息指标对应的输入输出信息生成所述第一反向元数据和所本文档来自技高网...
【技术保护点】
1.一种存储系统的数据管理方法,所述存储系统包括两个工作节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述两个工作节点根据多个输入输出信息生成第一下刷单元包括:
3.根据权利要求2所述的方法,其特征在于,所述确定所述工作节点对应的工作时间是否超过时间阈值包括:
4.根据权利要求1所述的方法,其特征在于,所述正常工作节点根据所述输入输出信息生成第二下刷单元包括:
5.根据权利要求1所述的方法,其特征在于,所述正常工作节点将所述第二下刷单元写入到所述磁盘并将所述第二下刷单元对应的写入记录记录到输入输出数据链表之后包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述多个数据块地址生成一个第三下刷单元并释放所述多个数据块地址对应的第二下刷单元包括:
7.根据权利要求1所述的方法,其特征在于,所述正常工作节点将所述第二下刷单元写入到所述磁盘并将所述第二下刷单元对应的写入记录记录到输入输出数据链表之后还包括:
8.一种存储系统的数据管理装置,所述存储系统包括两个工作节点,所述装置包
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种存储系统的数据管理方法,所述存储系统包括两个工作节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述两个工作节点根据多个输入输出信息生成第一下刷单元包括:
3.根据权利要求2所述的方法,其特征在于,所述确定所述工作节点对应的工作时间是否超过时间阈值包括:
4.根据权利要求1所述的方法,其特征在于,所述正常工作节点根据所述输入输出信息生成第二下刷单元包括:
5.根据权利要求1所述的方法,其特征在于,所述正常工作节点将所述第二下刷单元写入到所述磁盘并将所述第二下刷单元对应的写入记录记录到输入输出数据链表之后包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述多个数据块地...
【专利技术属性】
技术研发人员:王艳清,徐洪志,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。