System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据管理方法、存储系统及相关设备技术方案_技高网

一种数据管理方法、存储系统及相关设备技术方案

技术编号:40699881 阅读:4 留言:0更新日期:2024-03-22 10:57
本申请提供了一种数据管理方法、存储系统及相关设备,该方法包括以下步骤:管理节点维护有用于存储各个节点状态信息的状态信息库,使得作为主节点的第一节点进行主从切换时,管理节点可以将第一节点的状态信息修改为第一状态,然后向第一节点发送主从切换请求,指示第一节点切换为从节点,确定第一节点切换为从节点的情况下,更新第一节点的状态信息为第二状态,由于该状态信息库被客户端订阅,因此客户端可以及时获知第一节点是否处于主备切换,避免由于主从切换导致数据写入失败或者数据丢失,解决了主从切换过程中的短暂不可用问题。

【技术实现步骤摘要】

本申请涉及存储领域,尤其涉及一种数据管理方法、存储系统及相关设备


技术介绍

1、主从切换技术是一种保证系统高可用性的重要手段,在数据库系统、服务器系统、网络系统、存储系统等分布式系统中应用广泛,主从切换指的是在主节点故障或者升级时,从节点接管主节点的工作,以保证系统的持续运行和稳定性。

2、但是,主从切换过程中,主节点需要进行重启,此过程中无法处理用户的数据写请求,系统会出现短暂不可用的情况,降低用户的使用体验。


技术实现思路

1、本申请提供了一种数据管理方法、存储系统及相关设备,用于解决主从切换过程中系统会出现短暂不可用的情况,提高用户的使用体验。

2、第一方面,提供了一种数据管理方法,该方法可应用于管理节点侧,包括以下步骤:管理节点将状态信息库中的第一节点的状态信息更新为第一状态,其中,第一节点是主节点,状态信息库用于供客户端通过订阅的方式获知第一节点的状态信息,管理节点向第一节点发送主从切换请求,管理节点确定第一节点切换为从节点的情况下,更新第一节点的状态信息为第二状态。

3、实施第一方面描述的方法,管理节点维护有用于存储各个节点状态信息的状态信息库,作为主节点的第一节点进行主从切换时,管理节点可以将第一节点的状态信息修改为第一状态,然后向第一节点发送主从切换请求,指示第一节点切换为从节点,确定第一节点切换为从节点的情况下,更新第一节点的状态信息为第二状态,由于该状态信息库被客户端订阅,因此客户端可以及时获知第一节点是否处于主备切换,避免由于主从切换导致数据写入失败或者数据丢失,解决了主从切换过程中的短暂不可用问题。

4、在一可能的实现方式中,状态信息为第一状态的情况下客户端通过除第一节点以外的其他节点进行数据读写。其中,第一节点是主节点,状态信息库用于供客户端通过订阅的方式获知第一节点的状态信息。在第一节点的状态信息是第一状态时,客户端接收到用户发送的向第一节点写入数据的写入请求时,可以向用户返回第一节点当前无法读写的说明,或者,将数据写入其他节点中,等第一节点和第二节点完成主从切换后,将数据再写入此时作为主节点的第二节点,上述举例用于说明,本申请不作具体限定。

5、可选地,状态信息库可以基于分布式键值存储系统(distributed key-valuestore,etcd)实现,etcd使用raft算法来保证数据的一致性和可靠性,提供了简单的api使得开发人员可以轻松地与etcd进行交互,使得方案的可行性更高。客户端可以通过corvus实现订阅状态信息库的功能,其中,corvus是一个缓存系统,可以存储和管理数据,客户端可以通过redis协议与corvus进行交互,实现数据的读写管理。简单来说,用户的读写请求都经过corvus,然后再发送至对应的节点进行数据读写,corvus订阅状态信息库之后,可以根据状态信息,对读写请求进行处理,使得第一节点在进行主从切换时,与第一节点相关的写请求将不再进行处理,或者写入其他节点,避免由于主从切换导致数据写入失败或者数据丢失的问题,提高用户的使用体验。

6、上述实现方式,通过客户端订阅状态信息库,及时获知第一节点的工作状态,这样在第一节点进行主从切换时,客户端可以获知第一节点当前无法处理数据写请求,此时客户端可以选择向用户反馈第一节点无法处理写请求的信息,也可以将数据写入其他节点,避免由于主从切换导致数据写入失败或者数据丢失的问题,提高用户的使用体验。

7、在一可能的实现方式中,第一节点是主节点的情况下,第二节点是第一节点的从节点,主从切换请求用于指示第一节点将未同步的目标数据同步至第二节点后,第一节点切换为第二节点的从节点,第二节点切换为主节点。

