一种分布式存储系统的服务节点切换方法和装置制造方法及图纸

技术编号:15651747 阅读:208 留言:0更新日期:2017-06-17 04:58
本申请实施例提供了一种分布式存储系统的服务节点切换方法,服务节点包括当前服务节点和备用服务节点,所述方法包括:监控所述服务节点对服务请求的响应状态;若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。通过服务节点检查逻辑,针对影响服务节点响应状态的多方面因素进行逻辑判断和数据统计,在遇到硬件故障或软件缺陷带来的服务超时、服务不可用、服务异常等的情况时,实现服务节点的自主切换和恢复,增强了服务可用性。

【技术实现步骤摘要】
一种分布式存储系统的服务节点切换方法和装置
本申请涉及互联网
,特别是涉及一种分布式存储系统的服务节点切换方法和一种分布式存储系统的服务节点切换装置。
技术介绍
在当前大规模分布式存储系统中,为了实现集中权限认证和配额控制,主要采用集中式元数据管理的方法,即将整个系统中所有数据的元数据集中在若干个元数据服务节点进行存储。这样的架构中元数据服务节点的可用性直接关系到整个系统的可用性,因此在分布式存储系统中通常通过冗余的方式提升元数据服务节点的可用性。目前提升元数据服务节点可用性的主要有两种方法,例如由元数据服务(NameNode)通过HA的方式(HighAvailablity,高可用性),利用备用服务节点(Slave节点)切换掉异常状态的当前服务节点(Primary节点);或者在例如阿里云飞天分布式系统和盘古文件存储系统使用Paxos协议实现服务节点的切换。上述两种服务节点切换方法中,仅仅在由于服务器宕机、服务进程重启、网络断开等情况而导致的当前服务节点无法正常向备用服务节点发送心跳确认的情况下,才会触发服务节点的切换处理,在其他的例如双工网络单路断开、部分网络协议异常、磁盘响应慢等的异常情况下,由于锁维护机制和心跳机制,备用服务节点还是会认为当前服务节点处于正常的工作状态,而不会触发服务节点的切换处理。然而,实际上处于异常状态的当前服务节点会导致响应用户的服务请求超时,无法提供完整的元数据,无法将日志存储在共享存储设备上等的问题,实际上已经影响到当前服务节点向用户提供的服务质量,但目前的服务节点切换方法无法相应地恢复正常和稳定的元数据服务。因此,目前的服务节点切换方法存在元数据服务恢复效率较低,影响了用户体验的问题。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种分布式存储系统的服务节点切换方法和相应的一种分布式存储系统的服务节点切换装置。为了解决上述问题,本申请公开了一种分布式存储系统的服务节点切换方法,所述服务节点包括当前服务节点和备用服务节点,所述方法包括:监控所述服务节点对服务请求的响应状态;若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。可选地,所述方法还包括:若某个服务节点的响应状态异常,则对所述服务节点添加用于标记不参与当前服务节点的切换处理的异常节点标识。可选地,所述触发当前服务节点的切换处理的步骤包括:触发选取至少一个没有携带所述异常节点标识的服务节点作为新的当前服务节点,替换响应状态异常的当前服务节点。可选地,所述监控所述服务节点对服务请求的响应状态的步骤包括:通过多线程监控所述服务节点对服务请求的响应状态。可选地,所述通过多线程监控所述服务节点对服务请求的响应状态的步骤包括:通过第一检查线程获取所述服务节点从服务请求队列中最近取出服务请求的时间点T1,并将与当前时间点N1的时间间隔D1作为响应时间;判断所述响应时间是否大于第一预设响应时间阈值,若是,则确定所述服务节点的响应状态异常。可选地,所述通过多线程监控所述服务节点对服务请求的响应状态的步骤包括:通过第二检查线程判断所述服务节点的存储单元是否携带存储响应超时标识;若是,则将所述存储响应超时标识对应的标识添加时间点T2与当前时间点N2的时间间隔D2作为所述响应时间,若所述响应时间大于第二预设响应时间阈值,则确定所述服务节点的响应状态异常。可选地,在所述通过多线程监控所述服务节点对服务请求的响应状态的步骤之前,所述方法还包括:通过日志记录线程获取所述服务节点的存储单元写日志的起止时间,并将所述起止时间的时间间隔作为存储单元响应时间;判断所述存储单元响应时间是否大于第三预设响应时间阈值,若是,则针对所述存储单元添加所述存储响应超时标识,并相应记录添加标识的时间点T2。可选地,所述方法还包括:若所述存储单元响应时间小于所述第三预设响应时间阈值、且所述存储单元已经携带有所述存储响应超时标识,则删除所述存储响应超时标识。可选地,在所述监控所述服务节点对服务请求的响应状态的步骤之前,所述方法还包括:将对至少一个所述服务节点的监控结果注册到监控结果注册列表;所述监控所述服务节点对服务请求的响应状态的步骤为:在所述监控结果注册列表的起始位置轮询注册的监控结果。可选地,所述方法还包括:将所述多线程的个数除以所述预设响应时间阈值的结果作为监控所述服务节点响应状态的频率。为了解决上述问题,本申请还公开了一种分布式存储系统的服务节点切换装置,所述服务节点包括当前服务节点和备用服务节点,所述装置包括:服务节点响应状态监控模块,用于监控所述服务节点对服务请求的响应状态;当前服务节点切换触发模块,用于若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。可选地,所述装置还包括:异常节点标识添加模块,用于若某个服务节点的响应状态异常,则对所述服务节点添加用于标记不参与当前服务节点的切换处理的异常节点标识。可选地,所述当前服务节点切换触发模块包括:触发选取子模块,用于触发选取至少一个没有携带所述异常节点标识的服务节点作为新的当前服务节点,替换响应状态异常的当前服务节点。可选地,所述服务节点响应状态监控模块包括:多线程监控子模块,用于通过多线程监控所述服务节点对服务请求的响应状态。可选地,所述多线程监控子模块包括:第一检查线程子单元,用于通过第一检查线程获取所述服务节点从服务请求队列中最近取出服务请求的时间点T1,并将与当前时间点N1的时间间隔D1作为响应时间;第一预设响应时间阈值判断子单元,用于判断所述响应时间是否大于第一预设响应时间阈值,若是,则确定所述服务节点的响应状态异常。可选地,所述多线程监控子模块包括:第二检查线程子单元,用于通过第二检查线程判断所述服务节点的存储单元是否携带存储响应超时标识;若是,则调用第二预设响应时间阈值判断子单元;第二预设响应时间阈值判断子单元,用于将所述存储响应超时标识对应的标识添加时间点T2与当前时间点N2的时间间隔D2作为所述响应时间,若所述响应时间大于第二预设响应时间阈值,则确定所述服务节点的响应状态异常。可选地,所述装置还包括:存储单元响应时间确定模块,用于通过日志记录线程获取所述服务节点的存储单元写日志的起止时间,并将所述起止时间的时间间隔作为存储单元响应时间;存储响应超时标识添加模块,用于判断所述存储单元响应时间是否大于第三预设响应时间阈值,若是,则针对所述存储单元添加所述存储响应超时标识,并相应记录添加标识的时间点T2。可选地,所述装置还包括:存储响应超时标识删除模块,用于若所述存储单元响应时间小于所述第三预设响应时间阈值、且所述存储单元已经携带有所述存储响应超时标识,则删除所述存储响应超时标识。可选地,所述装置还包括:监控结果注册模块,用于将对至少一个所述服务节点的监控结果注册到监控结果注册列表;所述服务节点响应状态监控模块包括:监控结果轮询子模块,用于在所述监控结果注册列表的起始位置轮询注册的监控结果。可选地,所述装置还包括:监控频率确定模块,用于将所述多线程的个数除以所述预设响应时间阈值的结果作为监控所述服务本文档来自技高网
...
一种分布式存储系统的服务节点切换方法和装置

