CN106856489B - 一种分布式存储系统的服务节点切换方法和装置 - Google Patents

一种分布式存储系统的服务节点切换方法和装置 Download PDF

Info

Publication number
CN106856489B
CN106856489B CN201510897877.XA CN201510897877A CN106856489B CN 106856489 B CN106856489 B CN 106856489B CN 201510897877 A CN201510897877 A CN 201510897877A CN 106856489 B CN106856489 B CN 106856489B
Authority
CN
China
Prior art keywords
service node
response time
response
node
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510897877.XA
Other languages
English (en)
Other versions
CN106856489A (zh
Inventor
姚文辉
刘俊峰
黄硕
张海勇
朱家稷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510897877.XA priority Critical patent/CN106856489B/zh
Priority to US15/776,938 priority patent/US10862740B2/en
Priority to PCT/CN2016/107422 priority patent/WO2017097130A1/zh
Publication of CN106856489A publication Critical patent/CN106856489A/zh
Application granted granted Critical
Publication of CN106856489B publication Critical patent/CN106856489B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)

Abstract

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

Description

一种分布式存储系统的服务节点切换方法和装置
技术领域
本申请涉及互联网技术领域,特别是涉及一种分布式存储系统的服务节点切换方法和一种分布式存储系统的服务节点切换装置。
背景技术
在当前大规模分布式存储系统中,为了实现集中权限认证和配额控制,主要采用集中式元数据管理的方法,即将整个系统中所有数据的元数据集中在若干个元数据服务节点进行存储。
这样的架构中元数据服务节点的可用性直接关系到整个系统的可用性,因此在分布式存储系统中通常通过冗余的方式提升元数据服务节点的可用性。目前提升元数据服务节点可用性的主要有两种方法,例如由元数据服务(Name Node)通过HA的方式(HighAvailablity,高可用性),利用备用服务节点(Slave节点)切换掉异常状态的当前服务节点(Primary节点);或者在例如阿里云飞天分布式系统和盘古文件存储系统使用Paxos协议实现服务节点的切换。
上述两种服务节点切换方法中,仅仅在由于服务器宕机、服务进程重启、网络断开等情况而导致的当前服务节点无法正常向备用服务节点发送心跳确认的情况下,才会触发服务节点的切换处理,在其他的例如双工网络单路断开、部分网络协议异常、磁盘响应慢等的异常情况下,由于锁维护机制和心跳机制,备用服务节点还是会认为当前服务节点处于正常的工作状态,而不会触发服务节点的切换处理。
然而,实际上处于异常状态的当前服务节点会导致响应用户的服务请求超时,无法提供完整的元数据,无法将日志存储在共享存储设备上等的问题,实际上已经影响到当前服务节点向用户提供的服务质量,但目前的服务节点切换方法无法相应地恢复正常和稳定的元数据服务。因此,目前的服务节点切换方法存在元数据服务恢复效率较低,影响了用户体验的问题。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种分布式存储系统的服务节点切换方法和相应的一种分布式存储系统的服务节点切换装置。
为了解决上述问题,本申请公开了一种分布式存储系统的服务节点切换方法,所述服务节点包括当前服务节点和备用服务节点,所述方法包括:
监控所述服务节点对服务请求的响应状态;
若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。
可选地,所述方法还包括:
若某个服务节点的响应状态异常,则对所述服务节点添加用于标记不参与当前服务节点的切换处理的异常节点标识。
可选地,所述触发当前服务节点的切换处理的步骤包括:
触发选取至少一个没有携带所述异常节点标识的服务节点作为新的当前服务节点,替换响应状态异常的当前服务节点。
可选地,所述监控所述服务节点对服务请求的响应状态的步骤包括:
通过多线程监控所述服务节点对服务请求的响应状态。
可选地,所述通过多线程监控所述服务节点对服务请求的响应状态的步骤包括:
通过第一检查线程获取所述服务节点从服务请求队列中最近取出服务请求的时间点T1,并将与当前时间点N1的时间间隔D1作为响应时间;
判断所述响应时间是否大于第一预设响应时间阈值,若是,则确定所述服务节点的响应状态异常。
可选地,所述通过多线程监控所述服务节点对服务请求的响应状态的步骤包括:
通过第二检查线程判断所述服务节点的存储单元是否携带存储响应超时标识;
若是,则将所述存储响应超时标识对应的标识添加时间点T2与当前时间点N2的时间间隔D2作为所述响应时间,若所述响应时间大于第二预设响应时间阈值,则确定所述服务节点的响应状态异常。
可选地,在所述通过多线程监控所述服务节点对服务请求的响应状态的步骤之前,所述方法还包括:
通过日志记录线程获取所述服务节点的存储单元写日志的起止时间,并将所述起止时间的时间间隔作为存储单元响应时间;
判断所述存储单元响应时间是否大于第三预设响应时间阈值,若是,则针对所述存储单元添加所述存储响应超时标识,并相应记录添加标识的时间点T2。
可选地,所述方法还包括:
若所述存储单元响应时间小于所述第三预设响应时间阈值、且所述存储单元已经携带有所述存储响应超时标识,则删除所述存储响应超时标识。
可选地,在所述监控所述服务节点对服务请求的响应状态的步骤之前,所述方法还包括:
将对至少一个所述服务节点的监控结果注册到监控结果注册列表;
所述监控所述服务节点对服务请求的响应状态的步骤为:
在所述监控结果注册列表的起始位置轮询注册的监控结果。
可选地,所述方法还包括:
将所述多线程的个数除以所述预设响应时间阈值的结果作为监控所述服务节点响应状态的频率。
为了解决上述问题,本申请还公开了一种分布式存储系统的服务节点切换装置,所述服务节点包括当前服务节点和备用服务节点,所述装置包括:
服务节点响应状态监控模块,用于监控所述服务节点对服务请求的响应状态;
当前服务节点切换触发模块,用于若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。
可选地,所述装置还包括:
异常节点标识添加模块,用于若某个服务节点的响应状态异常,则对所述服务节点添加用于标记不参与当前服务节点的切换处理的异常节点标识。
可选地,所述当前服务节点切换触发模块包括:
触发选取子模块,用于触发选取至少一个没有携带所述异常节点标识的服务节点作为新的当前服务节点,替换响应状态异常的当前服务节点。
可选地,所述服务节点响应状态监控模块包括:
多线程监控子模块,用于通过多线程监控所述服务节点对服务请求的响应状态。
可选地,所述多线程监控子模块包括:
第一检查线程子单元,用于通过第一检查线程获取所述服务节点从服务请求队列中最近取出服务请求的时间点T1,并将与当前时间点N1的时间间隔D1作为响应时间;
第一预设响应时间阈值判断子单元,用于判断所述响应时间是否大于第一预设响应时间阈值,若是,则确定所述服务节点的响应状态异常。
可选地,所述多线程监控子模块包括:
第二检查线程子单元,用于通过第二检查线程判断所述服务节点的存储单元是否携带存储响应超时标识;若是,则调用第二预设响应时间阈值判断子单元;
第二预设响应时间阈值判断子单元,用于将所述存储响应超时标识对应的标识添加时间点T2与当前时间点N2的时间间隔D2作为所述响应时间,若所述响应时间大于第二预设响应时间阈值,则确定所述服务节点的响应状态异常。
可选地,所述装置还包括:
存储单元响应时间确定模块,用于通过日志记录线程获取所述服务节点的存储单元写日志的起止时间,并将所述起止时间的时间间隔作为存储单元响应时间;
存储响应超时标识添加模块,用于判断所述存储单元响应时间是否大于第三预设响应时间阈值,若是,则针对所述存储单元添加所述存储响应超时标识,并相应记录添加标识的时间点T2。
可选地,所述装置还包括:
存储响应超时标识删除模块,用于若所述存储单元响应时间小于所述第三预设响应时间阈值、且所述存储单元已经携带有所述存储响应超时标识,则删除所述存储响应超时标识。
可选地,所述装置还包括:
监控结果注册模块,用于将对至少一个所述服务节点的监控结果注册到监控结果注册列表;
所述服务节点响应状态监控模块包括:
监控结果轮询子模块,用于在所述监控结果注册列表的起始位置轮询注册的监控结果。
可选地,所述装置还包括:
监控频率确定模块,用于将所述多线程的个数除以所述预设响应时间阈值的结果作为监控所述服务节点响应状态的频率。
本申请实施例包括以下优点:
本申请实施例通过监控服务节点对服务请求的响应状态,并针对响应状态异常的当前服务节点执行停止其与备用服务节点之间的通讯,由此触发当前服务节点的切换处理。通过服务节点检查逻辑,针对影响服务节点响应状态的多方面因素进行逻辑判断和数据统计,在遇到硬件故障或软件缺陷带来的服务超时、服务不可用、服务异常等的情况时,实现服务节点的自主切换和恢复,增强了服务可用性,提升了服务恢复效率,改善了用户体验。
其次,本申请实施例可以针对影响服务节点响应状态的一个或多个方面的因素进行监控,多维度的监控手段提升了服务恢复的全面性和可扩展性。
进一步,本申请实施例对于异常的当前服务节点不将其直接初始化,而是采用相对保守的停止与备用服务节点通讯的方式来触发服务节点切换,当出现误诊事故时,被误诊为响应状态异常的当前服务节点也有机会重新作为新的当前服务节点,继续提供服务,避免了误诊对整个系统带来负面的影响。
进一步,本申请实施例对响应状态异常的服务节点添加异常节点标识,避免了将响应状态异常的服务节点被选作当前服务节点、从而无法实现服务节点切换目的的问题。而且,将异常的服务节点排除,服务节点的切换处理可以保证新的当前服务节点的稳定性,避免了多次服务节点切换引起的系统波动,提升了服务恢复的稳定性。
附图说明
图1是本申请的一种分布式存储系统的服务节点切换方法实施例一的步骤流程图;
图2是本申请的一种分布式存储系统的服务节点切换方法实施例二的步骤流程图;
图3是本申请的一种分布式存储系统的服务节点切换方法实施例三的步骤流程图;
图4是本申请的一种分布式存储系统的服务节点切换方法实施例四的步骤流程图;
图5是本申请的一种分布式存储系统的服务节点切换装置实施例一的结构框图;
图6是本申请的一种分布式存储系统的服务节点切换装置实施例二的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
目前较常用的提升元数据服务节点可用性的方式中,可以在例如Hadoop分布式文件系统中,元数据服务利用备用服务节点切换掉异常状态的当前服务节点。具体为:通过分布式锁服务,由获取到分布式锁的服务节点作为当前服务节点,由当前服务节点对外提供,并将产生的日志存储在共享存储设备上,其他的备用服务节点不对外提供元数据服务,仅从共享存储设备上读取日志应用到内存,保持内存与当前服务节点同步一致。备用服务节点不定时检测锁的状态,当锁被释放时,即表明当前服务节点处于服务器宕机、服务进程重启、网络断开等异常状态,备用服务节点则获取分布式锁升级为新的当前服务节点并对外提供元数据服务。
另外一种较常用的提升可用性方式中,多个备用服务节点通过Paxos协议进行当前服务节点选举,从中产生一个对外提供元数据服务的当前服务节点,用户向当前服务节点请求元数据服务,当前服务节点响应后产生日志存储到本地,并发送给所有备用服务节点。备用服务节点收到日志后存储到本地并应用到内存,保持与当前服务节点同步一致。同时,在当前服务节点正常工作时,其可以向备用服务节点发送心跳确认信息,备用服务节点通过心跳机制确认当前服务节点的存活。若当前服务节点出现如服务器宕机、服务进程重启、网络断开等异常情况时,当前服务节点无法向备用服务节点发送心跳确认信息,备用服务节点由此发起当前服务节点切换处理,从备用服务节点中选举出新的当前服务节点对外提供元数据服务。
从上述可见,目前的提高元数据服务节点可用性的方法中,触发服务节点的切换依赖于导致当前服务节点完全无法工作的严重故障,其他一些引起当前服务节点响应慢等异常状态的故障则不会触发服务节点的切换,然而处于异常状态的当前服务节点已经影响到了向用户提供服务的质量。
因此,目前的服务节点切换方法存在元数据服务恢复效率较低,影响了用户体验的问题。而且,根据目前的服务节点切换方法,即使触发了服务节点切换处理,也有可能再次切换到已经处于异常状态的服务节点上,无法实现服务节点切换的目的,影响了元数据服务恢复的效率。为了解决上述问题,以下提出了若干个服务节点切换方法的实施例。
参照图1,示出了本申请的一种分布式存储系统的服务节点切换方法实施例一的步骤流程图,所述服务节点包括当前服务节点和备用服务节点,所述方法具体可以包括如下步骤:
步骤101,监控服务节点对服务请求的响应状态。
需要说明的是,服务节点可以为提供元数据服务的服务节点。元数据(Metadata)又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
在具体的实现中,可以针对不同方面的检查点,在系统中相应地设置若干个检查线程以监控服务节点的响应状态是否异常。例如,设置一个关注于服务请求队列响应时间异常的第一检查线程和/或设置一个关注于存储单元响应时间异常的第二检查线程。
需要说明的是,响应时间是否异常可以通过与预设的响应时间阈值进行比较而确定,例如,可以预设响应时间阈值为10秒,如果服务节点对服务请求队列中的某各服务请求的响应时间超过10秒,或者服务节点的存储单元进行日志读写的响应时间超过10秒,可以理解为该服务节点的响应状态异常,其对服务请求的响应需要用户长时间等待,甚至无法正常服务,已影响到了用户体验。
作为本申请实施例的优选示例,可以通过多线程监控所述服务节点对服务请求的响应状态。因为在实际应用中,服务节点的响应状态可能会被多方面的因素所影响,本领域技术人员可以根据实际情况组合设置多个检查线程以监控服务节点对服务请求的响应状态,例如,还可以设置关注于存储单元是否接近满载的检查线程。
优选地,用于监控服务节点的检查线程可以不具备执行逻辑的能力,而仅仅用作检查响应状态的逻辑判断和数据统计。检查线程尽量保持轻量,避免进行运算量较大和耗时较长的处理工作,例如可以不进行RPC(Remote Procedure Call Protocol,远程过程调用协议)操作或者长时间的等锁操作,该操作有可能导致后续的服务节点切换处理被严重延迟、甚至无法有效执行,最终可能导致整个检查机制失去应有的效果。
步骤102,若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。
在具体的实现中,通过对服务节点的响应状态的监控,可以确定当前服务节点和备用服务节点的响应状态是否异常。针对于不同的服务节点的不同监控结果,可以执行相应的操作。针对于响应状态异常的当前服务节点,可以停止其与多个备用服务节点之间的通讯。
停止相互通讯的方式可以有多种,例如通过停止当前服务节点与备用服务节点之间的心跳确认的方式,当备用服务节点超过一定时间没有接收到当前服务节点发送的心跳确认信息,则可以认为当前服务节点处于异常状态并失效,需要发起当前服务节点的切换处理。
备用服务节点无法与当前服务节点正常通讯,可以认为当前服务节点处于异常状态,由此触发新的当前服务节点选举操作,并将新选举出的当前服务节点替换异常的当前服务节点,以完成当前服务节点的切换处理。当前服务节点的选举操作可以通过Paxos协议实现。
实际应用中,还可以采用其他方式触发当前服务节点的切换处理,例如利用分布式锁服务,若备用服务节点认为该当前服务节点处于异常状态并失效,则触发该当前服务节点释放锁,多个备用服务节点进行抢锁操作,由获取到锁的备用服务节点替换异常的当前服务节点,以完成当前服务节点的切换处理。
针对于响应状态异常的当前服务节点和备用服务节点,还可以添加一个异常节点标识,携带有该标识的服务节点,则在服务节点的切换处理中不会被切换为新的当前服务节点,以免将异常的服务节点作为新的当前服务节点,达不到服务恢复的效果。
作为本申请实施例的优选示例,可以将对至少一个所述服务节点的监控结果注册到监控结果注册列表;在所述监控结果注册列表的起始位置轮询注册的监控结果。
实际应用中,可以设置检查点执行模块,以针对不同的监控结果执行相应的操作。各检查线程可以在系统启动过程中生成监控结果,并将监控结果注册到检查点执行模块的监控结果注册列表中。该检查点执行模块可以是系统后台线程,其可以在注册列表的起始位置开始按序逐一轮询监控结果,并根据监控结果执行相应的处理。例如,在某个监控结果中,第一检查线程根据服务请求处理响应时间判断出当前服务节点的响应状态异常,检查点执行模块由此可以停止其向备用服务节点发送心跳确认信息,并添加一个异常节点标识;又例如,在另外一个监控结果中,第二检查线程根据存储单元读写日志超时判断出备用服务节点的响应状态异常,检查点执行模块由此针对该备用服务节点添加异常节点标识。
需要说明的是,检查点执行模块可以不需要关注各个检查线程的逻辑判断如何实现,即不需要关注该检查线程具体如何监控该服务节点是否异常,仅仅关注监控结果所反映出的服务节点响应状态是否异常即可。具体地,服务节点的响应状态是否异常,可以由True和False表示,检查线程可以仅将True或False的值作为监控结果注册到检查点执行模块的注册列表中。
此外,还可以将所述多线程的个数除以所述预设响应时间阈值的结果作为监控所述服务节点响应状态的频率。
因为在实际应用中,如果监控的频率过低,则可能会遗漏了反映异常服务节点的监控结果,无法保证在当前服务节点出现异常时及时进行切换。因此,为了提高检查精度,监控的执行间隔不能大于任何一个检查线程用于判断响应状态是否异常而设置的预设响应时间阈值。例如,若预设的响应时间阈值为10秒,则监控的执行间隔可以设为1秒。为了便于确定监控频率,可以根据进行监控的检查线程个数除以预设响应时间阈值,将结果作为监控频率。例如检查线程为10个,而预设响应时间阈值为10秒,则监控频率为1个每秒,即检查点执行模块可以每隔1秒就从监控结果注册列表调取一个监控结果,以执行相应处理。
本领域技术人员可以根据实际情况将本申请实施例所提供的方法应用于各种分布式文件系统和计算、存储平台,例如,HDFS系统(Hadoop Distributed File System),ODPS计算平台(Open Data Processing Service,开放数据处理服务),OSS存储平台(Object Storage Service,开放对象存储服务),OTS存储平台(Open Table Service,开放表服务结构化数据服务),ECS计算平台(Elastic Compute Service,弹性计算服务)等等。
相比起目前的服务节点切换方法,本申请实施例通过监控服务节点对服务请求的响应状态,并针对响应状态异常的当前服务节点执行停止其与备用服务节点之间的通讯,由此触发当前服务节点的切换处理。通过服务节点检查逻辑,针对影响服务节点响应状态的多方面因素进行逻辑判断和数据统计,在遇到硬件故障或软件缺陷带来的服务超时、服务不可用、服务异常等的情况时,实现服务节点的自主切换和恢复,增强了服务可用性,提升了服务恢复效率,改善了用户体验。
其次,本申请实施例可以针对影响服务节点响应状态的一个或多个方面的因素进行监控,多维度的监控手段提升了服务恢复的全面性和可扩展性。
进一步,本申请实施例对于异常的当前服务节点不将其直接初始化,而是采用相对保守的停止与备用服务节点通讯的方式来触发服务节点切换,当出现误诊事故时,被误诊为响应状态异常的当前服务节点也有机会重新作为新的当前服务节点,继续提供服务,避免了误诊对整个系统带来负面的影响。
参照图2,示出了本申请的一种分布式存储系统的服务节点切换方法实施例二的步骤流程图,所述服务节点包括当前服务节点和备用服务节点,所述方法具体可以包括如下步骤:
步骤201,通过第一检查线程获取所述服务节点从服务请求队列中最近取出服务请求的时间点T1,并将与当前时间点N1的时间间隔D1作为响应时间。
需要说明的是,上述的第一检查线程可以是关注于服务请求队列响应时间是否异常的检查线程。当用户向当前服务节点提交服务请求,会先将服务请求放入服务请求队列中排队,等待被当前服务节点逐一处理。当前服务节点从队列中取出服务请求时,可以记录此时的时间点T1。
第一检查线程可以定期对服务请求队列进行检查,当服务请求队列存在等待处理的服务请求时,第一检查线程获取之前记录的最近取出服务请求的时间点T1,将当前时间点N1与T1的时间间隔D1作为该当前服务节点的响应时间。
步骤202,判断所述响应时间是否大于第一预设响应时间阈值,若是,则确定所述服务节点的响应状态异常。
可以将响应时间与第一预设响应时间阈值进行比较,若响应时间大于第一预设响应时间阈值,则表明该当前服务节点在处理用户的服务请求时被阻塞,造成用户长时间等待服务的情况。因此,无论该当前服务节点的其他方面是否正常,也可以认为该当前服务节点的响应状态异常。
实际应用中可以将第一预设响应时间阈值设置为10秒,也即是说,如果10秒之内也没有成功响应用户提交的服务请求,可以理解为当前服务节点的响应状态异常,当然,本领域技术人员可以根据实际情况设置第一预设响应时间阈值,本申请实施例对此不作限制。
第一检查线程可以将响应状态异常或正常的监控结果注册到检查点执行模块的监控结果注册列表中,由检查点执行模块根据监控结果采取相应的处理。
步骤203,若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。
步骤204,若某个服务节点的响应状态异常,则对所述服务节点添加用于标记不参与当前服务节点的切换处理的异常节点标识。
检查点执行模块针对于响应状态异常的当前服务节点,可以停止其与多个备用服务节点之间的通讯。针对于响应状态异常的当前服务节点和备用服务节点,还可以添加一个异常节点标识,携带有该标识的服务节点,则在服务节点的切换处理中不会被切换为新的当前服务节点。
作为本申请实施例的优选示例,所述触发当前服务节点的切换处理的步骤可以包括:触发选取至少一个没有携带所述异常节点标识的服务节点作为新的当前服务节点,替换响应状态异常的当前服务节点。
实际应用中,如果是通过Paxos协议选举当前服务节点,携带异常节点标识的服务节点不会参与到选举中。当备用服务节点触发当前服务节点的切换处理时,携带异常节点标识的服务节点不参与选举,则不会被选作新的当前服务节点。如果是通过分布式锁服务切换服务节点,携带异常节点标识的服务节点不会进行抢锁操作,仅仅由正常的服务节点参与抢锁。
本申请实施例对响应状态异常的服务节点添加异常节点标识,避免了将响应状态异常的服务节点被选作当前服务节点、从而无法实现服务节点切换目的的问题。而且,将异常的服务节点排除,服务节点的切换处理可以保证新的当前服务节点的稳定性,避免了多次服务节点切换引起的系统波动,提升了服务恢复的稳定性。
参照图3,示出了本申请的一种分布式存储系统的服务节点切换方法实施例三的步骤流程图,所述服务节点包括当前服务节点和备用服务节点,所述方法具体可以包括如下步骤:
步骤301,通过日志记录线程获取所述服务节点的存储单元写日志的起止时间,并将所述起止时间的时间间隔作为存储单元响应时间。
需要说明的是,用户提交服务请求时会产生日志,当前服务节点和备用服务节点均需要通过日志记录线程将日志记录到存储单元中,然后返回用户的服务请求处理成功的通知,因此存储单元的响应时间直接影响到对服务请求的响应时间。
在具体的实现中,日志记录线程记录有服务节点开始写日志的起始时间点和写日志完毕后的结束时间点,将起止时间点的时间间隔作为存储单元响应时间。
步骤302,判断所述存储单元响应时间是否大于第三预设响应时间阈值,若是,则针对所述存储单元添加所述存储响应超时标识,并相应记录添加标识的时间点T2。
判断存储单元响应时间是否大于第三预设响应时间阈值,若是,表明服务节点的存储单元存在异常,则可以针对存储单元添加存储响应超时标识,并记录添加该标识时的时间点T2。如果该服务节点的存储单元已经携带有存储响应超时标识,则可以不需要作标识添加处理。
步骤303,若所述存储单元响应时间小于所述第三预设响应时间阈值、且所述存储单元已经携带有所述存储响应超时标识,则删除所述存储响应超时标识。
在实际应用中,检查线程需要关注的是存储单元响应连续响应慢的异常情况,对于单独一次的存储单元响应慢,可能是偶然因素造成,可以暂时忽略,以免造成误测。因此,若存储单元响应时间小于第三预设响应时间阈值,且已经携带有存储响应超时标识,可以删除该标识。
步骤304,通过第二检查线程判断所述服务节点的存储单元是否携带存储响应超时标识。
步骤305,若是,则将所述存储响应超时标识对应的标识添加时间点T2与当前时间点N2的时间间隔D2作为所述响应时间,若所述响应时间大于第二预设响应时间阈值,则确定所述服务节点的响应状态异常。
第二检查线程可以判断存储单元是否携带存储响应超时标识,并根据判断结果进行相应处理。
若携带存储响应超时标识,则从日志记录线程中获取该标识的添加时间点T2,与当前的时间点N2相减得到两者的时间间隔D2作为服务节点的响应时间。若该响应时间大于第二预设响应时间阈值,则表明该服务节点将日志记录到存储单元的耗时过长,影响到对服务请求的响应时间。因此,无论该当前服务节点的其他方面是否正常,也可以认为该当前服务节点的响应状态异常。
第二检查线程将响应状态异常或正常的监控结果注册到检查点执行模块的监控结果注册列表中,由检查点执行模块根据监控结果采取相应的处理。例如,第二检查线程检查出在30秒内存储单元的响应时间没有降低到30毫秒以下,则可以判断该服务节点的存储单元出现异常,导致服务节点的响应状态异常。
步骤306,若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。
步骤307,若某个服务节点的响应状态异常,则对所述服务节点添加用于标记不参与当前服务节点的切换处理的异常节点标识。
检查点执行模块针对于响应状态异常的当前服务节点,可以停止其与多个备用服务节点之间的通讯。针对于响应状态异常的当前服务节点和备用服务节点,还可以添加一个异常节点标识,携带有该标识的服务节点,则在服务节点的切换处理中不会被切换为新的当前服务节点。
需要说明的是,步骤301至步骤303可以循环进行,反复统计和比较存储单元写日志的响应时间,针对性地判断出是否存在存储单元连续响应慢的异常情况,并相应地更新存储单元的存储响应超时标识,以便于第二检查线程根据标识进行相应处理。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请的一种分布式存储系统的服务节点切换方法实施例四的步骤流程图,所述服务节点包括当前服务节点和备用服务节点,所述方法具体可以包括如下步骤:
步骤401,通过多线程监控所述服务节点对服务请求的响应状态。
可以通过多个关注于服务节点不同方面问题的检查线程,监控所述服务节点对服务请求的响应状态是否异常。因为在实际应用中,服务节点的响应状态可能会被多方面的因素所影响,无论是单方面的因素还是多个因素综合作用,当影响到服务节点的响应状态,均可以针对性地监控,因此,为了更全面和灵活地监控服务节点,可以通过多个线程的组合来监控服务节点。当然,线程的数量和线程具体的组合方式可以由本领域技术人员根据实际情况而定。
作为本申请实施例的优选示例,所述步骤401可以具体包括以下子步骤:
子步骤S11,通过第一检查线程获取所述服务节点从服务请求队列中最近取出服务请求的时间点T1,并将与当前时间点N1的时间间隔D1作为响应时间。
子步骤S12,判断所述响应时间是否大于第一预设响应时间阈值,若是,则确定所述服务节点的响应状态异常。
子步骤S13,通过第二检查线程判断所述服务节点的存储单元是否携带存储响应超时标识。
子步骤S14,若是,则将所述存储响应超时标识对应的标识添加时间点T2与当前时间点N2的时间间隔D2作为所述响应时间,若所述响应时间大于第二预设响应时间阈值,则确定所述服务节点的响应状态异常。
上述的第一检查线程可以是关注于服务请求队列响应时间是否异常的线程。通过第一检查线程监控服务节点,可以针对由于处理服务请求队列响应时间过慢所引起服务节点异常的情况进行监控。上述的第二检查线程可以是关注于存储单元响应时间是否异常的线程。通过第二检查线程监控服务节点,可以针对由于存储单元写日志过慢所引起服务节点异常的情况进行监控。需要说明的是,上述子步骤并没有先后之分,即可以同时通过第一检查线程和第二检查线程进行监控。
步骤402,若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。
步骤403,若某个服务节点的响应状态异常,则对所述服务节点添加用于标记不参与当前服务节点的切换处理的异常节点标识。
通过上述的第一检查线程和第二检查线程同时监控服务节点对服务请求的响应状态,可以同时针对处理服务请求队列响应时间和存储单元写日志响应时间进行监控,当任何一方面出现问题,均可以触发服务节点的切换处理,并针对性地添加异常节点标识。从而通过多维度的监控手段提升了服务恢复的全面性和可扩展性。
参照图5,示出了本申请的一种分布式存储系统的服务节点切换装置实施例一的结构框图,所述服务节点包括当前服务节点和备用服务节点,所述装置具体可以包括如下模块:
服务节点响应状态监控模块501,用于监控所述服务节点对服务请求的响应状态。
当前服务节点切换触发模块502,用于若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。
本申请实施例通过监控服务节点对服务请求的响应状态,并针对响应状态异常的当前服务节点执行停止其与备用服务节点之间的通讯,由此触发当前服务节点的切换处理。通过服务节点检查逻辑,针对影响服务节点响应状态的多方面因素进行逻辑判断和数据统计,在遇到硬件故障或软件缺陷带来的服务超时、服务不可用、服务异常等的情况时,实现服务节点的自主切换和恢复,增强了服务可用性,提升了服务恢复效率,改善了用户体验。
其次,本申请实施例可以针对影响服务节点响应状态的一个或多个方面的因素进行监控,多维度的监控手段提升了服务恢复的全面性和可扩展性。
进一步,本申请实施例对于异常的当前服务节点不将其直接初始化,而是采用相对保守的停止与备用服务节点通讯的方式来触发服务节点切换,当出现误诊事故时,被误诊为响应状态异常的当前服务节点也有机会重新作为新的当前服务节点,继续提供服务,避免了误诊对整个系统带来负面的影响。
参照图6,示出了本申请的一种分布式存储系统的服务节点切换装置实施例二的结构框图,所述服务节点包括当前服务节点和备用服务节点,所述装置具体可以包括如下模块:
监控结果注册模块601,用于将对至少一个所述服务节点的监控结果注册到监控结果注册列表。
服务节点响应状态监控模块602,用于监控所述服务节点对服务请求的响应状态。
当前服务节点切换触发模块603,用于若所述当前服务节点的响应状态异常,则停止所述当前服务节点与备用服务节点之间的通讯,并触发当前服务节点的切换处理。
异常节点标识添加模块604,用于若某个服务节点的响应状态异常,则对所述服务节点添加用于标记不参与当前服务节点的切换处理的异常节点标识。
监控频率确定模块605,用于将所述多线程的个数除以所述预设响应时间阈值的结果作为监控所述服务节点响应状态的频率。
作为本申请实施例的优选示例,所述装置可以还包括:
存储单元响应时间确定模块,用于通过日志记录线程获取所述服务节点的存储单元写日志的起止时间,并将所述起止时间的时间间隔作为存储单元响应时间。
存储响应超时标识添加模块,用于判断所述存储单元响应时间是否大于第三预设响应时间阈值,若是,则针对所述存储单元添加所述存储响应超时标识,并相应记录添加标识的时间点T2。
存储响应超时标识删除模块,用于若所述存储单元响应时间小于所述第三预设响应时间阈值、且所述存储单元已经携带有所述存储响应超时标识,则删除所述存储响应超时标识。
作为本申请实施例的优选示例,所述当前服务节点切换触发模块603可以包括以下子模块:
触发选取子模块,用于触发选取至少一个没有携带所述异常节点标识的服务节点作为新的当前服务节点,替换响应状态异常的当前服务节点。
作为本申请实施例的优选示例,所述服务节点响应状态监控模块602可以包括以下子模块:
多线程监控子模块,用于通过多线程监控所述服务节点对服务请求的响应状态。
作为本申请实施例的优选示例一,所述多线程监控子模块可以包括以下子单元:
第一检查线程子单元,用于通过第一检查线程获取所述服务节点从服务请求队列中最近取出服务请求的时间点T1,并将与当前时间点N1的时间间隔D1作为响应时间。
第一预设响应时间阈值判断子单元,用于判断所述响应时间是否大于第一预设响应时间阈值,若是,则确定所述服务节点的响应状态异常。
作为本申请实施例的优选示例二,所述多线程监控子模块可以包括以下子单元:
第二检查线程子单元,用于通过第二检查线程判断所述服务节点的存储单元是否携带存储响应超时标识;若是,则调用第二预设响应时间阈值判断子单元。
第二预设响应时间阈值判断子单元,用于将所述存储响应超时标识对应的标识添加时间点T2与当前时间点N2的时间间隔D2作为所述响应时间,若所述响应时间大于第二预设响应时间阈值,则确定所述服务节点的响应状态异常。
作为本申请实施例的优选示例,所述服务节点响应状态监控模块602可以包括以下子模块:
监控结果轮询子模块,用于在所述监控结果注册列表的起始位置轮询注册的监控结果。
本申请实施例对响应状态异常的服务节点添加异常节点标识,避免了将响应状态异常的服务节点被选作当前服务节点、从而无法实现服务节点切换目的的问题。而且,将异常的服务节点排除,服务节点的切换处理可以保证新的当前服务节点的稳定性,避免了多次服务节点切换引起的系统波动,提升了服务恢复的稳定性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种分布式存储系统的服务节点切换方法和一种分布式存储系统的服务节点切换装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510897877.XA CN106856489B (zh) 2015-12-08 2015-12-08 一种分布式存储系统的服务节点切换方法和装置
US15/776,938 US10862740B2 (en) 2015-12-08 2016-12-08 Method and apparatus for switching service nodes in a distributed storage system
PCT/CN2016/107422 WO2017097130A1 (zh) 2015-12-08 2016-12-08 一种分布式存储系统的服务节点切换方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510897877.XA CN106856489B (zh) 2015-12-08 2015-12-08 一种分布式存储系统的服务节点切换方法和装置