8、其中,第一节点和第二节点进行数据同步时,可以通过分片传输的方式进行数据同步,也就是将第一节点中的目标数据通过数据分片的形式传输至第二节点,将目标数据分为多个分片数据,将分片数据传输给第二节点,在传输过程中,可能会出现网络延迟、硬件故障等问题导致部分分片数据没能及时传输至从节点,因此可以周期性或者定期检查每个分片数据的分片信息,确定哪些分片数据已经传输到第二节点,哪些分片数据还需要重新传输,通过定期检查分片信息可以帮助第一节点确定数据差异并采取相应的措施来保证数据的准确性和完整性。

9、上述实现方式,主节点用于处理用户的写请求,从节点用于处理用户的读请求,从节点通过异步存储的方式实现与主节点的数据同步,因此数据可能在写入主节点一段时间后,才能被存储于从节点中。因此在主从切换时,可能有一部分目标数据还未同步至从节点,如果直接进行主从切换,可能会导致目标数据丢失,降低用户的使用体验。本申请通过在主从切换之前将第一节点中还未同步的目标数据同步给第二节点,可以避免目标数据丢失的问题,提高用户的使用体验。

10、在一可能的实现方式中,第一节点可以确定目标数据传输至第二节点之后,重启第一节点和第二节点,重启后的第一节点切换为从节点,重启后的第二节点切换为主节点。

11、可选地,第一节点可以周期性或者定期检查每个分片数据的分片信息,确定第一节点中的数据与第二节点中的数据之间的差异(difference,diff)是否低于阈值,在低于阈值的情况下,开始进行节点重启。上述阈值可以是默认值,也可以是客户端向用户获取的值,比如在用户输入第一节点的升级请求时获取的值,当然也可以是其他时间获取,本申请不作具体限定。

12、可选地,第一节点可以使用从节点的版本数据重启第一节点,使得重启后的第一节点切换为从节点,第二节点可以使用主节点的版本数据重启第二节点,使得重启后的第二节点切换为主节点。

13、需要说明的,第一节点和第二节点使用的版本数据可以是管理节点下发的版本数据,可以是管理节点在获取到主从切换请求之后下发的,也可以是管理节点获取主从切换请求并更新完状态信息库之后下发的,还可以是在管理节点向第一节点和第二节点发送主从切换请求时下发的,本申请不作具体限定。

14、具体实现中,上述版本数据可以是二进制版本文件,该版本数据包括但不限于主从切换所需的程序代码、数据库文件、配置文件、依赖库文件、脚本文件等等,其中,数据库文件包括程序代码需要使用的数据库的结构定义、数据表、索引等信息,配置文件包括程序代码的参数设置、日志配置、数据库连接信息等等,依赖库文件包括一些程序代码依赖的第三方库文件,脚本文件包括程序代码所需的数据库初始化、环境脚本变量设置等脚本文件,应理解,上述内容用于举例说明,版本数据可包括更多或者更少的内容,本申请不作具体限定。

15、上述实现方式,在第一节点和第二节点进行主从切换时,先对第一节点和第二节点内未同步的目标数据进行同步,使得第一节点和第二节点不会因为主从切换造成数据丢失,提高用户的使用体验。

16、在一可能的实现方式中,在管理节点将状态信息库中的第一节点的状态信息更新为第一状态之前,方法还包括:管理节点在接收到用户发送的第一节点的升级请本文档来自技高网...

【技术保护点】

1.一种数据管理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述状态信息为第一状态的情况下所述客户端通过除所述第一节点以外的其他节点进行数据读写。

3.根据权利要求2所述的方法,其特征在于,所述第一节点是主节点的情况下,第二节点是所述第一节点的从节点,所述主从切换请求用于指示所述第一节点将未同步的目标数据同步至所述第二节点后,所述第一节点切换为所述第二节点的从节点,所述第二节点切换为主节点。

4.根据权利要求1至3任一权利要求所述的方法,其特征在于,在所述管理节点将状态信息库中的第一节点的状态信息更新为第一状态之前,所述方法还包括:

5.根据权利要求1至3任一权利要求所述的方法,其特征在于,所述管理节点将状态信息库中的第一节点的状态信息更新为第一状态之前,所述方法还包括:

6.一种数据管理方法,其特征在于,所述方法包括:

7.根据权利要求6所述的方法,其特征在于,所述主从切换请求是所述管理节点将状态信息库中所述第一节点的状态信息修改为第一状态之后生成的,所述状态信息库用于供客户端通过订阅的方式获知所述第一节点的状态信息,在所述状态信息为第一状态的情况下所述客户端通过除所述第一节点以外的其他节点进行数据读写。

8.根据权利要求7所述的方法,其特征在于,所述第一节点切换为从节点之后,所述方法还包括:

9.根据权利要求6至8任一权利要求所述的方法,其特征在于,所述主从切换请求是所述管理节点在接收到用户发送的第一节点的升级请求之后生成的。

10.根据权利要求6至8任一权利要求所述的方法,其特征在于,所述主从切换请求是所述管理节点获取所述第一节点的故障信息之后生成的。

11.一种管理节点,其特征在于,所述管理节点包括:

