一种数据库扩容方法和一种数据库的制作方法

文档序号:6502515阅读:237来源:国知局
一种数据库扩容方法和一种数据库的制作方法
【专利摘要】本发明实施例提供一种数据库扩容的方法和一种数据库,所述方法包括以下步骤:控制服务器为数据库实例申请第一云硬盘;所述数据库实例包括云主机和第二云硬盘;控制服务器将第一云硬盘挂载到云主机上,并将第二云硬盘中的数据拷贝至第一云硬盘;所述数据库包括:控制服务器,用于为数据库实例申请扩容;并将第一云硬盘挂载到云主机上,将数据库实例中的数据拷贝至第一云硬盘;数据库实例,用于对数据进行存储和管理,并根据控制服务器的指令进行扩容;第一云硬盘,用于挂载到数据库实例上,对数据库实例进行扩容。
【专利说明】一种数据库扩容方法和一种数据库

【技术领域】
[0001] 本发明涉及数据库【技术领域】,特别涉及一种数据库扩容方法和一种数据库。

【背景技术】
[0002] 数据库是按照数据结构来组织、存储和管理数据的仓库,产生于20世纪的60年 代。近50年以来随着计算机技术、通信技术和网络技术的快速发展,企业和公司产生的数 据量发生了爆炸式的增长,使得现代企业强烈的依赖数据库来保存极重要的记录。所以数 据库技术也随之得到迅猛发展,成为信息化社会中最重要的支撑技术之一。
[0003] 而由于企业和公司的数据量增长过快,不断的对于数据库的容量提出新的要求, 在数据库设立时期估算的容量,终究会随着发展和增长而无法再满足实际需求。所以后期 对于数据库的扩容是数据库使用过程中的一个必然步骤。
[0004] 现阶段的数据库扩容主要是有以下几种方式:
[0005] -种是将数据库内数据进行备份,然后再重新为数据库服务器添加硬盘,重新分 区,最后利用备份文件恢复数据。
[0006] 另一种是对数据备份之后,直接更换一台硬盘更大的数据库服务器,然后利用备 份文件将原有的数据重新恢复到新的数据库服务器当中。
[0007] 但是,上述数据备份过程有别于普通的数据拷贝。数据拷贝是一种相对简单的数 据处理,也就是复制,即生成一份与原数据完全一样的数据,技术上直接且速度快;相比而 言备份虽然在广义上也类似于一个复制的过程,但从技术上来讲,备份是更加复杂的。备份 除了生成包含原有数据所有信息的新数据之外,还涉及压缩、标记日期、增量备份和差量备 份等特别的功能,而备份文件实质上并不是与原数据一模一样的一份数据。所以备份更加 复杂,需要借助专门的备份工具来实现。
[0008] 而以上两种数据库扩容的方法当中,其硬盘即是服务器本身的一部分,增加硬盘 或更换硬盘,甚至直接更换服务器,都牵涉到原来的操作系统,所以简单的复制拷贝过程, 无法实现扩容后在重新将数据"粘贴"回新硬盘;只能够利用专门的备份软件进行数据的备 份和恢复。但是从现在一般数据库的数据存储量来看,按照上述方式进行数据的备份和恢 复需要消耗相当长的时间,造成效率低下。


【发明内容】