【技术保护点】
一种分布式存储系统的服务节点切换方法,所述服务节点包括当前服务节点和备用服务节点,其特征在于,所述方法包括:监控所述服务节点对服务请求的响应状态;若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。

【技术特征摘要】
1.一种分布式存储系统的服务节点切换方法,所述服务节点包括当前服务节点和备用服务节点,其特征在于,所述方法包括:监控所述服务节点对服务请求的响应状态;若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。2.根据权利要求1所述的方法,其特征在于,还包括:若某个服务节点的响应状态异常,则对所述服务节点添加用于标记不参与当前服务节点的切换处理的异常节点标识。3.根据权利要求2所述的方法,其特征在于,所述触发当前服务节点的切换处理的步骤包括:触发选取至少一个没有携带所述异常节点标识的服务节点作为新的当前服务节点,替换响应状态异常的当前服务节点。4.根据权利要求1所述的方法,其特征在于,所述监控所述服务节点对服务请求的响应状态的步骤包括:通过多线程监控所述服务节点对服务请求的响应状态。5.根据权利要求4所述的方法,其特征在于,所述通过多线程监控所述服务节点对服务请求的响应状态的步骤包括:通过第一检查线程获取所述服务节点从服务请求队列中最近取出服务请求的时间点T1,并将与当前时间点N1的时间间隔D1作为响应时间;判断所述响应时间是否大于第一预设响应时间阈值,若是,则确定所述服务节点的响应状态异常。6.根据权利要求4所述的方法,其特征在于,所述通过多线程监控所述服务节点对服务请求的响应状态的步骤包括:通过第二检查线程判断所述服务节点的存储单元是否携带存储响应超时标识;若是,则将所述存储响应超时标识对应的标识添加时间点T2与当前时间点N2的时间间隔D2作为所述响应时间,若所述响应时间大于第二预设响应时间阈值,则确定所述服务节点的响应状态异常。7.根据权利要求6所述的方法,其特征在于,在所述通过多线程监控所述服务节点对服务请求的响应状态的步骤之前,所述方法还包括:通过日志记录线程获取所述服务节点的存储单元写日志的起止时间,并将所述起止时间的时间间隔作为存储单元响应时间;判断所述存储单元响应时间是否大于第三预设响应时间阈值,若是,则针对所述存储单元添加所述存储响应超时标识,并相应记录添加标识的时间点T2。8.根据权利要求7所述的方法,其特征在于,还包括:若所述存储单元响应时间小于所述第三预设响应时间阈值、且所述存储单元已经携带有所述存储响应超时标识,则删除所述存储响应超时标识。9.根据权利要求1所述的方法,其特征在于,在所述监控所述服务节点对服务请求的响应状态的步骤之前,所述方法还包括:将对至少一个所述服务节点的监控结果注册到监控结果注册列表;所述监控所述服务节点对服务请求的响应状态的步骤为:在所述监控结果注册列表的起始位置轮询注册的监控结果。10.根据权利要求4所述的方法,其特征在于,还包括:将所述多线程的个数除以所述预设响应时间阈值的结果作为监控所述服务节点响应状态的频率。11.一种分布式存储系统的服务节点切换装置,所述服务节点包括当前服务节点和备用服务节点,其特征在于,所述装置包括:服务节点响应状态监控模块,用...

【专利技术属性】
技术研发人员:姚文辉刘俊峰黄硕张海勇朱家稷
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1