Publications (2)

Publication Number Publication Date
CN106856489A CN106856489A (zh) 2017-06-16
CN106856489B true CN106856489B (zh) 2020-09-08

Family

ID=59013730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510897877.XA Active CN106856489B (zh) 2015-12-08 2015-12-08 一种分布式存储系统的服务节点切换方法和装置

Country Status (3)

Country Link
US (1) US10862740B2 (zh)
CN (1) CN106856489B (zh)
WO (1) WO2017097130A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180183695A1 (en) * 2016-12-28 2018-06-28 Intel Corporation Performance monitoring
CN107360025B (zh) * 2017-07-07 2020-11-10 郑州云海信息技术有限公司 一种分布式存储系统集群监控方法及设备
CN107426038A (zh) * 2017-09-12 2017-12-01 郑州云海信息技术有限公司 一种采集数据的分布式集群系统及数据采集方法
US11178014B1 (en) * 2017-09-28 2021-11-16 Amazon Technologies, Inc. Establishment and control of grouped autonomous device networks
CN109697193A (zh) * 2017-10-24 2019-04-30 中兴通讯股份有限公司 一种确定异常节点的方法、节点及计算机可读存储介质
CN108073460B (zh) * 2017-12-29 2020-12-04 北京奇虎科技有限公司 分布式系统中的全局锁抢占方法、装置及计算设备
CN108933824A (zh) * 2018-06-28 2018-12-04 郑州云海信息技术有限公司 一种保持RabbitMQ服务的方法、系统及相关装置
CN108900356A (zh) * 2018-07-25 2018-11-27 郑州云海信息技术有限公司 一种云服务部署方法和系统
CN110764963B (zh) * 2018-07-28 2023-05-09 阿里巴巴集团控股有限公司 一种服务异常处理方法、装置及设备
CN109407981A (zh) * 2018-09-28 2019-03-01 深圳市茁壮网络股份有限公司 一种数据处理方法及装置
CN109462646B (zh) * 2018-11-12 2021-11-19 平安科技(深圳)有限公司 一种异常响应的方法及设备
CN109584105B (zh) * 2018-11-12 2023-10-17 平安科技(深圳)有限公司 一种服务响应的方法及系统
CN109766210B (zh) * 2019-01-17 2022-04-22 多点生活(成都)科技有限公司 服务熔断控制方法、服务熔断控制装置和服务器集群
CN110297648A (zh) * 2019-06-12 2019-10-01 阿里巴巴集团控股有限公司 应用自动降级和恢复方法和系统
CN110569303B (zh) * 2019-08-19 2020-12-08 杭州衣科信息技术有限公司 一种适用于多种云环境的MySQL应用层高可用系统及方法
CN110674060A (zh) * 2019-09-06 2020-01-10 平安普惠企业管理有限公司 服务的熔断控制方法及装置
CN112631711A (zh) * 2019-09-24 2021-04-09 北京金山云网络技术有限公司 容器集群中Master节点的调整方法、装置及服务器
CN110691133B (zh) * 2019-09-29 2020-11-24 河南信大网御科技有限公司 一种应用于网络通信设备的web服务拟态系统及方法
CN111159009B (zh) * 2019-11-29 2024-03-12 深圳智链物联科技有限公司 一种日志服务系统的压力测试方法及装置
CN111124731A (zh) * 2019-12-20 2020-05-08 浪潮电子信息产业股份有限公司 一种文件系统异常监测方法、装置、设备、介质
CN111190538A (zh) * 2019-12-20 2020-05-22 北京淇瑀信息科技有限公司 文件存储方法、系统、设备和计算机可读介质
CN111400090A (zh) * 2020-03-04 2020-07-10 江苏蓝创智能科技股份有限公司 一种数据监测系统
CN111405077B (zh) * 2020-03-05 2023-02-17 深圳前海百递网络有限公司 域名切换方法、装置、计算机可读存储介质和计算机设备
CN111381969B (zh) * 2020-03-16 2021-10-26 北京康吉森技术有限公司 一种分布式软件的管理方法及其系统
CN111400263A (zh) * 2020-03-16 2020-07-10 上海英方软件股份有限公司 一种基于文件变化的监控回切方法及装置
CN111552441B (zh) * 2020-04-29 2023-02-28 重庆紫光华山智安科技有限公司 数据存储方法和装置、主节点及分布式系统
CN111770154B (zh) * 2020-06-24 2023-12-05 百度在线网络技术(北京)有限公司 服务检测方法、装置、设备以及存储介质
CN111858171B (zh) * 2020-07-10 2024-03-12 上海达梦数据库有限公司 一种数据备份方法、装置、设备及存储介质
JP7462550B2 (ja) 2020-12-24 2024-04-05 株式会社日立製作所 通信監視対処装置、通信監視対処方法、及び通信監視対処システム
CN113904914A (zh) * 2020-12-31 2022-01-07 京东科技控股股份有限公司 一种服务切换方法、装置、系统和存储介质
CN113055246B (zh) * 2021-03-11 2022-11-22 中国工商银行股份有限公司 异常服务节点识别方法、装置、设备及存储介质
CN113824812B (zh) * 2021-08-27 2023-02-28 济南浪潮数据技术有限公司 一种hdfs服务获取服务节点ip的方法、装置及存储介质
CN114666389B (zh) * 2022-03-14 2024-05-17 京东科技信息技术有限公司 分布式系统中节点状态的检测方法、装置及计算机设备
CN115277847A (zh) * 2022-07-27 2022-11-01 阿里巴巴(中国)有限公司 服务处理方法、装置、设备、平台、介质及程序产品
CN116263727A (zh) * 2022-10-21 2023-06-16 中移(苏州)软件技术有限公司 主备数据库集群及选主方法、计算设备及计算机存储介质
CN116881052B (zh) * 2023-09-07 2023-11-24 上海凯翔信息科技有限公司 一种分布式存储的数据修复系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848754A (zh) * 2005-04-13 2006-10-18 华为技术有限公司 一种切换服务器的控制方法
CN101690136A (zh) * 2007-06-26 2010-03-31 汤姆逊许可证公司 实时协议流迁移
CN102521339A (zh) * 2011-12-08 2012-06-27 北京京东世纪贸易有限公司 用于动态访问数据源的系统和方法
KR101243434B1 (ko) * 2011-10-20 2013-03-13 성균관대학교산학협력단 게이트웨이를 이용한 필드버스 동기화 방법 및 게이트웨이를 이용한 필드버스 동기화 시스템
CN103546590A (zh) * 2013-10-18 2014-01-29 北京奇虎科技有限公司 一种dns服务器的选择方法与装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159691A (en) 1988-03-07 1992-10-27 Sharp Kabushiki Kaisha Master and slave CPU system where the slave changes status bits of a centrol table when modes are changed
US6194969B1 (en) 1999-05-19 2001-02-27 Sun Microsystems, Inc. System and method for providing master and slave phase-aligned clocks
US7269135B2 (en) 2002-04-04 2007-09-11 Extreme Networks, Inc. Methods and systems for providing redundant connectivity across a network using a tunneling protocol
US7302609B2 (en) * 2003-03-12 2007-11-27 Vladimir Matena Method and apparatus for executing applications on a distributed computer system
US7526549B2 (en) * 2003-07-24 2009-04-28 International Business Machines Corporation Cluster data port services for clustered computer system
US7340169B2 (en) 2003-11-13 2008-03-04 Intel Corporation Dynamic route discovery for optical switched networks using peer routing
KR20050087182A (ko) * 2004-02-26 2005-08-31 삼성전자주식회사 이중화 장치 및 그 운용방법
DE102004054571B4 (de) * 2004-11-11 2007-01-25 Sysgo Ag Verfahren zur Verteilung von Rechenzeit in einem Rechnersystem
US7808889B1 (en) 2004-11-24 2010-10-05 Juniper Networks, Inc. Silent failover from a primary control unit to a backup control unit of a network device
CN101166303A (zh) * 2006-10-17 2008-04-23 中兴通讯股份有限公司 多媒体广播组播服务会话开始的异常处理系统
CN100568819C (zh) * 2006-10-17 2009-12-09 中兴通讯股份有限公司 多媒体广播组播服务会话开始的异常处理方法
DE102006060081B3 (de) 2006-12-19 2008-06-19 Infineon Technologies Ag Kommunikationsvorrichtung zur Kommunikation nach einer Master-Slave-Kommunikationsvorschrift
CA2630014C (en) 2007-05-18 2014-05-27 Nec Infrontia Corporation Main device redundancy configuration and main device replacing method
GB2455702B (en) 2007-11-29 2012-05-09 Ubidyne Inc A method and apparatus for autonomous port role assignments in master-slave networks
CN101217402B (zh) * 2008-01-15 2012-01-04 杭州华三通信技术有限公司 一种提高集群可靠性的方法和一种高可靠性通信节点
US8570898B1 (en) 2008-10-24 2013-10-29 Marvell International Ltd. Method for discovering devices in a wireless network
US8225021B2 (en) 2009-05-28 2012-07-17 Lexmark International, Inc. Dynamic address change for slave devices on a shared bus
CN101729290A (zh) * 2009-11-04 2010-06-09 中兴通讯股份有限公司 用于实现业务系统保护的方法及装置
CN102149205B (zh) 2010-02-09 2016-06-15 中兴通讯股份有限公司 一种中继节点的状态管理方法及系统
CN101895447B (zh) * 2010-08-31 2012-06-13 迈普通信技术股份有限公司 Sip中继网关故障监控方法以及sip中继网关
CN102231681B (zh) 2011-06-27 2014-07-30 中国建设银行股份有限公司 一种高可用集群计算机系统及其故障处理方法
US20130051220A1 (en) * 2011-08-22 2013-02-28 Igor Ryshakov Method and Apparatus for Quick-Switch Fault Tolerant Backup Channel
US9344494B2 (en) 2011-08-30 2016-05-17 Oracle International Corporation Failover data replication with colocation of session state data
CN102427412A (zh) * 2011-12-31 2012-04-25 网宿科技股份有限公司 基于内容分发网络的零延时主备源灾备切换方法和系统
CN103383689A (zh) * 2012-05-03 2013-11-06 阿里巴巴集团控股有限公司 一种服务进程故障检测方法、装置及服务节点
US10783030B2 (en) 2014-03-12 2020-09-22 Sensia Llc Network synchronization for master and slave devices
US9489270B2 (en) 2014-07-31 2016-11-08 International Business Machines Corporation Managing backup operations from a client system to a primary server and secondary server
US9760529B1 (en) * 2014-09-17 2017-09-12 Amazon Technologies, Inc. Distributed state manager bootstrapping

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848754A (zh) * 2005-04-13 2006-10-18 华为技术有限公司 一种切换服务器的控制方法
CN101690136A (zh) * 2007-06-26 2010-03-31 汤姆逊许可证公司 实时协议流迁移
KR101243434B1 (ko) * 2011-10-20 2013-03-13 성균관대학교산학협력단 게이트웨이를 이용한 필드버스 동기화 방법 및 게이트웨이를 이용한 필드버스 동기화 시스템
CN102521339A (zh) * 2011-12-08 2012-06-27 北京京东世纪贸易有限公司 用于动态访问数据源的系统和方法
CN103546590A (zh) * 2013-10-18 2014-01-29 北京奇虎科技有限公司 一种dns服务器的选择方法与装置

