一种基于云硬盘的数据库故障转移方法及装置制造方法

文档序号:7984724阅读:265来源:国知局
一种基于云硬盘的数据库故障转移方法及装置制造方法
【专利摘要】本发明公开了一种基于云硬盘的数据库故障转移方法及装置,用于解决现有技术中的云数据库自动故障转移方式成本开销较大的问题。包括:当检测到用户的数据库实例的云主机出现故障导致数据库不可用时,卸载挂载在云主机上的云硬盘以及云主机的网络带宽套餐;将网络带宽套餐绑定到其它可用的云主机上,并将云硬盘挂载到绑定带宽套餐的云主机上。本发明的技术方案,减小了云数据库故障转移的开销,提高了云数据库故障转移的效率。
【专利说明】一种基于云硬盘的数据库故障转移方法及装置
【技术领域】
[0001]本发明涉及云数据库领域,具体而言,涉及一种基于云硬盘的数据库故障转移方法及装置。
【背景技术】
[0002]云数据库是指在云环境中的数据库,其具备一键申请、按需供应、按需收费、动态扩容等特性。用户通过一个有效的链接字符串即可从本地主机使用云数据库。在云数据库的使用中,会出现由于网络连接不通,操作系统故障等原因导致数据库不可用,这时就需要进行自动故障转移。自动故障转移是指当服务器A无法为客户服务时,系统能够自动切换,使服务器B能够继续为客户提供服务。
[0003]现有技术中,比较成熟的数据库自动故障转移方法为数据库镜像技术,采用这种技术至少需要两台服务器,主数据库服务器和备用数据库服务器,还需要为两台服务器绑定同一个对外提供服务的虚拟IP地址,与Mysql中的主动一被动模式下的主一主复制结构类似,主数据库服务器对外接收事物操作并将日志文件传送到备用数据库服务器,然后备用数据库服务器对接收到的日志文件进行重放,从而保持与主数据库的一致性。当主数据库发生故障时,备用数据库服务器作为新的主服务器进行数据库的读写操作,当原来的主数据库服务器被修复后,又可以作为新的备份数据库服务器。而为了实现主数据库服务器的故障检测及主数据库服务器和备份数据库服务器的自动切换,往往还需要额外的仲裁服务器或安装配置用于检测服务器是否出现故障并进行自动故障转移的软件,例如keepalived。
[0004]另一种数据库镜像技术主要由主体服务器、见证服务器、镜像服务器构成,其中主体服务器和镜像服务器是必要的组成部分。在镜像正常的会话过程中,镜像服务器和主体服务器之间可以同步持续进行事务传送,主体服务器中主体数据库发送日志后等待镜像服务器中的镜像数据库确认,确认完毕后再反馈给应用程序。高可用性模式下还需要使用见证服务器,参与会话的主体和镜像实例之间不停的发送Ping命令来侦测对方的状态,见证服务器则侦测主体和镜像两者的状态。一旦侦测到故障发生,则主体或镜像提交请求到见证服务器,由见证服务器来仲裁角色的转换。在具有自动故障转移的高安全性模式下,同步数据库后,如果主体数据库不可用,则会发生自动故障转移。自动故障转移后镜像服务器接管主题服务器的角色,并使其数据库的副本联机以作为主体数据库。
[0005]由以上描述可知,对于用户来说,上述现有技术中的云数据库自动故障转移方式需要至少两台服务器,主体服务器以及备份服务器,备份服务器需要与数据库的主体服务器进行数据同步等操作。对于用户来说,每占用一台服务器需要多一份开销,因此这种方式的成本开销较大,此外,由于数据库服务器和备份服务器之间需要同步数据,还有可能会导致数据不一致的问题。

