本发明涉及数据备份技术领域,尤其涉及一种备份数据库数据的方法和装置。
背景技术:
随着计算机技术、网络技术以及数据库技术的不断发展,各种数据的数据量呈爆炸性增长,数据的重要性也不断提高。数据库中保存了海量的关键业务数据,因此对数据库进行备份,十分必要。
数据库备份方法包括冷备份和热备份,传统的数据库备份方式一般采用冷备份,冷备份需要在数据库关闭的状况下进行数据备份,因此会影响业务的连续性;当前数据库备份主要采用热备份方式,热备份是指在不影响数据库读写操作的情况下对数据进行备份。在热备份的实现过程中,一般采用调用数据库命令或接口,将数据从数据库导出,生成数据文件,然后对导出的数据文件进行备份。由于数据库数据量一般很大,使用这种备份方式,虽然能够保证数据库业务的连续性,但是导出的数据文件需要额外占用备份服务器的存储空间,会占用大量的存储空间,容易引起存储空间不足的问题;同时,备份过程需要等待数据导出完成,生成数据文件后,再进行备份,总体备份时间较长。
为此,我们提出一种备份数据库数据的方法和装置来解决上述问题。
技术实现要素:
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种备份数据库数据的方法和装置。
为了实现上述目的,本发明采用了如下技术方案:
一种备份数据库数据的方法,包括:
一种备份数据库数据的方法,所述方法包括:
调用数据库接口,读取数据库的备份数据;
将所述备份数据存储到暂存内存中;
所述暂存内存存储的现有数据达到长度阈值时,将所述现有数据发送到备份服务器,并清空所述现有数据。
所述的一种备份数据库数据的方法,还包括:
所述暂存内存存储的所述现有数据未达到长度阈值时,继续将所述备份数据存储到所述暂存内存。
优选地,所述的将所述备份数据存储到暂存内存中,具体包括:
所述暂存内存为备份客户端内存。
优选地,所述的所述暂存内存存储的现有数据达到长度阈值时,具体包括:
备份客户端根据用户设定和/或所述备份客户端内存属性设定所述长度阈值。
优选地,所述的将所述现有数据发送到备份服务器,并清空所述现有数据,具体包括:
所述现有数据的长度达到所述长度阈值时,所述备份客户端将所述现有数据发送到所述备份服务器,同时,清除已发送的所述现有数据,并接收所述备份数据。
一种备份数据库数据装置,包括:
读取模块,调用数据库接口,读取数据库的备份数据;
第一发送模块,将所述备份数据存储到暂存内存中;
第二发送模块,所述暂存内存存储的现有数据达到长度阈值时,将所述现有数据发送到备份服务器,并清空所述现有数据。
所述的一种备份数据库数据装置,还包括:
第一发送模块,所述暂存内存存储的所述现有数据未达到长度阈值时,继续将所述备份数据存储到所述暂存内存。
优选地,所述第一发送模块中:
所述暂存内存为备份客户端内存。
优选地,所述第二发送模块中:
备份客户端根据用户设定和/或所述备份客户端内存属性设定所述长度阈值。
优选地,所述第二发送模块中:
所述现有数据的长度达到所述长度阈值时,所述备份客户端将所述现有数据发送到所述备份服务器,同时,清除已发送的所述现有数据,并接收所述备份数据。
本发明采用热备份的方式,备份客户端调用数据库的接口,读取数据库数据,保证了在备份过程中,数据库业务的连续性以及稳定性;备份时,备份客户端将读取到的数据存储到暂存内存中,不需要将生成的备份数据保存到备份服务器的存储中,不占用备份服务器的存储空间,避免了可能引起的存储空间不足问题的发生;在备份数据存储到暂存内存的同时,将达到长度阈值的数据及时发送到备份服务器,这样,读取数据库数据与向备份服务器发送数据同时进行,提高了备份效率,缩短了备份时间。
本专利适用于所有数据库的备份方式,实现了在对数据库的备份过程中,既保证数据库业务的连续性,又减少对备份服务器存储空间的占用,同时也提高了备份效率。
附图说明
图1示出了本发明实施例1一种备份数据库数据的方法具体流程图;
图2示出了本发明实施例2一种备份数据库数据装置的具体结构图;
图3示出了本发明实施例的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
本实施例提供一种备份数据库数据的方法,用于一种备份数据库数据装置中。如图1所示,该方法包括以下步骤:
s101:调用数据库接口,读取数据库的备份数据;
本步骤101中,可以是备份客户端主动向数据库发起数据传输请求,数据库在接收到数据传输请求后向备份客户端发送备份数据,也可以是数据库向备份客户端主动发起数据传输请求,备份客户端在相应数据库发起的数据传输请求后,数据库向备份客户端发送备份数据;
数据库中的数据为逻辑一致性的数据,即数据库数据包括原始数据库中的数据文件和共享该原始数据库的存储空间的所有主机的内存空间中的数据;
备份数据可以为数据库在接收到数据传输请求后数据库的全部数据,也可以为依照规定或协议限制的数据库的部分数据。
s102:将备份数据存储到暂存内存中;
暂存内存为备份客户端内存;
暂存内存存储的现有数据未达到长度阈值时,继续将备份数据存储到暂存内存;
在本步骤102中,备份客户端将接收到数据库传输的备份数据存储在本地暂存内存中,并标记接收时间,记为时间戳;其中暂存内存可以为备份客户端的内存,可以为共享该备份客户端的存储空间的所有主机的内存空间,也可以为该备份客户端共享的其他主机的内存空间,所述其他主机不包括备份服务器;
备份客户端根据用户设定和/或备份客户端内存属性设定长度阈值;
长度阈值可以由用户根据实际用途通过备份客户端自行设置,也可以为备份客户端根据暂存内存的属性,例如暂存内存的容量,与备份数据传输速率综合计算得到的最佳阈值。
s103:暂存内存存储的现有数据达到长度阈值时,将现有数据发送到备份服务器,并清空现有数据;
现有数据的长度达到长度阈值时,备份客户端将现有数据发送到备份服务器,同时,清除已发送的现有数据,并接收备份数据;
每次接收备份数据都需要判断暂存内存内的现有数据是否超过长度阈值,在备份数据传输过程中,也需要不断的判定暂存内存内的现有数据的长度是否超过长度阈值;
当暂存内存内的现有备份数据的长度达到长度阈值时,备份客户端将暂存内存内的现有数据按照时间戳由前到后的顺序传输到备份服务器上;
在备份客户端将暂存内存内的现有数据按照时间戳的顺序传输到备份服务器的同时,清除已发送的现有数据,并接收数据库传输的备份数据。
实施例2
本实施例提供一种备份数据库数据装置。如图3所示,该装置包括:
201:读取模块,调用数据库接口,读取数据库的备份数据;
具体地,暂存内存为备份客户端内存
202:第一发送模块,将备份数据存储到暂存内存中;
暂存内存存储的现有数据未达到长度阈值时,继续将备份数据存储到暂存内存;
具体地,备份客户端根据用户设定和/或备份客户端内存属性设定长度阈值。
203:第二发送模块,暂存内存存储的现有数据达到长度阈值时,将现有数据发送到备份服务器,并清空现有数据;
具体地,现有数据的长度达到长度阈值时,备份客户端将现有数据发送到备份服务器,同时,清除已发送的现有数据,并接收备份数据。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行实施例中的任一实施方式。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,本申请的实施例可提供方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可又计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生一个机器,使得通过计算机或其他可编程数据处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理以特定方式工作的计算机可读存储器中,使得存储在计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程装置上执行提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明较佳的一部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以组合、等同替换或改变,都应涵盖在本发明的保护范围之内。