12.根据权利要求11所述的节点,其特征在于,在所述状态信息为第一状态的情况下所述客户端通过除所述第一节点以外的其他节点进行数据读写。

13.根据权利要求12所述的节点,其特征在于,所述第一节点是主节点的情况下,第二节点是所述第一节点的从节点,所述主从切换请求用于指示所述第一节点将未同步的目标数据同步至所述第二节点后,所述第一节点切换为从节点,所述第二节点切换为主节点。

14.根据权利要求11至13任一权利要求所述的节点,其特征在于,所述管理节点还包括获取单元,所述获取单元用于在所述管理节点将状态信息库中的第一节点的状态信息更新为第一状态之前,接收用户发送的第一节点的升级请求。

15.根据权利要求11至13任一权利要求所述的节点,其特征在于,所述管理节点还包括获取单元,所述获取单元用于在所述管理节点将状态信息库中的第一节点的状态信息更新为第一状态之前,获取所述第一节点的故障信息。

16.一种计算节点,其特征在于,所述计算节点包括:

17.根据权利要求16所述的节点,其特征在于,所述主从切换请求是所述管理节点将状态信息库中所述计算节点的状态信息修改为第一状态之后生成的,所述状态信息库用于供客户端通过订阅的方式获知所述计算节点的状态信息,在所述状态信息为第一状态的情况下所述客户端通过除所述计算节点以外的其他节点进行数据读写。

18.根据权利要求17所述的节点,其特征在于,所述切换单元还用于在将所述计算节点切换为从节点之后,向所述管理节点发送主从切换完成的信息,所述主从切换完成的信息用于指示所述管理节点更新所述状态信息库,将所述计算节点的状态信息修改为第二状态。

19.根据权利要求16至18任一权利要求所述的节点,其特征在于,所述主从切换请求是所述管理节点在接收到用户发送的计算节点的升级请求之后生成的。

20.根据权利要求16至18任一权利要求所述的节点,其特征在于,所述主从切换请求是所述管理节点获取所述计算节点的故障信息之后生成的。

21.一种存储系统,其特征在于,所述存储系统包括管理节点和第一节点,其中,所述管理节点实现如权利要求1至5任一权利要求所述的方法,所述第一节点实现如权利要求6至10任一权利要求所述的方法。

22.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以使得所述计算设备实现如权利要求1至5或者6至10任一权利要求所述的方法。

23.一种计算设备集群,其特征在于,包括至少一个计算设备,所述至少一个计算设备中的每个计算设备包括处理器和存储器,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群实现如权...

【技术特征摘要】

1.一种数据管理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述状态信息为第一状态的情况下所述客户端通过除所述第一节点以外的其他节点进行数据读写。

3.根据权利要求2所述的方法,其特征在于,所述第一节点是主节点的情况下,第二节点是所述第一节点的从节点,所述主从切换请求用于指示所述第一节点将未同步的目标数据同步至所述第二节点后,所述第一节点切换为所述第二节点的从节点,所述第二节点切换为主节点。

4.根据权利要求1至3任一权利要求所述的方法,其特征在于,在所述管理节点将状态信息库中的第一节点的状态信息更新为第一状态之前,所述方法还包括:

5.根据权利要求1至3任一权利要求所述的方法,其特征在于,所述管理节点将状态信息库中的第一节点的状态信息更新为第一状态之前,所述方法还包括:

6.一种数据管理方法,其特征在于,所述方法包括:

7.根据权利要求6所述的方法,其特征在于,所述主从切换请求是所述管理节点将状态信息库中所述第一节点的状态信息修改为第一状态之后生成的,所述状态信息库用于供客户端通过订阅的方式获知所述第一节点的状态信息,在所述状态信息为第一状态的情况下所述客户端通过除所述第一节点以外的其他节点进行数据读写。

8.根据权利要求7所述的方法,其特征在于,所述第一节点切换为从节点之后,所述方法还包括:

9.根据权利要求6至8任一权利要求所述的方法,其特征在于,所述主从切换请求是所述管理节点在接收到用户发送的第一节点的升级请求之后生成的。

10.根据权利要求6至8任一权利要求所述的方法,其特征在于,所述主从切换请求是所述管理节点获取所述第一节点的故障信息之后生成的。

11.一种管理节点,其特征在于,所述管理节点包括:

12.根据权利要求11所述的节点,其特征在于,在所述状态信息为第一状态的情况下所述客户端通过除所述第一节点以外的其他节点进行数据读写。

13.根据权利要求12所述的节点,其特征在于,所述第一节点是主节点的情况下,第二节点是所述第一节点的从节点,所述主从切换请求用于指示所述第一节点将未同步的目标数据同步至所述第二节点后,所述第一节点切换为从节点,所述第二节点切换为主节点。

14.根据权利要求11至13任一权利要求所述的节点,其特征在于,所述管理节点还包括获取单元,所述获取单元用于在所...

【专利技术属性】
技术研发人员:毛琦丁俊杰宋佳伟张迪
申请(专利权)人:行吟信息科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1