数据中心的切换方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据中心的切换方法、装置、设备及计算机可读存储介质。
背景技术
随着互联网的高速发展、用户数量及网络流量的迅速增长,服务器的负担日益增加。为了缓解服务器的压力,对网络服务器的可扩展性和可用性提出了更高的要求。为了解决上述问题,互联网数据中心(IDC)应运而生。互联网数据中心是一种高端的数据传输服务和高速接入服务,不仅可以提供快速安全的网路,还可以提供对服务器监管、流量监控等网络管理方案的服务。针对现有互联网服务标准并结合金融行业自身特点与监管要求,互联网数据中心必须实现两地三中心的结构,但是行业中大多数的互联网数据中心一般是基础架构可以多活切换而服务无法多活切换,即使技术能力较强的企业能做到服务级别的多活切换但无法做到整个互联网数据中心级别所有服务一起并行切换。
因此,如何解决现有无法做到整个互联网数据中心级别所有服务一起并行切换的问题,是目前亟需解决的问题。
发明内容
本发明的主要目的在于提供一种数据中心的切换方法、装置、设备及计算机可读存储介质,旨在解决现有无法做到整个互联网数据中心级别所有服务一起并行切换的技术问题。
为实现上述目的,本发明提供一种数据中心的切换方法,所述数据中心的切换方法包括以下步骤:
在检测到切换指令时,获取所述切换指令中的切换对象,并判断所述切换对象是业务应用还是数据库;
若所述切换对象是业务应用,则根据预设配置中心模块中的应用信息,判断所述业务应用是否为多点应用;
若所述业务应用为多点应用,则通过双活切换模块以及所述配置中心模块中存储的预设切换编排,将所述业务应用传输至第一数据中心的流量切换至第二数据中心;
若所述业务应用不是多点应用,则通过角色切换模块以及所述切换编排,将所述业务应用对应的主数据中心切换为备用数据中心。
可选地,所述若所述业务应用为多点应用,则通过双活切换模块以及所述预设配置中心模块中存储的预设切换编排,将所述业务应用传输至第一数据中心的流量切换至第二数据中心的步骤具体包括:
若所述业务应用为多点应用,则通过预设流程引擎、双活切换模块以及所述配置中心模块中存储的切换编排,启用预设容器,通过所述容器将所述业务应用传输至第一数据中心的流量切换至第二数据中心。
可选地,所述若所述业务应用为多点应用,则通过预设流程引擎、双活切换模块以及所述配置中心模块中存储的切换编排,启用预设容器,通过所述容器将所述业务应用传输至第一数据中心的流量切换至第二数据中心的步骤具体包括:
若所述业务应用为多点应用,则通过预设流程引擎以及Round Robin轮询调度算法,获取所述配置中心模块中存储的第一调度顺序;
根据所述第一调度顺序,确定所述第一数据中心的下一个待调度数据中心,作为第二数据中心,并启用预设容器,通过所述容器将所述业务应用传输至第一数据中心的流量切换至第二数据中心。
可选地,所述若所述业务应用为多点应用,则通过预设流程引擎、双活切换模块以及所述配置中心模块中存储的切换编排,启用预设容器,通过所述容器将所述业务应用传输至第一数据中心的流量切换至第二数据中心的步骤之后,还包括:
在接收到切换历史读取指令时,获取所述容器中的容器日志;
根据所述切换历史读取指令中的切换对象标识,在所述容器日志中获取所述切换对象标识对应的相关切换数据,并显示所述相关切换数据。
可选地,所述若所述切换对象是业务应用,则根据预设配置中心模块中的应用信息,判断所述业务应用是否为多点应用的步骤之后,还包括:
判断所述业务应用的应用数量是否为多个;
若所述应用数量为多个,则根据所述切换编排中的切换优先级,依次进行所述业务应用中各个应用的切换。
可选地,所述若所述业务应用不是多点应用,则通过角色切换模块以及所述切换编排,将所述业务应用对应的主数据中心切换为备用数据中心的步骤具体包括:
若所述业务应用不是多点应用,则通过角色切换模块以及权重轮询调度算法WeightedRound-RobinScheduling,获取所述配置中心模块中存储的第二调度顺序以及各数据中心对应的调度权重;
根据所述第二调度顺序以及所述调度权重,在各数据中心中确定权重最大的数据中心为备用数据中心,将所述主数据中心的权重调整为零,并将主数据中心对应的调度权重增加至备用数据中心,以将所述业务应用对应的主数据中心切换为备用数据中心。
可选地,所述在检测到切换指令时,获取所述切换指令中的切换对象,并判断所述切换对象是业务应用还是数据库的步骤之后,还包括:
若所述切换对象是数据库,则根据数据库切换模块以及所述切换编排,将当前使用的主数据库切换为备用数据库;或
若所述切换对象包括业务应用和数据库,则根据所述切换编排,依次进行所述业务应用以及数据库的切换。
此外,为实现上述目的,本发明还提供一种数据中心的切换装置,所述数据中心的切换装置包括:
切换判断模块,用于在检测到切换指令时,获取所述切换指令中的切换对象,并判断所述切换对象是业务应用还是数据库;
应用判断模块,用于若所述切换对象是业务应用,则根据预设配置中心模块中的应用信息,判断所述业务应用是否为多点应用;
第一切换模块,用于若所述业务应用为多点应用,则通过双活切换模块以及所述配置中心模块中存储的预设切换编排,将所述业务应用传输至第一数据中心的流量切换至第二数据中心;
第二切换模块,用于若所述业务应用不是多点应用,则通过角色切换模块以及所述切换编排,将所述业务应用对应的主数据中心切换为备用数据中心。
此外,为实现上述目的,本发明还提供一种数据中心的切换设备,所述数据中心的切换设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的数据中心的切换程序,其中所述数据中心的切换程序被所述处理器执行时,实现如上述的数据中心的切换方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据中心的切换程序,其中所述数据中心的切换程序被处理器执行时,实现如上述的数据中心的切换方法的步骤。
本发明提供一种数据中心的切换方法,即在检测到切换指令时,获取所述切换指令中的切换对象,并判断所述切换对象是业务应用还是数据库;若所述切换对象是业务应用,则根据预设配置中心模块中的应用信息,判断所述业务应用是否为多点应用;若所述业务应用为多点应用,则通过双活切换模块以及所述配置中心模块中存储的预设切换编排,将所述业务应用传输至第一数据中心的流量切换至第二数据中心;若所述业务应用不是多点应用,则通过角色切换模块以及所述切换编排,将所述业务应用对应的主数据中心切换为备用数据中心。通过上述方式,本发明基于具体切换对象确定对应的切换模块和切换编排,然后根据所述切换模块和切换编排切换所述切换对象,从而实现灵活切换,提升了切换效率,降低了维护难度,解决了现有无法做到整个互联网数据中心级别所有服务一起并行切换的技术问题。
附图说明
图1为本发明实施例方案中涉及的数据中心的切换设备的硬件结构示意图;
图2为本发明数据中心的切换方法第一实施例的流程示意图;
图3为本发明数据中心的切换方法第二实施例的流程示意图;
图4为本发明数据中心的切换方法第三实施例的流程示意图;
图5为本发明数据中心的切换装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的数据中心的切换方法主要应用于数据中心的切换设备,该数据中心的切换设备可以是PC、便携计算机、移动终端等具有显示和处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的数据中心的切换设备的硬件结构示意图。本发明实施例中,数据中心的切换设备可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对数据中心的切换设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作***、网络通信模块以及数据中心的切换程序。
在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的数据中心的切换程序,并执行本发明实施例提供的数据中心的切换方法。
本发明实施例提供了一种数据中心的切换方法。
参照图2,图2为本发明数据中心的切换方法第一实施例的流程示意图。
本实施例中,所述数据中心的切换方法包括以下步骤:
步骤S10,在检测到切换指令时,获取所述切换指令中的切换对象,并判断所述切换对象是业务应用还是数据库;
本实施例中,现有服务切换方式一般为主备数据中心的切换、流量切换或者是数据库的切换中的其中一种。其中,所述主备数据中心的切换为业务的主数据中心需要进行维护时,启用当前未使用的备用数据中心,并将对外服务的数据中心由待维护的主数据中心切换为备用数据中心,即主备数据的切换是通过启用未使用的备用数据中心替换即将进行维护的正在使用的主数据中心。流量切换为将若当前区域对外服务的第一数据中心需要进行维护时,将接入至所述第一数据中心的服务流量导入至正在对其他区域进行服务的第二数据中心,即流量切换中的切换对象均为正在使用的数据中心。数据库的切换为只需单独进行业务数据库的切换,具体切换方法可以是主备数据库的切换。为了解决现有无法做到整个互联网数据中心级别所有服务一起并行切换的问题,本发明通过定义切换编排,基于双活切换模块对多点应用进行流量切换,基于角色切换模块对非多点应用进行主备切换,基于数据库切换模块将数据库进行主备切换。具体地,由于服务切换包括业务应用的切换以及数据库的切换。因此,在接收切换请求方发起的切换指令时,首先需要判断切换对象是业务应用还是数据库DB。其中,业务应用包括业务前端web以及业务后端逻辑APP等。因此,可以获取所述切换指令中的切换对象标识,并通过判断所述切换对象标识是web标识、APP标识或者是DB标识,从而判断所述切换对象是业务应用还是数据库。
进一步地,步骤S10之后,还包括:
若所述切换对象是数据库,则根据数据库切换模块以及所述切换编排,将当前使用的主数据库切换为备用数据库。
本实施例中,在判定所述切换对象标识为DB标识时,即所述切换对象是数据库,获取所述配置中心中切换编排记载的被切换备用数据库地址,然后通过数据库切换模块,将所述对外服务的主数据库切换为备用数据库。具体地,若切换对象为数据库,则将第一数据库中的数据映射到第二数据库中;将针对一应用的服务器划分为第一服务部分和第二服务部分,使得第一服务部分使用第一数据库来针对用户的数据处理请求执行数据处理,并且第二服务部分使用第二数据库来针对用户的数据处理请求执行数据处理;以及在保持将第一数据库的数据实时同步到第二数据库的情况下,将用户的数据处理请求逐渐从第一服务部分切换到第二服务部分,以最终完全由第二服务部分针对用户的数据处理请求执行数据处理。
进一步地,步骤S10之后,还包括:
若所述切换对象包括业务应用和数据库,则根据所述切换编排,依次进行所述业务应用以及数据库的切换。
本实施例中,在判定所述切换对象标识即包括web标识和/或APP标识,又包括DB标识时,即所述切换对象包括业务应用和数据库,获取所述切换编排中的切换优先级,设置所述业务应用和数据库的切换顺序。如优先切换数据库或者并列切换。具体实施例中,本发明基于效率优先原则,在用户未设定切换顺序时,默认并列切换方式,以提升切换效率。
步骤S20,若所述切换对象是业务应用,则根据预设配置中心模块中的应用信息,判断所述业务应用是否为多点应用;
本实施例中,在判定所述切换对象标识即包括web标识和/或APP标识时,即所述切换对象为业务应用。根据预设配置中心模块中的应用信息,判断所述多个节点上的业务应用是否同时对外提供服务。若所述多个节点上的业务应用均同时对外提供服务,即判定所述业务应用为多点应用。如支付宝应用在深圳、上海以及北京均设置有服务点,因此,在深圳的服务点需要进行维护时,可将深圳区域的流量服务切换至上海区域的服务点,从而通过上海区域的服务点对深圳区域的支付宝用户提供服务,则支付宝为多点应用。
步骤S30,若所述业务应用为多点应用,则通过双活切换模块以及所述配置中心模块中存储的预设切换编排,将所述业务应用传输至第一数据中心的流量切换至第二数据中心;
本实施例中,若所述业务应用为多点应用,即可通过双活切换方式对所述业务应用进行切换。具体地,可预先在配置中心中设置可对应切换的两个数据中心,并将两个数据中进行互备。具有互备关系的第一数据中心和第二数据中心均为对外提供服务的数据中心,只是业务应用优先采用第一数据中心。其中、第一数据中心和第二数据中心分别部署了至少一个负载均衡设备,其中,在第一数据中心切换至第二数据中心的情况下,将传输至第一数据中心的业务流量引导至第二数据中心,由第二数据中心的负载均衡设备对业务应用的流量进行分配。上述步骤中的第一数据中心和第二数据中心可以是同一地域(Region)下的两个数据中心(IDC机房),可以将数据中心集群中优先级高的数据中心设置第一数据中心,优先级低的数据中心设置为第二数据中心。在第一数据中心切换为第二数据中心之后,可以将第一数据中心的数据迁移到第二数据中心,第一数据中心的存储设备与第二数据中心的存储设备进行通信,将第一数据中心的存储设备中的数据实时同步到第二数据中心的存储设备,第二数据中心根据业务服务器的网络信息、网络设备配置信息和业务服务器信息创建相应的业务网络和业务服务器;将传输至第一数据中心的业务流量引导至第二数据中心,具体方法为,第一数据中心的负载均衡设备可以将用户发送的业务流量进行地址和端口转换,将用户发送的业务流量发送至第二数据中心的负载均衡设备;负载均衡设备可以根据负载均衡算法,将业务流量转发至业务应用。
步骤S40,若所述业务应用不是多点应用,则通过角色切换模块以及所述切换编排,将所述业务应用对应的主数据中心切换为备用数据中心。
本实施例中,若判定所述业务应用不是多点应用,即不能通过双活切换方式进行切换。因此,只能采用角色切换方式进行切换。根据所述切换策略中记载的备用数据中心进行切换。具体地,通过管理IP地址,在待停用的主数据中心上执行停用脚本;根据所述切换指令在所述至少一对数据中心中执行IP修改脚本,将所述至少一对数据中心的生产IP地址由待停用主数据中心切换给待启用的备用数据中心使用;将所述至少一对数据中心在智能存储器中的一致性组的主-次关系进行互换;通过管理IP地址,在待启用备用数据中心上执行数据中心启动应用的脚本。
进一步地,所述步骤S40具体包括:
若所述业务应用不是多点应用,则通过角色切换模块以及权重轮询调度算法WeightedRound-RobinScheduling,获取所述配置中心模块中存储的第二调度顺序以及各数据中心对应的调度权重;
根据所述第二调度顺序以及所述调度权重,在各数据中心中确定权重最大的数据中心为备用数据中心,将所述主数据中心的权重调整为零,并将主数据中心对应的调度权重增加至备用数据中心,以将所述业务应用对应的主数据中心切换为备用数据中心。
具体地,为了防止小权重数据中心过于清闲,而给权重大的服务器造成过大压力,本实施例中采用权重轮询算法WeightedRound-RobinScheduling,该算法可以保持选择的平滑性,实现尽可能均匀的分摊数据中心,数据中心分配不再是连续的。具体实施例中,每个数据中心有三个权重变量,分别是:weight:约定权重,即在配置中心模块中或初始化时约定好的每个数据中心的权重。effectiveWeight:有效权重,初始化为weight。在调用过程中发现节点异常,则-1;之后再次选取本节点,调用成功一次则+1,直达恢复到weight;此变量的作用主要是数据中心异常,降低其权重。currentWeight:数据中心当前权重,初始化为0。然后在调度过程中,轮询所有数据中心,计算当前状态下所有数据中心的effectiveWeight之和totalWeight;并依据公式currentWeight=currentWeight+effectiveWeight,选出所有数据中心中currentWeight中最大的一个数据中心作为待调度数据中心;待调度数据中心的currentWeight=currentWeight-totalWeight。如:三个数据中心{a,b,c},权重分别是{a=4,b=2,c=1},共7次请求,初始currentWeight值为{0,0,0},每次分配后的结果如下:
请求序号 |
请求前currentWeight值 |
选中数据中心 |
请求后currentWeight值 |
1 |
{c=1,b=2,a=4} |
a |
{c=1,b=2,a=-3} |
2 |
{c=2,b=4,a=1} |
b |
{c=2,b=-3,a=1} |
3 |
{c=3,b=-1,a=5} |
a |
{c=3,b=-1,a=-2} |
4 |
{c=4,b=1,a=2} |
c |
{c=-3,b=1,a=2} |
5 |
{c=-2,b=3,a=6} |
a |
{c=-2,b=3,a=-1} |
6 |
{c=-1,b=5,a=3} |
b |
{c=-1,b=-2,a=3} |
7 |
{c=0,b=0,a=7} |
a |
{c=0,b=0,a=0} |
根据上述七次调用选中的数据中心顺序{a,b,a,c,a,b,a},a数据中心选中4次,b数据中心选中2次,c数据中心选中1次,该算法保持了currentWeight值从初始值{c=0,b=0,a=0}到7次调用后又回到{c=0,b=0,a=0}。具体实施例中,在进行数据中心切换时,首先在各数据中心中确定权重,即currentWeight最大的数据中心为备用数据中心,将所述主数据中心的权重调整为零,即需要对所述主数据中心进行更新或者维护等,表示当前主数据中心不能进行正常工作。还可以将主数据中心对应的调度权重增加至备用数据中心,或者分摊至其他数据中心,并将主数据中心中的业务应用对应的流量转移至备用数据中心,由此将所述业务应用对应的主数据中心切换为备用数据中心。
进一步地,所述数据中心的切换方法还包括:
在接收到用户操作触发的切换设置指令时,获取所述切换设置指令中目标切换策略、切换优先级以及对应的被切换对象;
根据所述目标切换策略、切换优先级以及对应的被切换对象,生成切换编排,并将所述切换编排存储至所述配置中心模块。
本实施例中,所述配置中心的切换编排可以由用户定义设置,即提供用户切换策略设置功能,在接收到用户操作触发的切换设置指令时,获取所述切换设置指令中目标切换策略、切换优先级以及对应的被切换对象;根据所述目标切换策略、切换优先级以及对应的被切换对象,生成切换编排,并将所述切换编排存储至所述配置中心模块。
本实施例提供一种数据中心的切换方法,即在检测到切换指令时,获取所述切换指令中的切换对象,并判断所述切换对象是业务应用还是数据库;若所述切换对象是业务应用,则根据预设配置中心模块中的应用信息,判断所述业务应用是否为多点应用;若所述业务应用为多点应用,则通过双活切换模块以及所述配置中心模块中存储的预设切换编排,将所述业务应用传输至第一数据中心的流量切换至第二数据中心;若所述业务应用不是多点应用,则通过角色切换模块以及所述切换编排,将所述业务应用对应的主数据中心切换为备用数据中心。通过上述方式,本发明基于具体切换对象确定对应的切换模块和切换编排,然后根据所述切换模块和切换编排切换所述切换对象,从而实现灵活切换,提升了切换效率,降低了维护难度,解决了现有无法做到整个互联网数据中心级别所有服务一起并行切换的技术问题。
参照图3,图3为本发明数据中心的切换方法第二实施例的流程示意图。
基于上述图2所示实施例,本实施例中,所述步骤S30具体包括:
步骤S31,若所述业务应用为多点应用,则通过预设流程引擎、双活切换模块以及所述配置中心模块中存储的切换编排,启用预设容器,通过所述容器将所述业务应用传输至第一数据中心的流量切换至第二数据中心。
本实施例中,本发明的实施基于切换服务原子化改造,即服务可单独分为:web、APP和DB,基于原子服务自身内聚与稳定,web、APP或DB可进行单独切换。将各需要切换的服务根据业务需要以及脚本服务规范进行自动化配置脚本改造并结合CMDB进行统一状态与生命周期管理。其中,配置中心模块中的切换流程可以按照前置切换、主切换以及后置检查的方式进行切换编排。前置切换是串行流程包括自动挂载维护页、流控服务检查。主切换是全并行流程包括GTM、Nginx配置切换、文件***、DB、专线、zookeeper、DNS等。后置检查也是串行流程,包括全站服务健康检查、网站限流、维护页关闭服务。用户通过可编排的流程引擎自定义切换过程以实现灵活可控的切换。用户可通过流程描述文件或者可视化编辑器进行流程引擎的设置。具体地,通过容器实现数据中心的切换,由此实现切换资源的快速获取、切换过程的实时监控以及切换过程的记录。基于所述容器可将所述业务应用传输至当前区域的第一数据中心切换至其他区域的第二数据中心。具体实施例中,通过后端作业(基于容器)与状态服务总线(基于高并发消息队列)实现机房切换时效控制在10分钟以内。
进一步地,所述步骤S31具体包括:
若所述业务应用为多点应用,则通过预设流程引擎以及Round Robin轮询调度算法,获取所述配置中心模块中存储的第一调度顺序;
根据所述第一调度顺序,确定所述第一数据中心的下一个待调度数据中心,作为第二数据中心,并启用预设容器,通过所述容器将所述业务应用传输至第一数据中心的流量切换至第二数据中心。
具体地,轮询调度算法(Round Robin Scheduling)是以轮询的方式依次请求调度不同的数据中心,即每次调度执行i=(i+1)mod n,并选出第i个数据中心。该算法无需记录当前所有连接的状态,是一种无状态调度,具有很好的简洁性。在进行多点应用的数据中心切换时,可获取配置中心模块中预先存储的第一调度顺序,如有八个数据中心,在第一次调度时,调度次数为0,即i=(0+1)mod 8,即确定1号数据中心为待调度数据中心;第二次调度时,调度次数为1,即i=(1+1)mod 8,即确定2号数据中心为待调度数据中心;然后依次类推,依次获取对应的数据中心为待调度数据中心。并启用预设容器将原工作的数据中心,即第一数据中心,运行的业务应用对应的流量转移至待调度的数据中心,即第二数据中心,实现数据中心的实时切换。
进一步地,基于容器还可以设置所有服务的状态监控,并实现数据中心所有服务切换数据监控,即在接收到切换历史读取指令时,获取所述容器中的容器日志;根据所述切换历史读取指令中的切换对象标识,在所述容器日志中获取所述切换对象标识对应的相关切换数据,并显示所述相关切换数据。
参照图4,图4为本发明数据中心的切换方法第三实施例的流程示意图。
基于上述图2所示实施例,本实施例中,所述步骤S20之后,还包括:
步骤S51,判断所述业务应用的应用数量是否为多个;
本实施例中,可通过获取所述业务应用中的应用标识,从而判断所述业务应用中的应用数量是否为多个。
步骤S52,若所述应用数量为多个,则根据所述切换编排中的切换优先级,依次进行所述业务应用中各个应用的切换。
本实施例中,若所述应用数量个数为多个,且所述切换编排中设置了应用的切换优先级,则按照所述切换优先级依次切换所述业务应用中的各个应用。若不存在所述切换优先级,则并列切换各个应用。具体实施例中,所述业务应用中的各个应用可分别进行多点应用的判断,并通过对应的切换模块进行服务切换。
此外,本发明实施例还提供一种数据中心的切换装置。
参照图5,图5为本发明数据中心的切换装置第一实施例的功能模块示意图。
本实施例中,所述数据中心的切换装置包括:
切换判断模块10,用于在检测到切换指令时,获取所述切换指令中的切换对象,并判断所述切换对象是业务应用还是数据库;
应用判断模块20,用于若所述切换对象是业务应用,则根据预设配置中心模块中的应用信息,判断所述业务应用是否为多点应用;
第一切换模块30,用于若所述业务应用为多点应用,则通过双活切换模块以及所述配置中心模块中存储的预设切换编排,将所述业务应用传输至第一数据中心的流量切换至第二数据中心;
第二切换模块40,用于若所述业务应用不是多点应用,则通过角色切换模块以及所述切换编排,将所述业务应用对应的主数据中心切换为备用数据中心。
进一步地,所述第二切换模块40还用于:
若所述业务应用不是多点应用,则通过角色切换模块以及权重轮询调度算法WeightedRound-RobinScheduling,获取所述配置中心模块中存储的第二调度顺序以及各数据中心对应的调度权重;
根据所述第二调度顺序以及所述调度权重,在各数据中心中确定权重最大的数据中心为备用数据中心,将所述主数据中心的权重调整为零,并将主数据中心对应的调度权重增加至备用数据中心,以将所述业务应用对应的主数据中心切换为备用数据中心。
进一步地,所述切换判断模块10还用于:
若所述切换对象是数据库,则根据数据库切换模块以及所述切换编排,将当前使用的主数据库切换为备用数据库。
进一步地,所述切换判断模块10还用于:
若所述切换对象包括业务应用和数据库,则根据所述切换编排,依次进行所述业务应用以及数据库的切换。
进一步地,所述数据中心的切换装置还包括:
设置模块,用于在接收到用户操作触发的切换设置指令时,获取所述切换设置指令中目标切换策略、切换优先级以及对应的被切换对象;
配置模块,用于根据所述目标切换策略、切换优先级以及对应的被切换对象,生成切换编排,并将所述切换编排存储至所述配置中心模块。
进一步地,所述第一切换模块30具体包括:
容器启用单元,用于若所述业务应用为多点应用,则通过预设流程引擎、双活切换模块以及所述配置中心模块中存储的切换编排,启用预设容器,通过所述容器将所述业务应用传输至第一数据中心的流量切换至第二数据中心。
进一步地,所述容器启用单元还用于:
在接收到切换历史读取指令时,获取所述容器中的容器日志;根据所述切换历史读取指令中的切换对象标识,在所述容器日志中获取所述切换对象标识对应的相关切换数据,并显示所述相关切换数据。
进一步地,所述容器启用单元还用于:
若所述业务应用为多点应用,则通过预设流程引擎以及Round Robin轮询调度算法,获取所述配置中心模块中存储的第一调度顺序;
根据所述第一调度顺序,确定所述第一数据中心的下一个待调度数据中心,作为第二数据中心,并启用预设容器,通过所述容器将所述业务应用传输至第一数据中心的流量切换至第二数据中心。
进一步地,所述数据中心的切换装置还包括:
数量判断模块,用于判断所述业务应用的应用数量是否为多个;
多应用切换模块,用于若所述应用数量为多个,则根据所述切换编排中的切换优先级,依次进行所述业务应用中各个应用的切换。
其中,上述数据中心的切换装置中各个模块与上述数据中心的切换方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
此外,本发明实施例还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有数据中心的切换程序,其中所述数据中心的切换程序被处理器执行时,实现如上述的数据中心的切换方法的步骤。
其中,数据中心的切换程序被执行时所实现的方法可参照本发明数据中心的切换方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。