Also Published As

Publication number Publication date
CN106856489A (zh) 2017-06-16
US10862740B2 (en) 2020-12-08
US20180331888A1 (en) 2018-11-15
WO2017097130A1 (zh) 2017-06-15

Similar Documents

Publication Publication Date Title
CN106856489B (zh) 一种分布式存储系统的服务节点切换方法和装置
US7802128B2 (en) Method to avoid continuous application failovers in a cluster
EP3399692B1 (en) Method and apparatus for upgrading distributed storage system
US20160140164A1 (en) Complex event processing apparatus and complex event processing method
CN107040576B (zh) 信息推送方法及装置、通讯系统
US9652307B1 (en) Event system for a distributed fabric
US20210320977A1 (en) Method and apparatus for implementing data consistency, server, and terminal
US11397632B2 (en) Safely recovering workloads within a finite timeframe from unhealthy cluster nodes
CN106331081B (zh) 一种信息同步方法及装置
CN111865632A (zh) 分布式数据存储集群的切换方法及切换指令发送方法和装置
CN111342986B (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN108733466A (zh) 重启分布式系统中的应用系统实例的方法、装置及设备
TWI740885B (zh) 分布式儲存系統的服務節點切換方法及裝置
CN110908824A (zh) 一种故障识别方法、装置及设备
CN110908792B (zh) 一种数据处理方法及装置
CN110727652B (zh) 一种云存储处理系统及其实现数据处理的方法
JP2009086758A (ja) コンピュータ・システム及びシステム管理プログラム
US10311032B2 (en) Recording medium, log management method, and log management apparatus
CN112463514A (zh) 分布式缓存集群的监测方法和装置
CN110597603A (zh) 一种分布式排期任务的调度方法与系统
CN109976663A (zh) 分布式存储响应方法和系统
US11442812B2 (en) System and method
CN110908850A (zh) 数据获取方法及装置
WO2015176455A1 (zh) 基于Hadoop的硬盘损坏处理方法及装置
JP6802056B2 (ja) クライアント装置、サーバ装置およびサーバ選択方法

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210721

Address after: No.12 Zhuantang science and technology economic block, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: ALIYUN COMPUTING Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.