[0009] 有鉴于此,本发明的目的在于提供一种数据库扩容方法和一种数据库,通过设置 相互独立的云主机与云硬盘,实现高效快速的数据库扩容。
[0010] 为实现上述目的,有如下技术方案:
[0011] -种数据库扩容的方法,所述方法包括以下步骤:
[0012] 控制服务器为数据库实例申请第一云硬盘;所述数据库实例包括云主机和第二云 硬盘;
[0013] 控制服务器将第一云硬盘挂载到云主机上,并将第二云硬盘中的数据拷贝至第一 云硬盘。
[0014] 所述控制服务器为数据库实例申请第一云硬盘具体为:
[0015] 控制服务器为数据库实例申请一个指定硬盘容量的第一云硬盘。
[0016] 所述控制服务器将第一云硬盘挂载到云主机上具体为:
[0017] 控制服务器将第一云硬盘绑定到云主机上;
[0018] 控制服务器指令云主机停止数据库运行,并将第一云硬盘格式化;
[0019] 控制服务器将格式化后的第一云硬盘挂载到云主机上。
[0020] 所述第一云硬盘挂载到云主机上具体为:
[0021 ] 在云主机上生成一个读写目录,将第一云硬盘挂载到所述读写目录上。
[0022] 所述方法还包括:
[0023] 控制服务器将第二云硬盘中的数据拷贝至第一云硬盘之后,指令重新启动云主 机,卸载第二云硬盘。
[0024] 一种数据库,所述数据库包括:
[0025] 控制服务器,用于为数据库实例申请扩容;并将第一云硬盘挂载到云主机上,将数 据库实例中的数据拷贝至第一云硬盘;
[0026] 数据库实例,用于对数据进行存储和管理,并根据控制服务器的指令进行扩容;
[0027] 第一云硬盘,用于挂载到数据库实例上,对数据库实例进行扩容。
[0028] 所述数据库实例包括:
[0029] 云主机,用于对数据进行管理,并用于挂载第一云硬盘和/或第二云硬盘;
[0030] 第二云硬盘,用于存储数据。
[0031] 所述控制服务器包括:
[0032] 申请模块,用于为云主机申请指定硬盘容量的第一云硬盘;
[0033] 绑定模块,用于指令云主机运行绑定脚本,将第一云硬盘绑定;
[0034] 格式化模块,用于将第一云硬盘格式化;
[0035] 挂载模块,用于指令云主机运行挂载脚本,使第一云硬盘登录到云主机;
[0036] 拷贝模块,用于将第二云硬盘中数据拷贝至第一云硬盘。
[0037] 所述云主机还包括:
[0038] 卸载模块,用于在数据拷贝完成后为云主机卸载第二云硬盘。
[0039] 根据以上技术方案可知,本发明存在的有益效果是,通过独立设置的云主机与云 硬盘,实现了数据库扩容的过程中,云硬盘在不影响数据库实例的情况下灵活的挂载,从而 利用简单的拷贝技术即可将第二云硬盘中原本储存的数据转移到新挂载的第一云硬盘中; 在数据库扩容和相应的数据转移过程中,避免了复杂的备份与恢复,也不需要使用任何特 殊的备份工具,仅利用简单的拷贝技术完成整个流程,节省了大量的时间,提高工作效率。

【专利附图】

【附图说明】
[0040] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他的附图。
[0041] 图1为本发明实施例所述方法流程图;
[0042] 图2为本发明另一实施例所述方法流程图;
[0043] 图3为本发明实施例所述数据库结构示意图;
[0044] 图4为本发明另一实施例所述数据库中控制服务器结构示意图。

