本发明实施方式通信技术领域,尤其涉及一种基于云平台管理服务器的方法及装置。
背景技术:
随着互联网技术的不断发展,以及saas(software-as-a-service,软件即服务)业务的不断推广,互联网中服务器的数量也在不断增长。saas业务通过互联网提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己的实际需求,通过互联网向厂商定购所需的应用软件服务。这样,随着应用软件数量以及用户数量的增多,不可避免地会造成服务器数量的增多。在服务器数量不断增多的同时,用户对于服务器的稳定性和可靠性的需求也在不断提升。当前,为了保证能够为用户提供持续的服务,往往可以为运行业务的主服务器添置备用服务器以进行容灾备份。这样,当运行业务的主服务器出现故障时,可以由备用服务器继续为用户提供服务,以保证用户的业务不受影响。
然而,当前的容灾备份技术往往具有以下缺陷:
1、各个厂商的主服务器只能与该厂商的备用服务器之间进行数据互通,无法兼容其他厂商的服务器;
2、互为主备的服务器往往由机架固定并且位于同一空间中,由于受物理位置的限制,不具备可扩展性。
针对上述问题,当前还未出现有效的解决方案。
技术实现要素:
本发明实施方式的目的在于提供一种基于云平台管理服务器的方法及装置,以摆脱物理位置的限制,统一地对服务器进行控制,从而提高服务器的容灾性能以及支持服务器的可扩展性。
为实现上述目的,本发明实施方式提供一种基于云平台管理服务器的方法,所述方法包括:预先与接入云平台的服务器建立连接并为每个服务器分配唯一的标识;接收所述服务器发来的配置参数,并基于所述配置参数在所述服务器中确定主服务器和备份服务器,其中,所述主服务器的数量为1个,所述备份服务器的数量为n个,n为大于等于1的整数;当判定所述主服务器停止工作时,按照预设规则从所述备份服务器中筛选出第一备份服务器,并将所述第一备份服务器确定为新主服务器。
本发明实施方式还提供的一种基于云平台管理服务器的装置,所述装置包括:标识分配单元,用于预先与接入云平台的服务器建立连接并为每个服务器分配唯一的标识;主备份服务器确定单元,用于接收所述服务器发来的配置参数,并基于所述配置参数在所述服务器中确定主服务器和备份服务器,其中,所述主服务器的数量为1个,所述备份服务器的数量为n个,n为大于等于1的整数;切换单元,用于当判定所述主服务器停止工作时,按照预设规则从所述备份服务器中筛选出第一备份服务器,并将所述第一备份服务器确定为新主服务器。
本发明实施方式提供的一种基于云平台管理服务器的方法及装置,通过将预设数量的服务器连接至同一个平台上并且为不同的服务器分配不同的标识,从而可以统一地对多个服务器进行管理。根据不同服务器发至平台的配置参数,从而可以根据服务器当前的运行状态,确定主服务器和备份服务器,并且当主服务器发生故障而停止工作时,可以从备份服务器中挑选出一个新的主服务器,以继续为用户提供正常的业务。由上可见,本发明实施方式提供的一种基于云平台管理服务器的方法及装置,不需要主服务器和备份服务器处于同样的物理位置中,并且通过对主服务器和备份服务器进行统一管理,可以避免不同的服务器之间出现兼容性的问题,从而可以提高服务器的容灾性能以及支持服务器的可扩展性。另外,所述的主服务器和备份服务器是针对预设业务而进行划分的,也就是说,一台服务器中可以同时运行多个业务, 这样能够最大化地利用每台服务器的容量,从而节省了整个系统的成本。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施方式中通过平台基于云平台管理服务器的架构示意图;
图2为本发明实施方式提供的一种基于云平台管理服务器的方法流程图;
图3为本发明实施方式中与预设业务a相关的主服务器和备份服务器的架构示意图;
图4为本发明实施方式提供的一种基于云平台管理服务器的装置的功能模块图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施方式中通过平台基于云平台管理服务器的架构示意图。如图1所示,在本发明中,可以通过云平台统一管理各个独立的服务器。图1中的各个服务器具备独立的功能,但同时还可以作为其它服务器的备份服务器。例如,服务器0可以作为网络业务a的主服务器,而服务器1至n可以作为网络业务a的备份服务器。在本发明中,主服务器和备份服务器均可以 与云平台保持双向通信,并且主服务器和备份服务器之间可以保持数据的同步更新。
另外,在本发明中,为了保证最大化地利用各个服务器的容量,同一台服务器可以作为多个网络业务的备份服务器。例如,服务器1可以作为网络业务a的备份服务器,在服务器1中可以预先给网络业务a分配一定容量的空间,以存储网络业务a的数据。同时,在服务器1中还可以为网络业务b分配一定容量的空间,以备份网络业务b的数据。
此外,同一台服务器可以作为一个网络业务的主服务器,还可以同时作为另一个或者另几个网络业务的备份服务器。在本发明中,各个服务器的功能相对独立,往往是通过网络业务对主服务器和备份服务器进行划分。
图2为本发明实施方式提供的一种基于云平台管理服务器的方法流程图。虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。如图2所示,所述方法包括:
s1:预先与接入云平台的服务器建立连接并为每个服务器分配唯一的标识。
在本实施方式中,云平台可以预先与预设数量的服务器建立连接。具体地,所述预设数量的服务器可以通过全业务路由器(servicerouter,sr)接入所述云平台,由所述云平台进行统一管理。
在本实施方式中,在与所述预设数量的服务器建立连接后,所述云平台可以为每个服务器分配唯一的标识,以将各个服务器进行区分。所述标识例如可以为根据服务器的数量生成的一系列数字编码,例如,与所述云平台建立连接的服务器共计30台,那么可以将连续的数字编码0至29分别分配给各个服务器,这样每个服务器便具备与其它服务器不同的标识。当然,在实际应用场景中,所述标识还可以为云平台为服务器分配的网络通信地址或者各个服务器自身的mac地址,并申请对此并不做限定。
s2:接收所述服务器发来的配置参数,并基于所述配置参数在所述预设数量的服务器中确定主服务器和备份服务器。
在本实施方式中,所述主服务器的数量为1个,所述备份服务器的数量为1个或者更多个。
在本实施方式中,当云平台与各个服务器建立连接并为各个服务器分配唯一的标识后,可以接收各个服务器发来的配置参数。所述配置参数包括与服务器相关的各种信息。例如,所述配置参数包括服务器的运行状态参数、路由参数、正常运行的时长以及可容纳所述预设业务的业务量。其中,所述运行状态参数可以根据服务器的运行状态,赋值为0或者1。当服务器处于正常工作状态时,其对应的运行状态参数可以为1;而当服务器处于停止工作状态时,其对应的运行状态参数可以为0。在本实施方式中,所述运行状态参数还可以由云平台确定。具体地,当云平台能够持续接收服务器发来的信息,并且没有收到服务器发来的异常信号时,可以将该服务器对应的运行状态参数设置为1;相反地,当云平台在预设时长内没有接收到服务器发来的信息,或者接收到服务器发来的异常信号时,可以将该服务器对应的运行状态参数设置为0。
在本实施方式中,所述服务器的路由参数可以用来表征服务器与云平台之间的通信状况。例如,所述路由参数可以为服务器与云平台之间的距离,或者为服务器发出的数据包的ttl(timetolive,生存时间值)的跳数。在本实施方式中,所述路由参数的值越小,说明服务器与云平台之间的通信状况越好。
在本实施方式中,所述服务器的正常运行的时长可以为服务器当前时刻距离上一次停止工作时刻之间的时长。所述服务器的正常运行的时长越长,则表示该服务器越稳定。
在本实施方式中,所述服务器可容纳所述预设业务的业务量可以表示该服务器能够承载所述预设业务的能力,业务量的值越大,则表明该服务器越能够承载所述预设业务,越能保证运行所述预设业务的稳定性。
在本实施方式中,当云平台接收到服务器发来的配置参数时,可以基于所述配置参数,在所述预设数量的服务器中确定运行所述预设业务的主服务器以及确定所述预设业务的备份服务器。
在本实施方式中,可以基于所述配置参数,计算每个服务器对应的特征 值。所述特征值可以表征服务器能够承载所述预设业务的能力。
在本实施方式中,可以按照下述公式来计算各个服务器对应的特征值:
其中,c代表服务器对应的特征值;a代表所述服务器的运行状态参数,当所述服务器正常工作时,a为1,当所述服务器停止工作时,a为0;r代表所述服务器的路由参数;t代表所述服务器正常运行的时长;d为所述服务器可容纳所述预设业务的业务量。
由上式可以发现,当所述服务器在正常工作时,该服务器对应的特征值不为0,而当服务器停止工作时,其对应的特征值为0。此外,当所述服务器的路由参数越小(服务器到云平台的距离越小或者服务器发出的数据包的ttl跳数越小)、正常运行的时长越长以及可容纳所述预设业务的业务量越大时,所述服务器对应的特征值则越小。由此可见,在本实施方式中,特征值越小的服务器,其对应的承载所述预设业务的能力越强(特征值为0除外)。
因此,在本实施方式中,在计算出各个服务器对应的特征值后,可以将特征值为0的服务器从所述预设数量的服务器中去除,并按照所述特征值从小到大的顺序,对剩余的服务器进行排序,形成服务器序列。在所述服务器序列中,排名越靠前,则表明承载所述预设业务的能力越强,越能保证所述预设业务的稳定运行。因此,在本实施方式中,可以将所述服务器序列中的第一个服务器确定为主服务器,将所述服务器序列中除所述主服务器之外的服务器确定为备份服务器。
在本实施方式中,在确定了所述预设业务的主服务器和备份服务器之后,可以在云平台中建立业务矩阵表,以对各个服务器的工作状态进行实时监控。表1为本实施方式的云平台中建立的业务矩阵示意表。
表1
在表1中,a(n)代表与网络业务a相关的服务器,该服务器的标识为n,类型表示该服务器当前是主服务器还是备份服务器,其中,master代表主服务器,slave代表备份服务器,运行状态表示当前时刻服务器是处于正常工作状态还是处于停止工作状态,当处于正常工作状态时,运行状态的值为1,当处于停止工作状态时,运行状态的值为0。各个服务器可以与对应的备份服务器之间保持数据的同步更新。
在本实施方式中,当云平台建立了所述业务矩阵表后,可以实时监控各个服务器的运行状态,并且当服务器运行出现故障时,可以根据所述业务矩形表及时对运行所述预设业务的服务器进行调整,并根据调整后的结果,实时更新所述业务矩阵表。
图3为本发明实施方式中与预设业务a相关的主服务器和备份服务器的架构示意图。如图3所示,在运行预设业务a时,云平台往往指定一个主服务器,该主服务器可以与用户进行实时的数据交互,以向用户提供预设业务a的各项数据。其它的服务器则可以作为预设业务a的备份服务器,以对主服务器进行容灾备份。在主服务器正常工作时,二层设备往往关闭用户与备份服务器之间的通信接口,而仅保留用户与主服务器之间的通信接口,这样可以避免造成混乱的业务逻辑。
s3:当判定所述主服务器停止工作时,按照预设规则从所述备份服务器中筛选出第一备份服务器,并将所述第一备份服务器确定为新主服务器。
在本实施方式中,当主服务器停止工作时,为保证预设业务不被中断,可以按照预设规则从所述备份服务器中筛选出第一备份服务器,并将所述第一备份服务器确定为新的主服务器,以向用户继续提供所述预设业务的数据。
在本实施方式中,云平台可以实时监控主服务器的运行状态,当在预设 时长内未接收到主服务器反馈的信息时,可以判定主服务器停止工作或者当接收到主服务器发来的异常指令时,可以主服务器停止工作。在判定主服务器停止工作时,可以从所述业务矩阵表中筛选出特征值最小的备份服务器,并将所述特征值最小的备份服务器确定为第一备份服务器。而该第一备份服务器即可以作为新的主服务器,以向用户继续提供服务。
在本实施方式中,当主服务器停止工作时,云平台可以将业务矩阵表中主服务器的类型修改为初始化(initial),此时所述主服务器对应的运行状态的值也可以修改为0,其对应的备份服务器标识也可以设置为空(null)。在确定了第一备份服务器后,可以将所述第一备份服务器的类型修改为master,以使得所述第一备份服务器作为新的主服务器。表2为本实施方式的云平台重新确定主服务器的业务矩阵示意表。
表2
由表2可见,原先的主服务器a(0)由于停止工作,其对应的类型被修改为initial,运行状态的值被修改为0,对应的备份服务器标识被修改为null。而备份服务器a(1)由于特征值在所有的备份服务器中最小,因此被选为第一备份服务器,其对应的类型被修改为master,以作为新的主服务器。
在本实施方式中,当停止工作的主服务器重新恢复工作时,可以向云平台发送恢复工作的指令。这样,当云平台接收到所述原先的主服务器发来的恢复工作的指令后,可以将其作为备份服务器,加入备份服务器的队列。此时,由于恢复工作的服务器正常运行的时长较短,因此其对应的特征值也比较大,因此恢复工作的服务器往往位于队列的末端,具备较低的优先级,随着正常运行时长的增加,其对应的优先级则会逐步提高。
如果重新确定的主服务器再次停止工作,那么云平台可以按照上述的步 骤,再重新确定一个新的主服务器,以保持预设业务的正常运行。
由上可见,本发明实施方式提供的一种基于云平台管理服务器的方法,通过将预设数量的服务器连接至同一个平台上并且为不同的服务器分配不同的标识,从而可以统一地对多个服务器进行管理。根据不同服务器发至平台的配置参数,从而可以根据服务器当前的运行状态,确定主服务器和备份服务器,并且当主服务器发生故障而停止工作时,可以从备份服务器中挑选出一个新的主服务器,以继续为用户提供正常的业务。由上可见,本发明实施方式提供的一种基于云平台管理服务器的方法,不需要主服务器和备份服务器处于同样的物理位置中,并且通过对主服务器和备份服务器进行统一管理,可以避免不同的服务器之间出现兼容性的问题,从而可以提高服务器的容灾性能以及支持服务器的可扩展性。另外,所述的主服务器和备份服务器是针对预设业务而进行划分的,也就是说,一台服务器中可以同时运行多个业务,这样能够最大化地利用每台服务器的容量,从而节省了整个系统的成本。
本发明实施方式还提供一种基于云平台管理服务器的装置。图4为本发明实施方式提供的一种基于云平台管理服务器的装置的功能模块图。如图4所示,所述装置包括:
标识分配单元100,用于预先与接入云平台的服务器建立连接并为每个服务器分配唯一的标识;
主备份服务器确定单元200,用于接收所述服务器发来的配置参数,并基于所述配置参数在所述服务器中确定主服务器和备份服务器,其中,所述主服务器的数量为1个,所述备份服务器的数量为1个或者更多个;
切换单元300,用于当判定所述主服务器停止工作时,按照预设规则从所述备份服务器中筛选出第一备份服务器,并将所述第一备份服务器确定为新主服务器。
在本发明一优选实施方式中,所述主备份服务器确定单元200具体包括:
特征值计算模块201,用于基于所述配置参数,计算每个服务器对应的特征值;
排序模块202,用于将特征值为0的服务器从所述预设数量的服务器中去 除,并按照所述特征值从小到大的顺序,对剩余的服务器进行排序,形成服务器序列;
确定模块203,用于将所述服务器序列中的第一个服务器确定为主服务器,将所述服务器序列中除所述主服务器之外的服务器确定为备份服务器。
其中,所述特征值计算模块201可以按照下述公式计算每个服务器对应的特征值:
其中,c代表服务器对应的特征值;a代表所述服务器的运行状态参数,当所述服务器正常工作时,a为1,当所述服务器停止工作时,a为0;r代表所述服务器的路由参数;t代表所述服务器正常运行的时长;d为所述服务器可容纳所述预设业务的业务量。
在本发明另一优选实施方式中,所述切换单元300具体包括:
判定模块301,用于当在预设时长内未接收到所述主服务器反馈的信息时,判定所述主服务器停止工作;或者当接收到所述主服务器发来的异常指令时,判定所述主服务器停止工作;
切换模块302,用于当判定所述主服务器停止工作时,将所述备份服务器中特征值最优的服务器作为第一备份服务器,并将所述第一备份服务器确定为新主服务器。
在本发明另一优选实施方式中,所述主备份服务器确定单元200,还用于:当接收到所述主服务器发来的恢复工作的指令后,将所述主服务器设置为备份服务器。
需要说明的是,上述各个功能模块的具体实现方式均与步骤s1至s3中的描述一致,这里便不再赘述。
由上可见,本发明实施方式提供的一种基于云平台管理服务器的装置,通过将预设数量的服务器连接至同一个平台上并且为不同的服务器分配不同的标识,从而可以统一地对多个服务器进行管理。根据不同服务器发至平台的配置参数,从而可以根据服务器当前的运行状态,确定主服务器和备份服 务器,并且当主服务器发生故障而停止工作时,可以从备份服务器中挑选出一个新的主服务器,以继续为用户提供正常的业务。本发明实施方式提供的一种基于云平台管理服务器的装置,不需要主服务器和备份服务器处于同样的物理位置中,并且通过对主服务器和备份服务器进行统一管理,可以避免不同的服务器之间出现兼容性的问题,从而可以提高服务器的容灾性能以及支持服务器的可扩展性。另外,所述的主服务器和备份服务器是针对预设业务而进行划分的,也就是说,一台服务器中可以同时运行多个业务,这样能够最大化地利用每台服务器的容量,从而节省了整个系统的成本。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
虽然通过实施方式描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。