【发明内容】
[0006]本发明提供一种基于云硬盘的数据库故障转移方法及装置,用于解决现有技术中的云数据库自动故障转移方式成本开销大的问题。
[0007]本发明提供了一种基于云硬盘的数据库故障转移方法,包括:当检测到用户的数据库实例的云主机出现故障导致数据库不可用时,卸载挂载在云主机上的云硬盘以及云主机的网络带宽套餐;将网络带宽套餐绑定到其它可用的云主机上,并将云硬盘挂载到绑定带宽套餐的云主机上。
[0008]进一步地,上述方法还包括:在卸载挂载在云主机上的云硬盘以及云主机的网络带宽套餐之后,删除出现故障的云主机与用户帐户的对应关系;建立绑定宽带套餐的云主机与用户帐户的对应关系。
[0009]进一步地,上述方法还包括:定期检测数据库实例的云主机是否出现网络连接故障或本地磁盘故障。
[0010]进一步地,上述方法还包括:在将云硬盘挂载到绑定带宽套餐的云主机上之后,当在绑定宽带套餐的云主机上启动数据库时,指定数据目录为云硬盘的挂载目录。
[0011]其中,上述将网络带宽套餐绑定到其它可用的云主机上,并将云硬盘挂载到绑定带宽套餐的云主机上包括:申请一个与出现故障的云主机配置相同的云主机;将带宽套餐绑定到申请的云主机上,并将云硬盘挂载到申请的云主机上。
[0012]本发明还提供了一种基于云硬盘的数据库故障转移装置,包括:卸载模块,用于当检测到用户的数据库实例的云主机出现故障导致数据库不可用时,卸载挂载在云主机上的云硬盘以及云主机的网络带宽套餐;第一绑定模块,用于将网络带宽套餐绑定到其它可用的云主机上,并将云硬盘挂载到绑定带宽套餐的云主机上。
[0013]进一步地,上述装置还包括:删除模块,用于在卸载挂载在云主机上的云硬盘以及云主机的网络带宽套餐之后,删除出现故障的云主机与用户帐户的对应关系;建立模块,用于建立绑定宽带套餐的云主机与用户帐户的对应关系。
[0014]进一步地,上述装置还包括:检测模块,用于定期检测数据库实例的云主机是否出现网络连接故障或本地磁盘故障。
[0015]进一步地,上述装置还包括:指定模块,用于在将云硬盘挂载到绑定带宽套餐的云主机上之后,当在绑定宽带套餐的云主机上启动数据库时,指定数据目录为云硬盘的挂载目录。
[0016]其中,上述绑定模块包括:申请单元,,用于申请一个与出现故障的云主机配置相同的云主机;绑定单元,用于将带宽套餐绑定到申请的云主机上,并将云硬盘挂载到申请的云主机上。
[0017]本发明的技术方案,在检测到用户的数据库实例的云主机发生故障后,卸载云硬盘以及发生故障的云主机的网络带宽业务,将云硬盘以及网络带宽业务绑定到其它可用的云主机上,并且在云主机发生故障后,卸载其云硬盘以及带宽套餐,数据库实例的用户不再占用发生故障的服务器,由于无需为数据库实例的云主机设置备份的服务器,以进行数据同步等操作,减小了开销。同时,由于直接将原数据库实例的云硬盘连接到新的可用的云主机上,可以使新的云主机继续进行发生故障的云主机的业务,使云数据库的故障转移更加简易,同时也提高了数据库故障转移的效率。【专利附图】

