分布式存储系统路由方法、路由管理服务器及系统的制作方法

文档序号:8002732阅读:280来源:国知局
分布式存储系统路由方法、路由管理服务器及系统的制作方法
【专利摘要】本发明涉及一种分布式存储系统路由方法、服务器及系统,其方法包括:路由管理服务器在监测到主机宕机时,切换系统路由为只读备机状态;接收接入服务器同步只读备机状态的系统路由信息成功后的上报信息;当接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将备机设置为主机,并由所有接入服务器同步修改后的系统路由信息。本发明在主机宕机的情况下,实现主机与备机的自动切换,保证了分布式存储系统主备切换中数据的一致性,提高了系统性能。
【专利说明】分布式存储系统路由方法、路由管理服务器及系统

【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种分布式存储系统路由方法、路由管理服务器及系统。

【背景技术】
[0002]在分布式存储系统中配置有主机和备机,其中,主机是实际对外提供服务的节点;备机是为主机部署的对应的备份节点,在主机宕机的情况下,备机自动升级为主机,对外提供服务,以提高数据的安全性。
[0003]随着分布式存储系统规模的逐渐增大,节点宕机成为一个比较普遍的现象,在出现主机宕机的情况下,如何在最短的时间内把备机升级为主机并对外提供服务,此时则需要主备自动切换技术,不需要人工干预,并保证不误切,以及数据一致性。
[0004]目前使用比较普遍的是采用zookeeper技术,主要是部署zookeeper集群接受主备上报的心跳,然后由zookeeper来发放租约来决定由谁来对外提供服务。但是,现有的zookeeper技术存在以下缺点:
[0005]当分布式存储系统规模比较大时,采用zookeeper方式管理比较复杂;另外,当zookeeper系统出现问题时,会导致整个存储系统获取租约失败,进而停止对外提供服务,影响系统业务正常进行。


【发明内容】

[0006]本发明实施例提供一种分布式存储系统路由方法、路由管理服务器及系统,旨在保证分布式存储系统主备切换中数据的一致性,提高系统性能。
[0007]本发明实施例提出一种分布式存储系统路由方法,包括:
[0008]路由管理服务器在监测到主机宕机时,切换系统路由为只读备机状态;
[0009]接收接入服务器同步只读备机状态的系统路由信息成功后的上报信息;
[0010]当接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将所述备机设置为主机,并由所有接入服务器同步修改后的系统路由信息。
[0011]本发明实施例还提出一种分布式存储系统路由管理服务器,包括:
[0012]第一切换模块,用于在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态;
[0013]信息接收模块,用于接收接入服务器同步只读备机状态的路由信息成功后的上报信息;
[0014]第二切换模块,用于当接收到所有接入服务器成功同步所述只读备机状态的路由信息的上报信息时,修改系统路由信息,将所述备机设置为主机,并由所有接入服务器同步修改后的系统路由信息。
[0015]本发明实施例还提出一种分布式存储系统,包括:主机、至少一备机、至少一接入服务器,以及如上所述的路由管理服务器,所述路由管理服务器分别与所述主机、所述至少一备机、所述至少一接入服务器通信连接,其中:
[0016]所述主机,用于存储服务数据并通过所述路由管理服务器对外提供服务;
[0017]所述至少一备机,用于存储服务数据,在所述主机宕机时,由所述路由管理服务器控制切换为主机对外提供服务;
[0018]所述至少一接入服务器,用于从所述路由管理服务器获取系统路由信息,处理业务接入访问;以及在所述主机宕机时,同步只读备机状态的系统路由信息并上报所述路由管理服务器,在所述备机切换为主机后,同步修改后的系统路由信息。
[0019]本发明实施例提出的一种分布式存储系统路由方法、路由管理服务器及系统,在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态;当路由管理服务器接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将备机设置为主机,并由所有接入服务器同步修改后的系统路由信息,由此在主机宕机的情况下,实现主机与备机的自动切换,保证了分布式存储系统主备切换中数据的一致性,提高了系统性能。

【专利附图】

