本申请涉及计算机技术领域,具体地说,涉及一种主从服务器的切换方法及系统。
背景技术:
现有技术中,为了确保数据存储引擎的稳定性和数据安全性,通常使用两台服务器,一台为主服务器,另一台为从服务器。正常工作时,客户端与主服务器连接,进行数据传输,当主服务器发生问题或者整机故障时,才会使用从服务器。目前,客户端所采用的的主从服务器之间进行切换的方法是只有在主服务器的连接出现问题或是整机故障时,才会切换到另一台备用的从服务器,但是如果这台从服务器中的数据信息和发生故障的主服务器中的数据不匹配,则会造成部分数据的丢失,不利于保障数据存储的稳定性和安全性。
技术实现要素:
有鉴于此,本申请提供了一种主从服务器的切换方法及系统,通过设置主从服务器的切换系统包括电子设备、主服务器和至少两台从服务器,以提高数据存储的稳定性和安全性。
为了解决上述技术问题,本申请有如下技术方案:
第一方面,本申请提供一种主从服务器的切换方法,包括:
通过电子设备监听主服务器是否发生异常,所述异常包括所述主服务器宕机、所述主服务器的资源发生异常、所述主服务器的网络发生异常;
若所述主服务器发生异常,所述电子设备比较所有从服务器中的数据信息版本与发生异常的所述主服务器中的数据信息版本,选取所述数据信息版本与发生异常的所述主服务器的所述数据信息版本相同的一台所述从服务器作为新的主服务器;或,所述电子设备比较所有所述从服务器中的所述数据信息版本与发生异常的所述主服务器中的所述数据信息版本,若任一台所述从服务器的所述数据信息版本均与发生异常的所述主服务器中的所述数据信息版本不同,则在预设时间段内等待发生异常的所述主服务器恢复正常;
若所述主服务器未发生异常,则所述电子设备继续监听所述主服务器是否发生异常。
可选地,其中:
当所述主服务器发生异常后,若在所述预设时间段内,发生异常的所述主服务器未恢复正常,选取所有所述从服务器中所述数据信息版本和发生异常的所述主服务器的所述数据信息版本重合度最高的一台所述从服务器作为新的主服务器。
可选地,其中:
所述电子设备为zookeeper设备。
可选地,其中:
所述主服务器中设置有主内存数据库,所述从服务器中设置有从内存数据库,所述主内存数据库用于实时保存客户端发出操作命令执行后的数据信息,所述数据信息用于所述从内存数据库的实时读取并保存。
可选地,其中:
所述从服务器作为所述新的主服务器,包括:将作为所述新的主服务器的所述从服务器的中的从内存数据库切换为新的主内存数据库。
第二方面,本申请提供一种主从服务器的切换系统,所述系统包括电子设备、主服务器和至少两台从服务器;
所述电子设备用于监听所述主服务器是否发生异常,所述异常包括所述主服务器宕机、所述主服务器的资源发生异常、所述主服务器的网络发生异常;
若所述主服务器发生异常,所述电子设备比较所有所述从服务器中的数据信息版本与发生异常的所述主服务器中的数据信息版本,选取所述数据信息版本与发生异常的所述主服务器的所述数据信息版本相同的一台所述从服务器作为新的主服务器;或,所述电子设备比较所有所述从服务器中的所述数据信息版本与发生异常的所述主服务器中的所述数据信息版本,若任一台所述从服务器的所述数据信息版本均与发生异常的所述主服务器中的所述数据信息版本不同,则在预设时间段内等待发生异常的所述主服务器恢复正常;
若所述主服务器未发生异常,则所述电子设备继续监听所述主服务器是否发生异常。
可选地,其中:
当所述主服务器发生异常后,若在所述预设时间段内,发生异常的所述主服务器未恢复正常,所述电子设备用于选取所有所述从服务器中所述数据信息版本和发生异常的所述主服务器的所述数据信息版本重合度最高的一台所述从服务器作为新的主服务器。
可选地,其中:
所述电子设备为zookeeper设备。
可选地,其中:
所述主从服务器的切换系统还包括客户端,所述客户端用于向所述主服务器和所述从服务器发出操作命令;所述主服务器中设置有主内存数据库,所述从服务器中设置有从内存数据库,所述主内存数据库用于实时保存所述客户端发出操作命令执行后的数据信息,所述数据信息用于所述从内存数据库的实时读取并保存。
可选地,其中:
所述选取所述数据信息版本与发生异常的所述主服务器的所述数据信息版本相同的一台所述从服务器作为所述新的主服务器,包括:将作为所述新的主服务器的所述从服务器的中的从内存数据库切换为新的主内存数据库。
与现有技术相比,本申请所述的一种主从服务器的切换方法及系统,达到了如下效果:
本申请提供的一种主从服务器的切换方法及系统,设置主从服务器的切换系统包括电子设备、主服务器和至少两台从服务器,通过电子设备对主服务器是否发生异常进行实时监听,当主服务器发生异常时,通过对所有从服务器中的数据信息版本与发生异常的主服务器中的数据信息版本进行比较,选取数据信息版本与发生异常的主服务器的数据信息版本相同的一台从服务器作为新的主服务器;若是没有数据信息版本和发生异常的主服务器中的数据信息版本相同的从服务器,则在预设时间段内等待发生异常的主服务器恢复正常;从而避免服务器中存储数据的大量丢失,有利于提高数据存储的稳定性和安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1所示为本申请实施例所提供的一种主从服务器的切换方法的流程图;
图2所示为本申请实施例所提供的一种主从服务器的切换方法的另一种流程图;
图3所示为本申请实施例提供的一种主从服务器的切换系统的模块图;
图4所示为本申请实施例提供的一种主从服务器的切换系统的另一种模块图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
目前,客户端所采用的的主从服务器之间进行切换的方法是只有在主服务器的连接出现问题或是整机故障时,才会切换到另一台备用的从服务器,但是如果这台从服务器中的数据信息和发生故障的主服务器中的数据不匹配,则会造成部分数据的丢失,不利于保障数据存储的稳定性和安全性。
有鉴于此,本申请提供了一种主从服务器的切换方法及系统,通过设置主从服务器的切换系统包括电子设备、主服务器和至少两台从服务器,以提高数据存储的稳定性和安全性。
以下结合附图和具体实施例进行详细说明。
图1所示为本申请实施例所提供的一种主从服务器的切换方法的流程图,请参照图1,本申请提供了一种主从服务器的切换方法,包括:
步骤101、通过电子设备监听主服务器是否发生异常,异常包括主服务器宕机、主服务器的资源发生异常、主服务器的网络发生异常;
步骤1021、若主服务器发生异常,电子设备比较所有从服务器中的数据信息版本与发生异常的主服务器中的数据信息版本,选取数据信息版本与发生异常的主服务器的数据信息版本相同的一台从服务器作为新的主服务器;或,
步骤1022、若主服务器发生异常,电子设备比较所有从服务器中的数据信息版本与发生异常的主服务器中的数据信息版本,若任一台从服务器的数据信息版本均与发生异常的主服务器中的数据信息版本不同,则在预设时间段内等待发生异常的主服务器恢复正常;
步骤103、若主服务器未发生异常,则电子设备继续监听主服务器是否发生异常。
具体地,本申请所提供的主从服务器的切换方法用于主从服务器的切换系统,主从服务器的切换系统包括电子设备、主服务器和至少两台从服务器。
主从服务器的切换方法包括:
在步骤101,通过电子设备对主服务器的工作状态进行监听,监听主服务器的工作状态是否具有异常,此处的异常包括主服务器宕机、主服务器的资源发生异常、主服务器的网络发生异常等。
在步骤1021中,当电子设备判断主服务器发生异常时,电子设备会自动选取一台从服务器作为新的主服务器,需要说明的是,电子设备选取一台从服务器作为新的主服务器的过程具体为:电子设备除监听主服务器之外还会监听每一台从服务器的工作状态,由于主服务器和从服务器之间遵从主从复制原则,因此,从服务器会复制主服务器中存储的数据信息;电子设备通过比较每一台从服务器中所存储的数据信息版本和发生异常的主服务器中的数据信息版本是否一致,也即比较从服务器和发生异常的主服务器中所存储的数据信息是不是相同的,如果所有的从服务器中均已复制到发生异常的主服务器中所存储的数据,则任意选一台从服务器作为新的主服务器即可;若是只有一台从服务器中复制了发生异常的主服务器中的数据,则选取这一台从服务器作为新的主服务器就可;以避免新选取的作为主服务器的从服务器中存储的数据不完整,有利于保障数据存储的可靠性和完整性。
或是,在步骤1022中,当电子设备判断主服务器发生异常时,可以选择等待发生异常的主服务器恢复正常,需要说明的是,上述等待发生异常的主服务器恢复正常的过程具体为:电子设备通过比较从服务器中的数据信息版本与发生异常的主服务器中的数据信息版本是否相同,若没有任何一台从服务器中的数据信息版本和发生异常的主服务器中的数据信息版本是相同的,即在主服务器发生异常时,所有的从服务器都没有将主服务器中已经保存的数据复制完整,此时需要等待发生异常的主服务器恢复正常,以避免新的主服务器中保存的数据信息不完整。
步骤103中,如果电子设备对主服务器的监听过程中并没有发现主服务器发生异常,则通过电子设备对主服务器和从服务器的工作状态继续进行监听,以避免主服务器突然发生异常造成数据的丢失,以此提高数据存储的稳定性和安全性。需要说明的是,图1仅是一种主从服务器的切换方法的流程示意图,其中的步骤1021、步骤1022和步骤103并没有前后顺序之分。
图2所示为本申请实施例所提供的一种主从服务器的切换方法的另一种流程图,请参照图2,可选地,步骤104,当主服务器发生异常后,若在预设时间段内,发生异常的主服务器未恢复正常,选取所有从服务器中数据信息版本和发生异常的主服务器的数据信息版本重合度最高的一台从服务器作为新的主服务器。
具体地,本申请所提供的一种主从服务器的切换方法中,还包括步骤104,在上述步骤1022中,若在等待预设时间段后,发生异常的主服务器若是仍没有恢复正常的话,则会通过电子设备选取经过比较后,数据信息版本和发生异常的主服务器中的数据信息版本重合度最高的一台从服务器作为新的主服务器,以保证大部分的数据能够被正常存储,从而避免数据的大量丢失。需要说明的是,图2仅是一种主从服务器的切换方法的流程示意图,其中的步骤1021、步骤1022、步骤104和步骤103并没有前后顺序之分。
可选地,电子设备为zookeeper设备。
具体地,本申请中上述的电子设备为zookeeper设备,主从服务器的切换方法适用于有zookeeper设备管理的服务器集群,zookeeper设备中可集成有监控服务器,监控服务器和主服务器、从服务器之间保持心跳连接,监控服务器监听主服务器和从服务器的工作状态,并随时报告给zookeeper设备,主服务器和从服务器也分别在和zookeeper设备保持心跳连接的前提下向zookeeper设备报告自己的工作状态,并检查监控服务器有没有将自己最新的工作状态在zookeeper设备中修改;从而保障zookeeper设备对于主服务器和从服务器工作状态监听的可靠性。
可选地,主服务器中设置有主内存数据库,从服务器中设置有从内存数据库,主内存数据库用于实时保存客户端发出操作命令执行后的数据信息,数据信息用于从内存数据库的实时读取并保存。
具体地,主从服务器的切换系统还包括客户端,主服务器中设置有主内存数据库,主内存数据库用于实时保存客户端发出操作指令,主服务器每次执行操作后的数据信息,从服务器中设置有从内存数据库,由于主从服务器遵循主从复制原则,因此,每个从服务器中设置的从内存数据库可以对主服务器每次执行操作后的数据信息进行实时读取并保存。从而保证每一台从服务器都能够实时对主服务器中所存储的数据进行复制,以避免主服务器发生故障无法恢复而造成大量数据丢失的情况,以此提高数据存储的稳定性和安全性。
可选地,从服务器作为新的主服务器,包括:将作为新的主服务器的从服务器的中的从内存数据库切换为新的主内存数据库。
具体地,当主服务器发生异常且无法恢复时,从多台从服务器中选取了一台最合适的作为新的主服务器,这其中还包括,将作为新的主服务器的从服务器的中的从内存数据库切换为新的主内存数据库。
图3所示为本申请实施例提供的一种主从服务器的切换系统的模块图,请参照图3,基于同一发明构思,本申请还提供了一种主从服务器的切换系统10,系统包括电子设备11、主服务器12和至少两台从服务器13;
电子设备11用于监听主服务器12是否发生异常,异常包括主服务器12宕机、主服务器12的资源发生异常、主服务器12的网络发生异常;
若主服务器12发生异常,电子设备11比较所有从服务器13中的数据信息版本与发生异常的主服务器12中的数据信息版本,选取数据信息版本与发生异常的主服务器12的数据信息版本相同的一台从服务器13作为新的主服务器12;或,电子设备11比较所有从服务器13中的数据信息版本与发生异常的主服务器12中的数据信息版本,若任一台从服务器13的数据信息版本均与发生异常的主服务器12中的数据信息版本不同,则在预设时间段内等待发生异常的主服务器12恢复正常;
若主服务器12未发生异常,则电子设备11继续监听主服务器12是否发生异常。
具体地,本申请还提供了一种主从服务器的切换系统10,包括电子设备11、主服务器12和至少两台从服务器13。
电子设备11用于对主服务器12的工作状态进行监听,监听主服务器12的工作状态是否发生异常,此处的异常包括主服务器12宕机、主服务器12的资源发生异常、主服务器12的网络发生异常等。
当判断到主服务器12发生异常时,电子设备11还可以自动选取一台从服务器13作为新的主服务器12;需要说明的是,电子设备11选取一台从服务器13作为新的主服务器12的过程具体为:电子设备11除监听主服务器12之外还会监听每一台从服务器13的工作状态,由于主服务器12和从服务器13之间遵从主从复制原则,因此,从服务器13会复制主服务器12中存储的数据信息;电子设备11通过比较每一台从服务器13中所存储的数据信息版本和发生异常的主服务器12中的数据信息版本是否一致,也即比较从服务器13和发生异常的主服务器12中所存储的数据信息是不是相同的,如果所有的从服务器13中均已复制到发生异常的主服务器12中所存储的数据,则任意选一台从服务器13作为新的主服务器12即可;若是只有一台从服务器13中复制了发生异常的主服务器12中的数据,则选取这一台从服务器13作为新的主服务器12就可;以避免新选取的作为主服务器12的从服务器13中存储的数据不完整,有利于保障数据存储的可靠性和完整性。
或是,当判断到主服务器12发生异常时,等待发生异常的主服务器12恢复正常;需要说明的是,上述等待发生异常的主服务器12恢复正常的过程具体为:电子设备11用于比较比较从服务器13中的数据信息版本与发生异常的主服务器12中的数据信息版本是否相同,若没有任何一台从服务器13中的数据信息版本和发生异常的主服务器12中的数据信息版本是相同的,即在主服务器12发生异常时,所有的从服务器13都没有将主服务器12中已经保存的数据复制完整,此时需要等待发生异常的主服务器12恢复正常,以避免新的主服务器12中保存的数据信息不完整。
如果电子设备11对主服务器12的监听过程中并没有发现主服务器12发生异常,则电子设备11用于对主服务器12和从服务器13的工作状态继续进行监听,以避免主服务器12突然发生异常,造成数据的丢失,以此提高数据存储的稳定性和安全性。
可选地,当主服务器12发生异常后,若在预设时间段内,发生异常的主服务器12未恢复正常,电子设备11用于选取所有从服务器13中信息版本和发生异常的主服务器12的信息版本重合度最高的一台从服务器13作为新的主服务器12。
具体地,当主服务器12发生异常后,在等待预设时间段后,若是发生异常的主服务器12仍没有恢复正常的话,电子设备11用于从多个从服务器13中选取新的主服务器12,具体为电子设备11选取经过先前的比较后,数据信息版本和发生异常的主服务器12中的数据信息版本重合度最高的一台从服务器13作为新的主服务器12,以保证大部分的数据能够被正常存储,从而避免数据的大量丢失。
可选地,电子设备11为zookeeper设备。
具体地,本申请中上述的电子设备11为zookeeper设备,主从服务器13的切换方法适用于有zookeeper设备管理的服务器集群,zookeeper设备中可集成有监控服务器,监控服务器和主服务器12、从服务器13之间保持心跳连接,监控服务器监听主服务器12和从服务器13的工作状态,并随时报告给zookeeper设备,主服务器12和从服务器13也分别在和zookeeper设备保持心跳连接的前提下向zookeeper设备报告自己的工作状态,并检查监控服务器有没有将自己最新的工作状态在zookeeper设备中修改;从而保障zookeeper设备对于主服务器12和从服务器13工作状态监听的可靠性。
图4所示为本申请实施例提供的一种主从服务器的切换系统的另一种模块图,请参照图4,可选地,主从服务器的切换系统10还包括客户端14,客户端14用于向主服务器12和从服务器13发出操作命令;主服务器12中设置有主内存数据库,从服务器13中设置有从内存数据库,主内存数据库用于实时保存客户端14发出操作命令执行后的数据信息,数据信息用于从内存数据库的实时读取并保存。
具体地,主从服务器的切换系统10还包括客户端14,主服务器12中设置有主内存数据库,主内存数据库用于实时保存客户端14发出操作指令,主服务器12每次执行操作后的数据信息,从服务器13中设置有从内存数据库,由于主从服务器13遵循主从复制原则,因此,每个从服务器13中设置的从内存数据库可以对主服务器12每次执行操作后的数据信息进行实时读取并保存。从而保证每一台从服务器13都能够实时对主服务器12中所存储的数据进行复制,以避免主服务器12发生故障无法恢复而造成大量数据丢失的情况,以此提高数据存储的稳定性和安全性。
可选地,选取数据信息版本与发生异常的主服务器12的数据信息版本相同的一台从服务器13作为新的主服务器12,包括:将作为新的主服务器12的从服务器13的中的从内存数据库切换为新的主内存数据库。
具体地,当主服务器12发生异常且无法恢复时,从多台从服务器13中选取了一台最合适的作为新的主服务器12,这其中还包括,将作为新的主服务器12的从服务器13的中的从内存数据库切换为新的主内存数据库。
通过以上各实施例可知,本申请存在的有益效果是:
本申请提供的一种主从服务器的切换方法及系统,设置主从服务器的切换系统包括电子设备、主服务器和至少两台从服务器,通过电子设备对主服务器是否发生异常进行实时监听,当主服务器发生异常时,通过对所有从服务器中的数据信息版本与发生异常的主服务器中的数据信息版本进行比较,选取数据信息版本与发生异常的主服务器的数据信息版本相同的一台从服务器作为新的主服务器;若是没有数据信息版本和发生异常的主服务器中的数据信息版本相同的从服务器,则在预设时间段内等待发生异常的主服务器恢复正常;从而避免服务器中存储数据的大量丢失,有利于提高数据存储的稳定性和安全性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
1.一种主从服务器的切换方法,其特征在于,包括:
通过电子设备监听主服务器是否发生异常,所述异常包括所述主服务器宕机、所述主服务器的资源发生异常、所述主服务器的网络发生异常;
若所述主服务器发生异常,所述电子设备比较所有从服务器中的数据信息版本与发生异常的所述主服务器中的数据信息版本,选取所述数据信息版本与发生异常的所述主服务器的所述数据信息版本相同的一台所述从服务器作为新的主服务器;或,所述电子设备比较所有所述从服务器中的所述数据信息版本与发生异常的所述主服务器中的所述数据信息版本,若任一台所述从服务器的所述数据信息版本均与发生异常的所述主服务器中的所述数据信息版本不同,则在预设时间段内等待发生异常的所述主服务器恢复正常;
若所述主服务器未发生异常,则所述电子设备继续监听所述主服务器是否发生异常。
2.根据权利要求1所述的一种主从服务器的切换方法,其特征在于,当所述主服务器发生异常后,若在所述预设时间段内,发生异常的所述主服务器未恢复正常,选取所有所述从服务器中所述数据信息版本和发生异常的所述主服务器的所述数据信息版本重合度最高的一台所述从服务器作为新的主服务器。
3.根据权利要求1所述的一种主从服务器的切换方法,其特征在于,所述电子设备为zookeeper设备。
4.根据权利要求1所述的一种主从服务器的切换方法,其特征在于,所述主服务器中设置有主内存数据库,所述从服务器中设置有从内存数据库,所述主内存数据库用于实时保存客户端发出操作命令执行后的数据信息,所述数据信息用于所述从内存数据库的实时读取并保存。
5.根据权利要求1或2所述的一种主从服务器的切换方法,其特征在于,所述从服务器作为所述新的主服务器,包括:将作为所述新的主服务器的所述从服务器的中的从内存数据库切换为新的主内存数据库。
6.一种主从服务器的切换系统,其特征在于,所述系统包括电子设备、主服务器和至少两台从服务器;
所述电子设备用于监听所述主服务器是否发生异常,所述异常包括所述主服务器宕机、所述主服务器的资源发生异常、所述主服务器的网络发生异常;
若所述主服务器发生异常,所述电子设备比较所有所述从服务器中的数据信息版本与发生异常的所述主服务器中的数据信息版本,选取所述数据信息版本与发生异常的所述主服务器的所述数据信息版本相同的一台所述从服务器作为新的主服务器;或,所述电子设备比较所有所述从服务器中的所述数据信息版本与发生异常的所述主服务器中的所述数据信息版本,若任一台所述从服务器的所述数据信息版本均与发生异常的所述主服务器中的所述数据信息版本不同,则在预设时间段内等待发生异常的所述主服务器恢复正常;
若所述主服务器未发生异常,则所述电子设备继续监听所述主服务器是否发生异常。
7.根据权利要求6所述的一种主从服务器的切换系统,其特征在于,当所述主服务器发生异常后,若在所述预设时间段内,发生异常的所述主服务器未恢复正常,所述电子设备用于选取所有所述从服务器中所述数据信息版本和发生异常的所述主服务器的所述数据信息版本重合度最高的一台所述从服务器作为新的主服务器。
8.根据权利要求6所述的一种主从服务器的切换系统,其特征在于,所述电子设备为zookeeper设备。
9.根据权利要求6所述的一种主从服务器的切换系统,其特征在于,所述主从服务器的切换系统还包括客户端,所述客户端用于向所述主服务器和所述从服务器发出操作命令;所述主服务器中设置有主内存数据库,所述从服务器中设置有从内存数据库,所述主内存数据库用于实时保存所述客户端发出操作命令执行后的数据信息,所述数据信息用于所述从内存数据库的实时读取并保存。
10.根据权利要求6所述的一种主从服务器的切换系统,其特征在于,所述选取所述数据信息版本与发生异常的所述主服务器的所述数据信息版本相同的一台所述从服务器作为所述新的主服务器,包括:将作为所述新的主服务器的所述从服务器的中的从内存数据库切换为新的主内存数据库。
技术总结