【附图说明】
[0018]图1是本发明云数据库故障转移的示意图;
[0019]图2是本发明实施例1的基于云硬盘的数据库故障转移方法的流程图;
[0020]图3是本发明实施例2的基于云硬盘的数据库故障转移方法的流程图;
[0021]图4是本发明的实施例3的基于云硬盘的数据库故障转移装置的结构框图;
[0022]图5是本发明实施例3的另一种基于云硬盘的数据库故障转移装置的结构框图;
[0023]图6是基于云硬盘的数据库故障转移装置的工作过程示意图。
【具体实施方式】
[0024]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明实施例作进一步详细的说明。
[0025]本发明中的数据库实例可以由一台云主机和一块云硬盘组成,其中云主机作为计算资源,用于搭建数据库环境,即在其上安装数据库软件并启动数据库server进程;而云硬盘作为空间资源,用于存放数据库的数据资源。
[0026]其中,云硬盘是为数据库实例提供基于块设备的存储卷,用于存储用户数据库的数据,当用户使用数据库,向数据库中插入数据时,数据就会存入云硬盘中。云硬盘首先需要格式化,然后建立文件系统,挂载到云主机上的某个目录上,用户启动数据库时将云硬盘中的挂载目录作为数据库服务的数据目录,用户的数据就存在挂载的目录中。它特别适合于虚拟化应用中的持久存储;云硬盘支持自定义容量大小,可以根据实际需求进行申请;存在云硬盘中的数据存有多份冗余,可以保证数据的高可靠性;云硬盘与云主机隶属于两个生命周期,当挂载云硬盘的主机被删除或者出现故障时,云硬盘中的数据仍然保留,并且可以重新挂载到其它主机上。
[0027]如图1所示,云主机I与云硬盘I构成数据库实例1,当云主机I出现故障后,可以由云主机2与云硬盘I构成新的数据库实例2。
[0028]实施例1
[0029]图2是本发明实施例1的基于云硬盘的数据库故障转移方法的流程图。
[0030]如图2所示,该方法包括以下步骤:
[0031]步骤201:当检测到用户的数据库实例的云主机出现故障导致数据库不可用时,卸载与云主机相连的云硬盘以及云主机的网络带宽套餐;
[0032]步骤202:将网络带宽套餐绑定到其它可用的云主机上,并将云硬盘挂载到绑定带宽套餐的云主机上。
[0033]在上述步骤201之前,对数据库实例的云主机进行检测时,可以采用定期向数据库实例的云主机进行检测,以测试数据库实例的云主机是否发生网络不通、本地硬盘损坏
等故障。
[0034]当检测到数据库实例的云主机出现故障后,可以是由监控云主机的一台服务器中的控制模块申请一个与出现故障的云主机配置相同的云主机;将网络带宽套餐绑定到申请的云主机上,以使其外网IP地址保持不变,并将云硬盘挂载到绑定带宽套餐的云主机上。
[0035]其中,在执行上述步骤202之后,可以在卸载与云主机相连的云硬盘以及云主机的网络带宽套餐之后,删除出现故障的云主机与用户帐户的对应关系;并建立绑定宽带套餐的新的云主机与用户帐户的对应关系。这样出现故障的云主机被释放,用户仅占用一个云主机,节省了开销。
[0036]本发明支持基于文件的数据库,这种数据库存放在文件中,对于这种数据库来说,在云主机上启动数据库时,会指定一个数据目录,这个目录是为了存放数据库文件的,当云硬盘从发生故障的云主机上卸载后与新的可以用的云主机相连后,云硬盘中的数据库文件没有发生变化,只需要在新的云主机上启动数据库时指定数据目录是云硬盘的挂载目录即可。
[0037]本实施例的基于云硬盘的数据库故障转移方法,在检测到数据库实例的云主机发生故障后,卸载发生故障的云主机的网络带宽套餐以及数据库实例的云硬盘,将网络带宽套餐以及云硬盘绑定到其它可用的云主机上。由于无需为数据库实例的云主机配置备份的服务器,以进行数据同步等操作,减小了开销,减轻了操作的复杂性。同时,由于直接将原数据库实例的云硬盘连接到新的可用的云主机上,可以使新的云主机继续执行发生故障的云主机的业务,使云数据库的故障转移更加简易,同时也提高了故障转移的效率,提高了用户体验。
[0038]实施例2
[0039]图3是本发明实施例2的基于云硬盘的数据库故障转移方法的流程图。
[0040]如图所示,该方法包括以下步骤:
[0041]步骤301:定期检测数据库实例的云主机是否出现故障;
[0042]步骤302:当检测到用户的云主机出现故障时,卸载发生故障的云主机的网络带宽套餐以及数据库实例的云硬盘;
[0043]步骤303:申请一个与出现故障的云主机配置相同的云主机;
[0044]步骤304:删除出现故障的云主机与用户帐户的对应关系;
[0045]步骤305:建立新申请的云主机与用户帐户的对应关系;
[0046]步骤306:将带宽套餐绑定到申请的云主机上,并将云硬盘挂载到绑定带宽套餐的云主机上。
[0047]需要说明的是,上述步骤303与步骤304可以是没有先后执行顺序的,即可以是执行完步骤303再执行步骤304,也可以是执行步骤304后再执行步骤303。
[0048]其中,可以是其它的服务器对数据库实例的云主机进行检测,进行检测时,可以定期向数据库实例的云主机发送Ping命令,以测试数据库实例的云主机是否发生网路连接故障。
[0049]对于基于文件的数据库来说,在启动数据库时,会指定一个数据目录,这个目录是为了存放数据库文件的,当云硬盘从发生故障的云主机上卸载后与新申请的云主机相连后,云硬盘中的数据库文件没有发生变化,只需要在新申请的云主机上启动数据库时指定数据目录是云硬盘的挂载目录即可。
[0050]实施例3
[0051]图4是本发明的基于云硬盘的数据库故障转移装置的结构框图。
[0052]如图4所示,该基于云硬盘的数据库故障转移装置40包括以下组成部分:
[0053]卸载模块41,用于当检测到用户的数据库实例的云主机出现故障导致数据库不可用时,卸载与云主机相连的云硬盘以及云主机的带宽套餐;[0054]绑定模块42,用于将带宽套餐绑定到其它可用的云主机上,并将云硬盘挂载到绑定带宽套餐的云主机上。
[0055]其中,为了实时掌握数据库实例的运行状况,以便云主机出现故障后及时更换云主机,如图5所示,上述装置40还可以包括检测模块52,用于定期检测数据库实例的云主机是否出现网络连接故障或本地磁盘故障。
[0056]删除模块,用于在卸载与所述云主机相连的云硬盘以及所述云主机的网络带宽套餐之后,删除出现故障的云主机与用户帐户的对应关系;
[0057]建立模块,用于建立绑定宽带套餐的云主机与所述用户帐户的对应关系。其中上述检测模块52可以包括:检测单元,用于定期向数据库实例的云主机发送ping命令,以测试数据库实例的云主机是否发生网络连接故障。
[0058]为了节省开销,使用户不再占用发生故障的云主机,其中上述装置40还可以包括:删除模块,用于在卸载与云主机相连的云硬盘以及云主机的网络带宽套餐之后,删除出现故障的云主机与用户帐户的对应关系;建立模块,用于建立绑定宽带套餐的云主机与用户帐户的对应关系。
[0059]上述装置40可以应用基于文件的数据库,基于此,装置40还可以包括:指定模块,用于在将云硬盘挂载到绑定带宽套餐的云主机上之后,当在绑定宽带套餐的云主机上启动数据库时,指定数据目录是云硬盘的挂载目录。
[0060]具体地,上述第一绑定模块可以包括:申请单元,用于申请一个与出现故障的云主机配置相同的云主机;第二绑定单元,用于将网络带宽套餐绑定到申请的云主机上,并将云硬盘挂载到申请到的云主机上。
[0061]图6是基于云硬盘的数据库故障转移装置的工作过程示意图。
[0062]如图6所示,其中上述删除模块与申请模块可以由实现控制功能的控制模块来实现,该控制模块位于管理多个云数据库实例的一台服务器中,该控制模块可以检测多个云主机,当该控制模块接收到来自检测模块的云主机发生故障的信息后,该控制模块控制主动删除发生故障的云主机与用户帐户的对应关系,申请一个新的可用的,与发生故障的云主机配置相同的云主机,并将云硬盘以及发生故障的云主机的带宽套餐绑定到新申请的云主机上。
[0063] 本发明的技术方案,在检测到数据库实例的云主机发生故障后,卸载发生故障的云主机的宽带业务以及数据库实例的云硬盘,将宽带业务以及云硬盘绑定到其它可用的云主机上。由于无需为数据库实例的云主机配置备份的服务器,以进行数据同步等操作,减小了开销,减轻了操作的复杂性。同时,由于直接将原数据库实例的云硬盘连接到新的可用的云主机上,可以使新的云主机继续执行发生故障的云主机的业务,使云数据库的故障转移更加简易,同时也提高了故障转移的效率。
[0064]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0065]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种基于云硬盘的数据库故障转移方法,其特征在于,包括: 当检测到用户的数据库实例的云主机出现故障导致数据库不可用时,卸载挂载在所述云主机上的云硬盘以及所述云主机的网络带宽套餐; 将所述网络带宽套餐绑定到其它可用的云主机上,并将所述云硬盘挂载到绑定带宽套餐的云主机上。
2.根据权要求I所述的方法,所述方法还包括: 在卸载挂载在所述云主机上的云硬盘以及所述云主机的网络带宽套餐之后,删除出现故障的云主机与用户帐户的对应关系; 建立绑定宽带套餐的云主机与所述用户帐户的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括: 定期检测所述数据库实例的云主机是否出现网络连接故障或本地磁盘故障。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在将所述云硬盘挂载到绑定带宽套餐的云主机上之后,当在所述绑定宽带套餐的云主机上启动数据库时,指定数据目录为所述云硬盘的挂载目录。
5.根据权利要求1所述的方法,其特征在于,所述将所述网络带宽套餐绑定到其它可用的云主机上,并将所述云硬盘挂载到绑定带宽套餐的云主机上包括: 申请一个与出现故障的云主机配置相同的云主机; 将所述带宽套餐绑定到申请的云主机上,并将所述云硬盘挂载到申请的云主机上。
6.一种基于云硬盘的数据库故障转移装置,其特征在于,包括: 卸载模块,用于当检测到用户的数据库实例的云主机出现故障导致数据库不可用时,卸载挂载在所述云主机上的云硬盘以及所述云主机的网络带宽套餐; 第一绑定模块,用于将所述网络带宽套餐绑定到其它可用的云主机上,并将所述云硬盘挂载到绑定带宽套餐的云主机上。
7.根据权要求6所述的装置,所述装置还包括: 删除模块,用于在卸载挂载在所述云主机上的云硬盘以及所述云主机的网络带宽套餐之后,删除出现故障的云主机与用户帐户的对应关系; 建立模块,用于建立绑定宽带套餐的云主机与所述用户帐户的对应关系。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括: 检测模块,用于定期检测所述数据库实例的云主机是否出现网络连接故障或本地磁盘故障。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括: 指定模块,用于在将所述云硬盘挂载到绑定带宽套餐的云主机上之后,当在所述绑定宽带套餐的云主机上启动数据库时,指定数据目录为所述云硬盘的挂载目录。
10.根据权利要求6所述的装置,其特征在于,所述绑定模块包括: 申请单元,用于申请一个与出现故障的云主机配置相同的云主机; 绑定单元,用于将所述带宽套餐绑定到申请的云主机上,并将所述云硬盘挂载到申请的云主机上。
【文档编号】H04L29/08GK103780417SQ201210408957
【公开日】2014年5月7日 申请日期:2012年10月23日 优先权日:2012年10月23日
【发明者】沈强, 谢振业, 曹玮 申请人:上海盛大网络发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1