【附图说明】
[0020]图1是本发明分布式存储系统路由方法第一实施例的流程示意图;
[0021]图2是本发明实施例中分布式存储系统的架构示意图;
[0022]图3是本发明分布式存储系统路由方法第二实施例的流程示意图;
[0023]图4a是本发明分布式存储系统路由方法实施例中路由管理服务器监测主机是否宕机的一种流程示意图;
[0024]图4b是本发明分布式存储系统路由方法实施例中路由管理服务器监测主机是否宕机的另一种流程示意图;
[0025]图4c是本发明分布式存储系统路由方法实施例中路由管理服务器监测主机是否岩机的再一种流程示意图;
[0026]图5是本发明分布式存储系统路由管理服务器第一实施例的结构示意图;
[0027]图6是本发明分布式存储系统路由管理服务器第二实施例的结构示意图;
[0028]图7a是本发明分布式存储系统路由管理服务器实施例中宕机监测模块的一种结构示意图;
[0029]图7b是本发明分布式存储系统路由管理服务器实施例中宕机监测模块的另一种结构示意图;
[0030]图7c是本发明分布式存储系统路由管理服务器实施例中宕机监测模块的再一种结构示意图。
[0031]为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。

【具体实施方式】
[0032]本发明实施例解决方案主要是:在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态;当路由管理服务器接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将备机设置为主机,并由所有接入服务器同步修改后的系统路由信息。
[0033]如图1所示,本发明第一实施例提出一种分布式存储系统路由方法,包括:
[0034]步骤S101,路由管理服务器在监测到主机宕机时,切换系统路由为只读备机状态;
[0035]本实施例方法涉及的分布式存储系统的架构如图2所示,该分布式存储系统包括:路由(route)管理服务器、存储服务器以及若干个接入服务器,其中:
[0036]接入服务器(proxy):负责业务接入访问,其路由信息是由定时线程去路由管理服务器拉取(定时线程的间隔可以设置默认为I秒)。
[0037]路由管理服务器(router):负责管理存储服务器的路由信息,定时去检测每个存储服务器的心跳上报状态;
[0038]存储服务器采用一主一备部署方式,包括主机(master)和备机(slave):负责服务数据的具体存储,主机和备机定时上报心跳状态到路由管理服务器。其中,主机为实际对外提供服务的节点,在主机宕机的情况下,备机自动升级为主机,对外提供服务,以保证分布式存储系统数据的一致性。
[0039]上述系统路由信息为从存储服务器至接入服务器之间的路径信息。
[0040]在本实施例中,路由管理服务器会实时监测主机是否宕机,其中,监测方法在此不做限定,比如可以通过判断主机上报心跳状态是否超时来判断主机是否宕机。
[0041]路由管理服务器在监测到主机宕机时,进入主备切换流程,本实施例在切换过程中引入备机只读的有损服务状态,保证主备切换中数据的一致性。
[0042]具体地,路由管理服务器在监测到主机宕机时,切换系统路由为只读备机状态,SP只允许备机进行数据读取操作,而禁止备机进行数据写入操作,从而可以保证主备切换中数据的一致性。
[0043]然后,路由管理服务器等待接收所有接入服务器同步该只读备机状态的系统路由信息成功后的上报信息。
[0044]步骤S102,接收接入服务器同步只读备机状态的系统路由信息成功后的上报信息;
[0045]各接入服务器从路由管理服务器拉取系统路由信息,当上述只读备机状态的系统路由信息同步成功后,接入服务器向路由管理服务器上报同步成功的信息。
[0046]通过上述过程,可以保证系统不会同时存在两个主机的写操作,提高数据传输的准确性和系统性能。
[0047]步骤S103,当接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将所述备机设置为主机,并由所有接入服务器同步修改后的系统路由信息。
[0048]当路由管理服务器确认接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,路由管理服务器修改系统路由信息,将备机设置为主机。
[0049]然后,所有接入服务器同步修改后的系统路由信息,最后完成主机与备机的切换。
[0050]本实施例通过上述方案,在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态;当路由管理服务器接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将备机设置为主机,并由所有接入服务器同步修改后的系统路由信息,由此在主机宕机的情况下,实现主机与备机的自动切换,保证了分布式存储系统主备切换中数据的一致性,提高了系统性能。
[0051]如图3所示,本发明第二实施例提出一种分布式存储系统路由方法,在上述图1所示的实施例的基础上,在上述步骤SlOl:路由管理服务器在监测到主机宕机时,切换系统路由为只读备机状态的步骤之前,还包括:
[0052]步骤S100,路由管理服务器监测主机是否宕机;若是,则进入步骤S101,否则,结束流程。
[0053]本实施例与上述第一实施例的区别在于,本实施例还包括路由管理服务器监测主机是否宕机的方案。
[0054]具体地,如图4a所示,作为一种实施方式,上述步骤SlOO可以包括:
[0055]步骤S1001,所述路由管理服务器定期检查所述主机上报的心跳状态;
[0056]步骤S1002,判断主机心跳上报是否超时,若是,则进入步骤S1004 ;否则,进入步骤 S1005 ;
[0057]步骤S1004,判定所述主机宕机。
[0058]步骤S1005,判定所述主机未宕机。
[0059]在本实施方式中,通过路由管理服务器定期检查所述主机上报的心跳状态;当路由管理服务器检查到主机心跳上报超时时,即判定所述主机宕机,当路由管理服务器检查到主机心跳上报未超时时,表明主机心跳状态正常,即判定主机未宕机。
[0060]由此通过上述方案,实现了主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求。
[0061]如图4b所示,作为另一种实施方式,上述步骤SlOO可以包括:
[0062]步骤S1001,所述路由管理服务器定期检查所述主机上报的心跳状态;
[0063]步骤S1002,判断主机心跳上报是否超时,若是,则进入步骤S1003 ;否则,进入步骤 S1005 ;
[0064]步骤S1003,检查所述备机上报的心跳状态;当检查到所述备机上报的心跳状态正常时,进入步骤S1006 ;否则,结束流程;
[0065]步骤S1006,所述路由管理服务器向所述主机发送探测包,进入步骤S1007 ;
[0066]步骤S1007,判断探测包是否返回;若探测包未返回,则进入步骤S1004 ;若有探测包返回,则进入步骤S1005 ;
[0067]步骤S1004,判定所述主机宕机。
[0068]步骤S1005,判定所述主机未宕机。
[0069]在本实施方式中,在上述图4a所示的实施方式的基础上,在路由管理服务器监测主机是否宕机的过程中,当路由管理服务器检查到所述主机心跳上报超时时,检查备机上报的心跳状态;当路由管理服务器检查到备机上报的心跳状态正常时,路由管理服务器会尝试向主机发送探测包;当探测包未返回时,则判定主机宕机。
[0070]由此通过上述方案,实现了主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求。此外,相比图4a所示的实施方式,本实施方式对主机的宕机检查更准确。
[0071]如图4c所示,作为另一种实施方式,上述步骤SlOO可以包括:
[0072]步骤S1001,所述路由管理服务器定期检查所述主机上报的心跳状态;
[0073]步骤S1002,判断主机心跳上报是否超时,若是,则进入步骤S1003 ;否则,进入步骤 S1005 ;
[0074]步骤S1003,检查所述备机上报的心跳状态;当检查到所述备机上报的心跳状态正常时,进入步骤S1006 ;否则,进入步骤S1005 ;
[0075]步骤S1006,所述路由管理服务器向所述主机发送探测包,进入步骤S1007 ;
[0076]步骤S1007,判断探测包是否返回;若探测包未返回,则进入步骤S1008 ;若有探测包返回,则进入步骤S1005 ;
[0077]步骤S1008,从接入层选取若干接入服务器向所述主机发送探测包;若没有探测包返回,则进入步骤S1004 ;若有探测包返回,则进入步骤S1005 ;
[0078]步骤S1004,判定所述主机宕机。
[0079]步骤S1005,判定所述主机未宕机。
[0080]在本实施方式中,在上述图4b所示的实施方式的基础上,在路由管理服务器监测主机是否宕机的过程中,当所述路由管理服务器向所述主机发送探测包,且所述探测包未返回时,路由管理服务器会随机从接入层选取若干接入服务器向主机发送探测包,若没有探测包返回,则判定主机宕机。
[0081]由此通过上述方案,实现了主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求。此外,相比图4b所示的实施方式,本实施方式对主机的宕机检查更准确。
[0082]本实施例通过上述方案,通过对主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求;此外,在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态;当路由管理服务器接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将备机设置为主机,并由所有接入服务器同步修改后的系统路由信息,由此在主机宕机的情况下,实现主机与备机的自动切换,保证了分布式存储系统主备切换中数据的一致性,提高了系统性能。
[0083]如图5所示,本发明第一实施例提出一种分布式存储系统路由管理服务器,包括:第一切换模块201、信息接收模块202、第二切换模块203,其中:
[0084]第一切换模块201,用于在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态;
[0085]信息接收模块202,用于接收接入服务器同步只读备机状态的路由信息成功后的上报信息;
[0086]第二切换模块203,用于当接收到所有接入服务器成功同步所述只读备机状态的路由信息的上报信息时,修改系统路由信息,将所述备机设置为主机,并由所有接入服务器同步修改后的系统路由信息。
[0087]本实施例路由管理服务器所在的分布式存储系统的架构如图2所示,该分布式存储系统包括:路由(route)管理服务器、存储服务器以及若干个接入服务器,其中:
[0088]接入服务器(proxy):负责业务接入访问,其路由信息是由定时线程去路由管理服务器拉取(定时线程的间隔可以设置默认为I秒)。
[0089]路由管理服务器(router):负责管理存储服务器的路由信息,定时去检测每个存储服务器的心跳上报状态;
[0090]存储服务器米用一主一备部署方式,包括主机(master)和备机(slave):负责服务数据的具体存储,主机和备机定时上报心跳状态到路由管理服务器。其中,主机为实际对外提供服务的节点,在主机宕机的情况下,备机自动升级为主机,对外提供服务,以保证分布式存储系统数据的一致性。
[0091]上述系统路由信息为从存储服务器至接入服务器之间的路径信息。
[0092]在本实施例中,路由管理服务器会实时监测主机是否宕机,其中,监测方法在此不做限定,比如可以通过判断主机上报心跳状态是否超时来判断主机是否宕机。
[0093]路由管理服务器在监测到主机宕机时,进入主备切换流程,本实施例在切换过程中引入备机只读的有损服务状态,保证主备切换中数据的一致性。
[0094]具体地,路由管理服务器在监测到主机宕机时,通过第一切换模块201切换系统路由为只读备机状态,即只允许备机进行数据读取操作,而禁止备机进行数据写入操作,从而可以保证主备切换中数据的一致性。
[0095]然后,路由管理服务器等待接收所有接入服务器同步该只读备机状态的系统路由信息成功后的上报信息。
[0096]各接入服务器从路由管理服务器拉取系统路由信息,当上述只读备机状态的系统路由信息同步成功后,接入服务器向路由管理服务器上报同步成功的信息。路由管理服务器通过信息接收模块202接收接入服务器同步只读备机状态的路由信息成功后的上报信息。通过上述过程,可以保证系统不会同时存在两个主机的写操作,提高数据传输的准确性和系统性能。
[0097]当路由管理服务器确认接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,通过第二切换模块203修改系统路由信息,将备机设置为主机。
[0098]然后,所有接入服务器同步修改后的系统路由信息,最后完成主机与备机的切换。
[0099]本实施例通过上述方案,在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态;当路由管理服务器接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将备机设置为主机,并由所有接入服务器同步修改后的系统路由信息,由此在主机宕机的情况下,实现主机与备机的自动切换,保证了分布式存储系统主备切换中数据的一致性,提高了系统性能。
[0100]如图6所示,本发明第二实施例提出一种分布式存储系统路由管理服务器,在上述第一实施例的基础上,还包括:
[0101]宕机监测模块200,用于监测主机是否宕机。
[0102]本实施例与上述第一实施例的区别在于,本实施例还包括路由管理服务器监测主机是否宕机的方案。
[0103]具体地,如图7a所示,作为一种实施方式,所述宕机监测模块200可以包括:主机心跳检查单元2001及判断单元2002,其中:
[0104]主机心跳检查单元2001,用于定期检查所述主机上报的心跳状态;
[0105]判断单元2002,用于当所述主机心跳检查单元检查到主机心跳上报超时时,判定所述主机宕机。
[0106]在本实施方式中,通过路由管理服务器定期检查所述主机上报的心跳状态;当路由管理服务器检查到主机心跳上报超时时,即判定所述主机宕机,当路由管理服务器检查到主机心跳上报未超时时,表明主机心跳状态正常,即判定主机未宕机。
[0107]由此通过上述方案,实现了主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求。
[0108]如图7b所示,作为另一种实施方式,在上述图7a所示的实施方式的基础上,所述宕机监测模块200还可以包括:
[0109]备机心跳检查单元2003,用于当所述主机心跳检查单元检查到所述主机心跳上报超时时,检查所述备机上报的心跳状态;
[0110]探测包发送单元2004,用于当所述备机心跳检查单元检查到所述备机上报的心跳状态正常时,向所述主机发送探测包;
[0111]所述判断单元2002,还用于当所述探测包未返回时,判定所述主机宕机。
[0112]在本实施方式中,在上述图4a所示的实施方式的基础上,在路由管理服务器监测主机是否宕机的过程中,当路由管理服务器检查到所述主机心跳上报超时时,检查备机上报的心跳状态;当路由管理服务器检查到备机上报的心跳状态正常时,路由管理服务器会尝试向主机发送探测包;当探测包未返回时,则判定主机宕机。
[0113]由此通过上述方案,实现了主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求。此外,相比图4a所示的实施方式,本实施方式对主机的宕机检查更准确。
[0114]如图7c所示,作为再一种实施方式,在上述图7b所示的实施方式的基础上,所述宕机监测模块200还可以包括:
[0115]选取单元2005,用于当所述探测包发送单元2004向所述主机发送探测包,且所述探测包未返回时,从接入层选取若干接入服务器向所述主机发送探测包;若没有探测包返回,则由所述判断单元2003判定所述主机宕机。
[0116]在本实施方式中,在上述图4b所示的实施方式的基础上,在路由管理服务器监测主机是否宕机的过程中,当所述路由管理服务器向所述主机发送探测包,且所述探测包未返回时,路由管理服务器会随机从接入层选取若干接入服务器向主机发送探测包,若没有探测包返回,则判定主机宕机。
[0117]由此通过上述方案,实现了主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求。此外,相比图4b所示的实施方式,本实施方式对主机的宕机检查更准确。
[0118]本实施例通过上述方案,通过对主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求;此外,在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态;当路由管理服务器接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将备机设置为主机,并由所有接入服务器同步修改后的系统路由信息,由此在主机宕机的情况下,实现主机与备机的自动切换,保证了分布式存储系统主备切换中数据的一致性,提高了系统性能。
[0119]此外,本发明较佳实施例还提出一种分布式存储系统,包括:主机、至少一备机、至少一接入服务器,以及路由管理服务器,所述路由管理服务器可以为上述实施例所述的所述路由管理服务器,该路由管理服务器分别与所述主机、所述至少一备机、所述至少一接入服务器通信连接,其中:
[0120]所述主机,用于存储服务数据并通过所述路由管理服务器对外提供服务;
[0121]所述至少一备机,用于存储服务数据,在所述主机宕机时,由所述路由管理服务器控制切换为主机对外提供服务;
[0122]所述至少一接入服务器,用于从所述路由管理服务器获取系统路由信息,处理业务接入访问;以及在所述主机宕机时,同步只读备机状态的系统路由信息并上报所述路由管理服务器,在所述备机切换为主机后,同步修改后的系统路由信息。
[0123]进一步地,所述主机还用于定时上报心跳状态至所述路由管理服务器;
[0124]所述至少一备机还用于定时上报心跳状态至所述路由管理服务器。
[0125]具体地,本实施例路由管理服务器所在的分布式存储系统的架构可以如图2所示,该分布式存储系统包括:路由(route)管理服务器、存储服务器以及若干个接入服务器,其中:
[0126]接入服务器(proxy):负责业务接入访问,其路由信息是由定时线程去路由管理服务器拉取(定时线程的间隔可以设置默认为I秒)。
[0127]路由管理服务器(router):负责管理存储服务器的路由信息,定时去检测每个存储服务器的心跳上报状态;
[0128]存储服务器采用一主一备部署方式,包括主机(master)和备机(slave):负责服务数据的具体存储,主机和备机定时上报心跳状态到路由管理服务器。其中,主机为实际对外提供服务的节点,在主机宕机的情况下,备机自动升级为主机,对外提供服务,以保证分布式存储系统数据的一致性。
[0129]上述系统路由信息为从存储服务器至接入服务器之间的路径信息。
[0130]在本实施例中,首先,路由管理服务器会实时监测主机是否宕机,可以采用以下方式:
[0131]作为一种实施方式,通过路由管理服务器定期检查所述主机上报的心跳状态;当路由管理服务器检查到主机心跳上报超时时,即判定所述主机宕机,当路由管理服务器检查到主机心跳上报未超时时,表明主机心跳状态正常,即判定主机未宕机。
[0132]由此通过上述方案,实现了主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求。
[0133]作为另一种实施方式,在上述实施方式的基础上,在路由管理服务器监测主机是否宕机的过程中,当路由管理服务器检查到所述主机心跳上报超时时,检查备机上报的心跳状态;当路由管理服务器检查到备机上报的心跳状态正常时,路由管理服务器会尝试向主机发送探测包;当探测包未返回时,则判定主机宕机。
[0134]由此通过上述方案,实现了主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求。此外,上述实施方式,本实施方式对主机的宕机检查更准确。
[0135]作为再一种实施方式,在上述实施方式的基础上,在路由管理服务器监测主机是否宕机的过程中,当所述路由管理服务器向所述主机发送探测包,且所述探测包未返回时,路由管理服务器会随机从接入层选取若干接入服务器向主机发送探测包,若没有探测包返回,则判定主机宕机。
[0136]由此通过上述方案,实现了主机宕机检查,使得系统可以根据宕机检查结果判断是否进入主备切换流程,从而满足了系统需求。此外,相比上述实施方式,本实施方式对主机的宕机检查更准确。
[0137]后续过程中,路由管理服务器在监测到主机宕机时,进入主备切换流程,本实施例在切换过程中引入备机只读的有损服务状态,保证主备切换中数据的一致性。
[0138]具体地,路由管理服务器在监测到主机宕机时,切换系统路由为只读备机状态,SP只允许备机进行数据读取操作,而禁止备机进行数据写入操作,从而可以保证主备切换中数据的一致性。
[0139]然后,路由管理服务器等待接收所有接入服务器同步该只读备机状态的系统路由信息成功后的上报信息。
[0140]各接入服务器从路由管理服务器拉取系统路由信息,当上述只读备机状态的系统路由信息同步成功后,接入服务器向路由管理服务器上报同步成功的信息。
[0141]通过上述过程,可以保证系统不会同时存在两个主机的写操作,提高数据传输的准确性和系统性能。
[0142]当路由管理服务器确认接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,路由管理服务器修改系统路由信息,将备机设置为主机。
[0143]然后,所有接入服务器同步修改后的系统路由信息,最后完成主机与备机的切换。
[0144]本实施例通过上述方案,在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态;当路由管理服务器接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将备机设置为主机,并由所有接入服务器同步修改后的系统路由信息,由此在主机宕机的情况下,实现主机与备机的自动切换,保证了分布式存储系统主备切换中数据的一致性,提高了系统性能。
[0145]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0146]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0147]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,月艮务器,或者网络设备等)执行本发明各个实施例所述的方法。具体地,图6、图7所述的分布式存储系统路由管理服务器所对应的程序指令可以存储在路由管理服务器的可读存储介质中,并被其中的至少一个处理器执行,以实现图1至图2所述的分布式存储系统路由方法。
[0148]以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种分布式存储系统路由方法,其特征在于,包括: 路由管理服务器在监测到主机宕机时,切换系统路由为只读备机状态; 接收接入服务器同步只读备机状态的系统路由信息成功后的上报信息; 当接收到所有接入服务器成功同步所述只读备机状态的系统路由信息的上报信息时,修改系统路由信息,将所述备机设置为主机,并由所有接入服务器同步修改后的系统路由信息。
2.根据权利要求1所述的方法,其特征在于,所述路由管理服务器在监测到主机宕机时,切换系统路由为只读备机状态的步骤之前,还包括: 所述路由管理服务器监测主机是否宕机;具体包括: 所述路由管理服务器定期检查所述主机上报的心跳状态; 当检查到所述主机心跳上报超时时,判定所述主机宕机。
3.根据权利要求2所述的方法,其特征在于,所述路由管理服务器监测主机是否宕机的步骤进一步还包括: 当检查到所述主机心跳上报超时时,检查所述备机上报的心跳状态; 当检查到所述备机上报的心跳状态正常时,所述路由管理服务器向所述主机发送探测包; 当所述探测包未返回时,判定所述主机岩机。
4.根据权利要求3所述的方法,其特征在于,所述路由管理服务器监测主机是否宕机的步骤进一步还包括: 当所述路由管理服务器向所述主机发送探测包,且所述探测包未返回时,从接入层选取若干接入服务器向所述主机发送探测包,若没有探测包返回,则判定所述主机宕机。
5.一种分布式存储系统路由管理服务器,其特征在于,包括: 第一切换模块,用于在路由管理服务器监测到主机宕机时,切换系统路由为只读备机状态; 信息接收模块,用于接收接入服务器同步只读备机状态的路由信息成功后的上报信息; 第二切换模块,用于当接收到所有接入服务器成功同步所述只读备机状态的路由信息的上报信息时,修改系统路由信息,将所述备机设置为主机,并由所有接入服务器同步修改后的系统路由信息。
6.根据权利要求5所述的服务器,其特征在于,还包括: 宕机监测模块,用于监测主机是否宕机;所述宕机监测模块包括: 主机心跳检查单元,用于定期检查所述主机上报的心跳状态; 判断单元,用于当所述主机心跳检查单元检查到主机心跳上报超时时,判定所述主机岩机。
7.根据权利要求6所述的服务器,其特征在于,所述宕机监测模块还包括: 备机心跳检查单元,用于当所述主机心跳检查单元检查到所述主机心跳上报超时时,检查所述备机上报的心跳状态; 探测包发送单元,用于当所述备机心跳检查单元检查到所述备机上报的心跳状态正常时,向所述主机发送探测包; 所述判断单元,还用于当所述探测包未返回时,判定所述主机宕机。
8.根据权利要求7所述的服务器,其特征在于,所述宕机监测模块还包括: 选取单元,用于当所述探测包发送单元向所述主机发送探测包,且所述探测包未返回时,从接入层选取若干接入服务器向所述主机发送探测包;若没有探测包返回,则由所述判断单元判定所述主机宕机。
9.一种分布式存储系统,其特征在于,包括:主机、至少一备机、至少一接入服务器,以及权利要求5-8中任一项所述的路由管理服务器,所述路由管理服务器分别与所述主机、所述至少一备机、所述至少一接入服务器通信连接,其中: 所述主机,用于存储服务数据并通过所述路由管理服务器对外提供服务; 所述至少一备机,用于存储服务数据,在所述主机宕机时,由所述路由管理服务器控制切换为主机对外提供服务; 所述至少一接入服务器,用于从所述路由管理服务器获取系统路由信息,处理业务接入访问;以及在所述主机宕机时,同步只读备机状态的系统路由信息并上报所述路由管理服务器,在所述备机切换为主机后,同步修改后的系统路由信息。
10.根据权利要求9所述的系统,其特征在于, 所述主机,还用于定时上报心跳状态至所述路由管理服务器; 所述至少一备机,还用于定时上报心跳状态至所述路由管理服务器。
【文档编号】H04L29/08GK104348842SQ201310312242
【公开日】2015年2月11日 申请日期:2013年7月23日 优先权日:2013年7月23日
【发明者】李洋 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1