【具体实施方式】
[0045] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 参照图1所示,为本发明所述数据库扩容方法的一个具体实施例。本实施例中,所 述方法包括:
[0047] 步骤101、控制服务器为数据库实例申请第一云硬盘;所述数据库实例包括云主 机和第二云硬盘;
[0048] 本实施例中,所述数据库实例也就是实现数据库功能的一个主体。在一个完整的 数据库之下,可能包括诸多数据库实例并行工作;而本实施例所述的一个完整数据库当中, 还特别设置有一个控制服务器,对数据库中所有的数据库实例进行控制,指令其完成扩容 过程。不同于传统的数据库服务器,本实施例中所述数据库实例中,硬盘不再是主机的一部 分。所述数据库实例当中包括云主机和第二云硬盘两部分,并且云主机和第二云硬盘彼此 独立的设置。也就是说在数据库实例中,云硬盘与云主机隶属于两个生命周期。
[0049] 云硬盘又分为第一云硬盘和第二云硬盘,从硬件的角度上来看二者并无实质的差 另IJ,只是所述第二云硬盘特指的是已经与云主机完成对应的挂载,组成了数据库实例并投 入运行的云硬盘。相反未与云主机完成挂载,组成了数据库实例并投入运行的云硬盘即第 一云硬盘。未与任何云主机对应的空闲云硬盘(也就是第一云硬盘)在本实施例中是独立存 在的,一旦某第一云硬盘与某一云主机建立了对应的挂载,构成了数据库实例,该第一云硬 盘即转变为第二云硬盘。当挂载云硬盘的主机被删除或者出现故障时,云硬盘中的数据仍 然保留,并且可以重新挂载到其它主机上。
[0050] 当一个数据库实例中的云硬盘容量无法在满足使用需要,则该数据库实例申请第 一云硬盘进行扩容。
[0051] 步骤102、控制服务器将第一云硬盘挂载到云主机上,并将第二云硬盘中的数据拷 贝至第一云硬盘。
[0052] 本实施例中,首先将第一云硬盘额外挂载到云主机上。在此情况下,由于数据库实 例的操作系统依靠云主机运行,而不借助云硬盘,所以原有数据库实例的操作系统以及存 储的数据文件都不受到影响,可以实现直接将第二云硬盘中的数据拷贝到第一云硬盘中, 避免了复杂的备份与恢复的过程。
[0053] 以上实施例为本发明所述方法的一个基础实施例。本实施例存在的有益效果是, 通过独立设置的云主机与云硬盘,并利用控制服务器控制其完成云硬盘的挂载和数据的拷 贝,实现了数据库扩容的过程中;云硬盘能够在不影响数据库实例本身操作系统的情况下 灵活的挂载,从而利用简单的拷贝技术即可将第二云硬盘中原本储存的数据转移到新挂载 的第一云硬盘中。本实施例存在的有益效果是在数据库扩容和相应的数据转移过程中,避 免了复杂的备份与恢复,也不需要使用任何特殊的备份工具,仅利用简单的拷贝技术完成 整个流程,节省了大量的时间,提高工作效率。
[0054] 参见图2所示为本发明所述方法的另一个具体实施例。本实施例中更加完整具体 的对于所述方法进行了公开:
[0055] 步骤201、控制服务器为数据库实例申请一个指定硬盘容量的第一云硬盘;所述 数据库实例包括云主机和第二云硬盘;
[0056] 本实施例中,用户可以根据实际的使用需求预先拟定需要申请的第一云硬盘的容 量,并指定为云主机申请与该拟定容量等同的第一云硬盘。而且一般情况下,第一云硬盘的 容量要大于第二云硬盘的容量,也就是以一个容量更大的硬盘替换原来容量较小的硬盘, 实现数据库的扩容。
[0057] 步骤202、控制服务器将第一云硬盘绑定到云主机上;
[0058] 本步骤中所说的绑定动作,可以是本领域中所通用的attach操作。attach操作 是在云主机上生成一个对应该第一云硬盘的设备目录,从而完成云主机和第一云硬盘的绑 定。但是绑定完成后,所述设备目录的作用仅限于识别该第一云硬盘,并对第一云硬盘进行 格式化;此阶段还不能够进行读写操作。
[0059] 步骤203、控制服务器指令云主机停止数据库运行,并将第一云硬盘格式化;
[0060] 步骤204、控制服务器将格式化后的第一云硬盘挂载到云主机上;
[0061] 绑定后的第一云硬盘必须经过上述格式化和挂载的操作,云主机才能够在第一云 硬盘上进行读写。上述挂载动作可以是本领域中所动用的mount操作。mount操作能够在 云主机上为第一云硬盘生成一个挂载目录,并将格式化之后的第一云硬盘挂载到所述挂载 目录上,云主机即可通过对于挂载目录执行读写来实现对第一云硬盘进行读写操作。本实 施例中所述的attach和mount均为本领域中常见的命令,在此不对其作更多描述。
[0062] 步骤205、控制服务器将第二云硬盘中的数据拷贝至第一云硬盘;
[0063] 由于所述第一云硬盘和第二云硬盘都已经挂载到云主机之下,而且数据库实例的 操作系统依靠云主机运行,而不借助云硬盘;也就是说此时二者共存于云主机的操作系统 之下,云主机只需要直接将第二云硬盘中的数据拷贝至第一云硬盘就能够实现数据的转 移。
[0064] 步骤206、控制服务器指令重新启动云主机,卸载第二云硬盘。
[0065] 由此所述方法完成以一块容量更大的云硬盘替代原先容量较小的云硬盘,实现了 数据库的扩容。
[0066] 在本实施例中,更加详细具体的描述了所述方法的整体流程。本实施例在图1所 示实施例的基础之上,进一步实现的有益效果是,本实施例中所述方法技术方案更加完整 具体,公开更加充分。
[0067] 参照图3所示为本发明所述数据库的一个具体实施例。所述数据库中包括一个控 制服务器,至少一个数据库实例,和至少一个未与任何数据库实例对应的第一云硬盘。图3 中显示的是包括三个数据库实例和两个第一云硬盘的具体情况。所述数据库的具体包括如 下所述;
[0068] 控制服务器,用于为数据库实例申请扩容;并将第一云硬盘挂载到云主机上,将数 据库实例中的数据拷贝至第一云硬盘;
[0069] 本实施例中,控制服务器接收用户的扩容指令,并根据指令对整个扩容过程起到 控制的作用。所述控制服务器可以是一台独立设置的服务器,并为用户提供输入输出设备, 供用户执行操作。在扩容过程的每个步骤当中,控制服务器均可以生成相应的指令给数据 库实例中的云主机。
[0070] 数据库实例,用于对数据进行存储和管理,并根据控制服务器的指令进行扩容;
[0071] 本实施例中所述数据库实例包括一个云主机和一个第二云硬盘。云主机用于对数 据进行管理,并用于挂载第一云硬盘和/或第二云硬盘,根据控制服务器的指令执行扩容 流程;第二云硬盘用于存储数据。所述数据库实例也就是实现数据库功能的一个主体。构 建在一个完整的数据库之下,可能包括诸多数据库实例并行工作。不同于传统的数据库服 务器,本实施例中所述数据库实例中,硬盘不再是主机的一部分,而是采用云主机和第二云 硬盘彼此独立的设置;也就是说云硬盘与云主机隶属于两个生命周期,当挂载云硬盘的主 机被删除或者出现故障时,云硬盘中的数据仍然保留,并且可以重新挂载到其它主机上。
[0072] 第一云硬盘,用于挂载到数据库实例上,对数据库实例进行扩容。
[0073] 当一个数据库实例中的云硬盘容量无法在满足使用需要,则用户利用所述控制服 务器为该数据库实例申请第一云硬盘进行扩容。所述第一云硬盘与第二云硬盘其实不存在 本质上的区别,仅仅是在整体数据库中,未与任何云主机对应的空闲云硬盘独立存在,空闲 云硬盘即表不成第一云硬盘;而一旦某一云硬盘与某一云主机建立了对应关系,构成了数 据库实例,该云硬盘即转变为第二云硬盘。将第一云硬盘额外挂载到云主机上后,即可将 第二云硬盘中的数据拷贝至第一云硬盘。在此情况下,原有数据库实例的操作系统以及存 储的数据文件都不受到影响,所以可以实现直接将第二云硬盘中的数据拷贝到第一云硬盘 中,避免了复杂的备份与恢复的过程。
[0074] 本实施例为所述数据库的一个基础实施例,本实施例所述数据库实质上对应图1 所示实施例中所述方法,也就是本实施例中所述数据库能够按照该方法进行扩容。所以可 见本实施例存在的有益效果是,通过独立设置的云主机与云硬盘,并利用控制服务器对其 进行控制实现了数据库扩容的过程中,云硬盘在不影响数据库实例的情况下灵活的挂载, 从而利用简单的拷贝技术即可将第二云硬盘中原本储存的数据转移到新挂载的第一云硬 盘中。本实施例存在的有益效果是在数据库扩容和相应的数据转移过程中,避免了复杂的 备份与恢复,也不需要使用任何特殊的备份工具,仅利用简单的拷贝技术完成整个流程,节 省了大量的时间,提高工作效率。
[0075] 以下为本发明所述数据库的另一个具体实施例。本实施例在图3所示实施例的基 础上,对所述控制服务器的结构做出更加具体的描述。本实施例中所述数据库的其他组成 部分与图3所示实施例一致,在此不重复叙述。
[0076] 参照图4所示,为本实施例中所述云主机的结构示意图;所述云主机具体包括:
[0077] 申请模块,用于为云主机申请指定硬盘容量的第一云硬盘;
[0078] 本实施例中,用户可以根据实际的使用需求预先拟定需要申请的第一云硬盘的容 量,并利用申请模块指定为云主机申请与该拟定容量等同的第一云硬盘。而且一般情况下, 第一云硬盘的容量要大于第二云硬盘的容量,也就是以一个容量更大的硬盘替换原来容量 较小的硬盘,实现数据库的扩容。
[0079] 绑定模块,用于指令云主机运行绑定脚本,将第一云硬盘绑定;
[0080] 所说的绑定动作,可以是本领域中所通用的attach操作。attach操作是在云主机 上生成一个对应该第一云硬盘的设备目录,从而完成云主机和第一云硬盘的绑定。但是绑 定完成后,所述设备目录的作用仅限于识别该第一云硬盘,此阶段还不能够进行读写操作; 另外还能够利用所述设备目录对第一云硬盘进行格式化。
[0081] 格式化模块,用于将第一云硬盘格式化;
[0082] 挂载模块,用于指令云主机运行挂载脚本,使第一云硬盘登录到云主机;
[0083] 绑定后的第一云硬盘必须经过上述格式化和挂载的操作,云主机才能够在第一云 硬盘上进行读写。上述挂载模块执行的挂载过程可以是本领域中所动用的mount操作。 mount操作能够在云主机上为第一云硬盘生成一个挂载目录,并将格式化之后的第一云硬 盘挂载到所述挂载目录上,云主机即可通过对于挂载目录执行读写来实现对第一云硬盘进 行读写操作。本实施例中所述的attach和mount均为本领域中常见的命令,在此不对其作 更多描述。
[0084] 拷贝模块,用于将第二云硬盘中数据拷贝至第一云硬盘;
[0085] 由于所述第一云硬盘和第二云硬盘都已经挂载到云主机之下,也就是说此时二者 共存于云主机的操作系统之下,云主机只需要直接将第二云硬盘中的数据拷贝至第一云硬 盘就能够实现数据的转移。
[0086] 卸载模块,用于在数据拷贝完成后为云主机卸载第二云硬盘。
[0087] 由此所述方法完成以一块容量更大的云硬盘替代原先容量较小的云硬盘,实现了 数据库的扩容。
[0088] 本实施例中所述数据库,其技术方案本质上对应了图2所示的方法实施例。也就 是说按照上述结构组成的控制服务器,能够对应的实现图2所示实施例中所述方法。在图 3所示实施例的基础之上,本实施例所述数据库进一步实现的有益效果是,本实施例中所述 方法技术方案更加完整具体,公开更加充分。
[0089] 以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
【权利要求】
1. 一种数据库扩容的方法,其特征在于,所述方法包括以下步骤: 控制服务器为数据库实例申请第一云硬盘;所述数据库实例包括云主机和第二云硬 盘; 控制服务器将第一云硬盘挂载到云主机上,并将第二云硬盘中的数据拷贝至第一云硬 盘。
2. 根据权利要求1所述方法,其特征在于,所述控制服务器为数据库实例申请第一云 硬盘具体为: 控制服务器为数据库实例申请一个指定硬盘容量的第一云硬盘。
3. 根据权利要求1所述方法,其特征在于,所述控制服务器将第一云硬盘挂载到云主 机上具体为: 控制服务器将第一云硬盘绑定到云主机上; 控制服务器指令云主机停止数据库运行,并将第一云硬盘格式化; 控制服务器将格式化后的第一云硬盘挂载到云主机上。
4. 根据权利要求3所述方法,其特征在于,所述第一云硬盘挂载到云主机上具体为: 在云主机上生成一个读写目录,将第一云硬盘挂载到所述读写目录上。
5. 根据权利要求1-4任意一项所述方法,其特征在于,所述方法还包括: 控制服务器将第二云硬盘中的数据拷贝至第一云硬盘之后,指令重新启动云主机,卸 载第二云硬盘。
6. -种数据库,其特征在于,所述数据库包括: 控制服务器,用于为数据库实例申请扩容;并将第一云硬盘挂载到云主机上,将数据库 实例中的数据拷贝至第一云硬盘; 数据库实例,用于对数据进行存储和管理,并根据控制服务器的指令进行扩容; 第一云硬盘,用于挂载到数据库实例上,对数据库实例进行扩容。
7. 根据权利要求6所述数据库,其特征在于,所述数据库实例包括: 云主机,用于对数据进行管理,并用于挂载第一云硬盘和/或第二云硬盘;第二云硬 盘,用于存储数据。
8. 根据权利要求6所述数据库,其特征在于,所述控制服务器包括: 申请模块,用于为云主机申请指定硬盘容量的第一云硬盘; 绑定模块,用于指令云主机运行绑定脚本,将第一云硬盘绑定; 格式化模块,用于将第一云硬盘格式化; 挂载模块,用于指令云主机运行挂载脚本,使第一云硬盘登录到云主机; 拷贝模块,用于将第二云硬盘中数据拷贝至第一云硬盘。
9. 根据权利要求8所述数据库,其特征在于,所述云主机还包括: 卸载模块,用于在数据拷贝完成后为云主机卸载第二云硬盘。
【文档编号】G06F17/30GK104142943SQ201310165909
【公开日】2014年11月12日 申请日期:2013年5月7日 优先权日:2013年5月7日
【发明者】谢振业, 王超, 蒋楠 申请人:上海盛大网络发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1