System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及存储,特别是涉及一种元数据存储方法、装置、设备及可读存储介质。
技术介绍
1、在存储系统中,精简卷所实际占用的存储空间会随着用户实际使用容量的增加而增长、相较于全分配卷所占用的存储空间更加灵活。
2、精简卷除了需要存储用户数据外、还产生和存储元数据、用于将用户可用空间地址和卷实际占用空间地址做地址映射;元数据也会存在硬盘中,但为防止访问硬盘中的元数据成为性能瓶颈、需要将经常用到的或新产生的元数据缓存在内存中,元数据对正确找到用户数据至关重要。
3、元数据镜像机制可对位于内存中的元数据做冗余保护,即在一个存储服务器中有两个及以上控制器处于正常提供服务的状态时、每两个控制器处于结队状态,在写入用户数据过程中对一个控制器节点的元数据的新增/修改操作会通过事务方式同步到与之结队的控制器节点以提供元数据备份。
4、当有节点发生故障无法继续提供服务时、与之结队的节点就会落单,如果当前能正常在线提供服务的节点数量大于等于两个,则会有新的节点与发生故障节点的结队节点重新组队结成新的镜像对,当有此前故障节点发生恢复重新加入集群时、该节点也会与某个当前在线节点结成镜像对,这个过程叫做重镜像。
5、由于元数据保存着卷的用户可用空间地址到真实空间地址的映射、对查找用户数据至关重要、如果元数据丢失可能会导致一片用户数据的丢失,元数据镜像可以提供对元数据保护的同时尽可能的减少对性能的影响。但是,当一个镜像对的两个控制器都同时故障时,即使系统中还有多个存活节点,整个系统也无法再继续处理业务了,导致存储
6、综上所述,如何有效地解决提高存储系统的业务可靠性等问题,是目前本领域技术人员急需解决的技术问题。
技术实现思路
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、元数据更新模块,用于响应读写请求,确定出待镜像同步的元数据记录;
46、同步节点确定模块,用于从与所述读写请求对应的元数据操作事务描述结构中,读取待同步节点集合;其中,所述待同步节点集合中的节点与本地节点同属于一个镜像组;
47、消息发送模块,用于向所述待同步节点集合中的节点发送元数据操作镜像;
48、应答管理模块,用于接收节点反馈的应答消息后,从所述元数据操作事务描述结构中的未应答节点集合中,删除已应答节点;
49、故障管理模块,用于确定节点故障的情况下,在所述元数据操作事务描述结构中的故障丢失节点集合添加故障节点;
50、同步完成确定模块,用于在所述未应答节点集合为空,或所述未应答节点集合与所述故障丢失节点集合相等的情况下,确定所述元数据记录在所述镜像组中同步完成。
51、一种电子设备本文档来自技高网...
【技术保护点】
1.一种元数据存储方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,向所述待同步节点集合中的节点发送元数据操作镜像,包括:
3.根据权利要求1所述的方法,其特征在于,在响应读写请求,确定出待镜像同步的元数据记录之前,还包括:
4.根据权利要求1所述的方法,其特征在于,包括:
5.根据权利要求1所述的方法,其特征在于,向所述待同步节点集合中的节点发送元数据操作镜像,包括:
6.根据权利要求5所述的方法,其特征在于,确定节点故障的情况下,在所述元数据操作事务描述结构中的故障丢失节点集合添加故障节点,包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,结合所述未应答节点集合和所述故障丢失节点集合,进行所述元数据记录在所述镜像组中同步完成确认,包括:
8.一种元数据存储装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项
...【技术特征摘要】
1.一种元数据存储方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,向所述待同步节点集合中的节点发送元数据操作镜像,包括:
3.根据权利要求1所述的方法,其特征在于,在响应读写请求,确定出待镜像同步的元数据记录之前,还包括:
4.根据权利要求1所述的方法,其特征在于,包括:
5.根据权利要求1所述的方法,其特征在于,向所述待同步节点集合中的节点发送元数据操作镜像,包括:
6.根据权利要求5所述的方法,其特征在于,确定节点故障的情...
【专利技术属性】
技术研发人员:朱宇宸,刚亚州,王艳清,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。