CN104407945A - 数据备份的方法、装置及系统 - Google Patents

数据备份的方法、装置及系统 Download PDF

Info

Publication number
CN104407945A
CN104407945A CN201410837856.4A CN201410837856A CN104407945A CN 104407945 A CN104407945 A CN 104407945A CN 201410837856 A CN201410837856 A CN 201410837856A CN 104407945 A CN104407945 A CN 104407945A
Authority
CN
China
Prior art keywords
data base
master data
backed
data
backup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410837856.4A
Other languages
English (en)
Other versions
CN104407945B (zh
Inventor
于伯伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410837856.4A priority Critical patent/CN104407945B/zh
Publication of CN104407945A publication Critical patent/CN104407945A/zh
Application granted granted Critical
Publication of CN104407945B publication Critical patent/CN104407945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据备份的方法、装置及系统,用于备份一个或多个主数据库中的数据,其中方法包括:在备份服务器中部署伪从数据库进程;伪从数据库进程启动并连接到主数据库之后,利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据;以及将主动拉取过来的待备份数据存储在备份服务器中。本方案优化了数据备份方案,降低了数据备份方案的复杂度,并极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。

Description

数据备份的方法、装置及系统
技术领域
本发明涉及互联网技术领域,具体涉及一种数据备份的方法、装置及系统。
背景技术
随着信息技术的不断发展,出现了许多种用于进行数据管理的数据库,其中,Redis型数据库是一种高性能的key-value数据库,它支持多种数据类型的存储,例如string(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(哈希)等,在现有的互联网技术领域中,Redis型数据库得到了人们广泛使用。
Redis基本的架构为标准的一个主数据库一个从数据库,其中,主数据库负责向外提供业务,从数据库作为主数据库的备用数据库。在现有Redis数据备份方案中,不仅需要在所有的数据库服务器上部署备份程序,而且还需要在备份服务器上搭建用于接收备份数据的数据传输程序,例如Rsync Server等。在备份服务器启动并连接到主数据库之后,它将调用主动发送程序,例如Sync等,此后主数据库在短时间内将启动后台存盘进程,将内存中的数据刷新到磁盘中,然后数据打包,再集中将数据传输到备份服务器的从数据库中,即主数据库将全量数据传输给从数据库。当从数据库接收到数据之后,将数据加载到内存中并存盘。当有新数据写入时,主数据库就要将增量数据传输给从数据库,从而实现主数据库与从数据库的数据同步。当主数据库出现问题,从数据库便可代替主数据库对外提供业务。
由此可看出,现有Redis数据备份方案中至少存在以下问题:
(1)所有的数据库服务器上都需要部署备份程序;
(2)主数据库在短时间将内存中的数据写到磁盘中,磁盘IO消耗很多,由此可能会对Redis所对外提供的业务产生影响,尤其是对敏感业务产生影响;
(3)从数据库接收到主数据库传输的数据之后,将数据加载到内存中,极大地浪费了备用服务器的内存,增加了运维成本。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据备份的方法、装置及系统。
根据本发明的一个方面,提供了一种数据备份的方法,用于备份一个或多个主数据库中的数据,该方法包括:
在备份服务器中部署伪从数据库进程;
伪从数据库进程启动并连接到主数据库之后,利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据;以及
将主动拉取过来的待备份数据存储在备份服务器中。
进一步,待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的。
进一步,备份服务器中保存有预配置文件,预配置文件记录有伪从数据库进程负责备份的主数据库的名称,以及
利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据进一步包括:
依据预配置文件,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求。
利用伪从数据库进程向主数据库发送主从复制请求进一步包括:利用伪从数据库进程定时向主数据库发送主从复制请求。
进一步,该数据备份的方法还包括:利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在备份服务器中的待备份数据进行分类管理。
进一步,待备份数据是存储在备份服务器的非易失性存储器中。
进一步,主数据库为Redis型数据库。
进一步,伪从数据库进程与一个或多个主数据库之间为远程通信。
进一步,该数据备份的方法还包括:伪从数据库进程检测将待备份数据存储在备份服务器中是否成功;若否,则通过短信或邮件方式进行报警。
根据本发明的另一方面,提供了一种数据备份的装置,用于备份一个或多个主数据库中的数据,该装置包括:
部署模块,适于在备份服务器中部署伪从数据库进程;
拉取模块,适于通过伪从数据库进程启动并连接到主数据库之后,利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据;
备份模块,适于将主动拉取过来的待备份数据存储在备份服务器中。
进一步,待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的。
进一步,该数据备份的装置还包括:配置模块,适于配置并保存预配置文件,预配置文件记录有伪从数据库进程负责备份的主数据库的名称;
拉取模块进一步适于:依据预配置文件,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求。
拉取模块进一步适于:利用伪从数据库进程定时向主数据库发送主从复制请求。
进一步,该数据备份的装置还包括:分类管理模块,适于利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在备份服务器中的待备份数据进行分类管理。
备份模块进一步适于:将待备份数据是存储在备份服务器的非易失性存储器中。
进一步,该数据备份的装置还包括:
检测模块,适于利用伪从数据库进程检测将待备份数据存储在备份服务器中是否成功;
报警模块,适于在检测模块检测到将待备份数据存储在备份服务器中失败的情况下,通过短信或邮件方式进行报警。
根据本发明的另一方面,提供了一种数据备份的系统,包括上述的数据备份的装置和主数据库;伪从数据库进程与一个或多个主数据库之间为远程通信。
进一步,主数据库为Redis型数据库。
根据本发明提供的技术方案,通过在备份服务器中部署伪从数据库进程,并利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该方案无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另外,在不对业务带来太大可用性损失的前提下,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的数据备份的方法的流程示意图;
图2示出了根据本发明另一个实施例的数据备份的方法的流程示意图;
图3示出了根据本发明一个实施例的数据备份的装置的功能结构示意图;
图4示出了根据本发明另一个实施例的数据备份的装置的功能结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的数据备份的方法的流程示意图。如图1所示,该方法用于备份一个或多个主数据库中的数据,该方法包括如下步骤:
步骤S100,在备份服务器中部署伪从数据库进程。
在备份服务器中部署伪从数据库进程,该伪从数据库进程用于模拟从数据库,可以是调用数据库协议中的某个工具,以使备份服务器模拟成为一个或多个主数据库的从数据库。
步骤S101,伪从数据库进程启动并连接到主数据库之后,利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据。
当备份服务器中的伪从数据库进程得到启动时,此时备份服务器模拟成为主数据库的从数据库;当伪从数据库进程与主数据库建立连接后,利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据。其中,主数据库中的待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的,即当主数据库接收到主从复制请求后,将写入内存中的数据刷新到磁盘中,然后进行数据打包得到待备份数据,该待备份数据为主数据库的全量数据。由于伪从数据库从主数据库中主动拉取待备份数据,所以主数据库中无需部署用于发送数据的程序。
步骤S102,将主动拉取过来的待备份数据存储在备份服务器中。
主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中。
根据本实施例提供的数据备份的方法,通过在备份服务器中部署伪从数据库进程,并利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该方法无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另外,由于有些业务对数据不敏感,即使丢失了一部分数据,这些业务仍然能够使用,所以在不对业务带来太大可用性损失的前提下,该方法只备份主数据库的全量数据,不备份增量数据,并且主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。
图2示出了根据本发明另一个实施例的数据备份的方法的流程示意图。如图2所示,该方法用于备份一个或多个主数据库中的数据,该方法包括如下步骤:
步骤S200,在备份服务器中部署伪从数据库进程,该备份服务器中保存有预配置文件。
在备份服务器中部署伪从数据库进程,该伪从数据库进程用于模拟从数据库,可以是调用数据库协议中的某个工具,以使备份服务器模拟成为一个或多个主数据库的从数据库。
预配置文件记录有伪从数据库进程负责备份的主数据库的名称。例如,预配置文件记录了伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3。
步骤S201,伪从数据库进程启动并连接到主数据库之后,依据预配置文件,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据。
主数据库可以为Redis型数据库。Redis型数据库可以支持多种数据类型的存储,得到了人们广泛使用。Redis基本的架构为标准的一个主数据库一个从数据库,其中,主数据库负责向外提供业务,从数据库作为主数据库的备用数据库。
当备份服务器中的伪从数据库进程得到启动时,此时依据预配置文件,备份服务器模拟成为预配置文件中记录的主数据库的从数据库;当伪从数据库进程与预配置文件中记录的主数据库建立连接后,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,主动拉取主数据库中的待备份数据。其中,主数据库中的待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的,即当主数据库接收到主从复制请求后,将写入内存中的数据刷新到磁盘中,然后进行数据打包得到待备份数据,该待备份数据为主数据库的全量数据。
例如,预配置文件中记录的该伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3,当备份服务器中的伪从数据库进程得到启动时,此时备份服务器模拟成为主数据库1、主数据库2和主数据库3的从数据库;当伪从数据库进程与主数据库1、主数据库2和主数据库3分别建立连接后,利用伪从数据库进程向主数据库1、主数据库2和主数据库3发送主从复制请求,主动拉取主数据库1、主数据库2和主数据库3中的待备份数据。其中,主数据库1、主数据库2和主数据库3中的待备份数据是由主数据库1、主数据库2和主数据库3在接收到主从复制请求后,对各自内存中数据分别进行镜像处理得到的,即当主数据库1、主数据库2和主数据库3接收到主从复制请求后,将写入各自内存中的数据刷新到磁盘中,然后进行数据打包分别得到主数据库1、主数据库2和主数据库3的待备份数据。
具体地,还可以利用伪从数据库进程对预配置文件中记录的某个或某些主数据库发送主从复制请求,以主动拉取某个或某些主数据库中的待备份数据。例如,利用伪从数据库进程只对预配置文件中记录的主数据库1发送主从复制请求,主动拉取主数据库1的待备份数据。这里,预配置文件记录的主数据库是对数据不敏感的业务所对应的主数据库,即使丢失一部分数据,这些业务仍然能够使用。通过利用预配置文件,对使用本方案的主数据库进行筛选,避免对敏感性业务产生影响。
具体地,还可以利用伪从数据库进程定时向主数据库发送主从复制请求。例如,每隔1个小时,备份服务器中的伪从数据库进程定时向主数据库发送主从复制请求,从而实现对主数据库的数据及时进行备份,防止主数据库一旦发生宕机时,备份服务器中的备份数据与主数据库的现有数据相差很大,而对业务造成很大影响。而且,伪从数据库进程不需要频繁的拉取主数据库中的数据,以避免主数据库频繁的将内存中的数据写到磁盘中,导致磁盘IO消耗过多的问题。
具体地,伪从数据库进程与一个或多个主数据库之间为远程通信。备份服务器通过远程通信即可便捷地备份一个或多个主数据库中的数据。
步骤S202,将主动拉取过来的预配置文件中记录的主数据库的待备份数据存储在备份服务器中。
主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中。具体地,待备份数据是存储在备份服务器的非易失性存储器中,例如磁盘中。将待备份数据存储在备份服务器的非易失性存储器中,有助于很好地保存待备份数据,起到备份数据的作用。
步骤S203,伪从数据库进程检测将待备份数据存储在备份服务器中是否成功,若否,执行步骤S204。
例如伪从数据库进程与主数据库的连接中途断开或备份服务器的磁盘空间不足等原因会导致待备份数据没有成功存储在备份服务器中,为了避免类似情况的发生,可以及时通过伪从数据库进程检测将待备份数据存储在备份服务器中是否成功。如果经检测将待备份数据存储在备份服务器中没有成功,则执行步骤S204。
步骤S204,通过短信或邮件方式进行报警。
例如,经检测将待备份数据存储在备份服务器中没有成功,则可通过短信或邮件方式进行报警,以便及时通知工作人员对相关进程或装置等进行维护。
该数据备份的方法还可包括:利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在备份服务器中的待备份数据进行分类管理。
例如,预配置文件中记录的伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3,其中,主数据库1、主数据库2和主数据库3的端口依次为端口1、端口1和端口2,当根据各个主数据库的端口对存储在备份服务器中的待备份数据进行分类管理时,端口1的待备份数据包括主数据库1的待备份数据与主数据库2的待备份数据,端口2的待备份数据包括主数据库3的待备份数据,并对备份信息进行记录。
根据本实施例提供的数据备份的方法,通过在备份服务器中部署伪从数据库进程,该备份服务器中保存有预配置文件,并利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该方法无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另外,由于有些业务对数据不敏感,即使丢失了一部分数据,这些业务仍然能够使用,所以在不对业务带来太大可用性损失的前提下,该方法只备份主数据库的全量数据,不备份增量数据,并且主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。
图3示出了根据本发明一个实施例的数据备份的装置的功能结构示意图。如图3所示,该装置用于备份一个或多个主数据库中的数据,该装置包括:部署模块310、拉取模块320和备份模块330。
部署模块310,适于在备份服务器中部署伪从数据库进程。
通过部署模块310在备份服务器中部署伪从数据库进程,该伪从数据库进程用于模拟从数据库,可以是调用数据库协议中的某个工具,以使备份服务器模拟成为一个或多个主数据库的从数据库。
拉取模块320,适于通过伪从数据库进程启动并连接到主数据库之后,利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据。
当备份服务器中的伪从数据库进程得到启动时,此时备份服务器模拟成为主数据库的从数据库;当伪从数据库进程与主数据库建立连接后,利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据。其中,主数据库中的待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的,即当主数据库接收到主从复制请求后,将写入内存中的数据刷新到磁盘中,然后进行数据打包得到待备份数据,该待备份数据为主数据库的全量数据。
备份模块330,适于将主动拉取过来的待备份数据存储在备份服务器中。
主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中。
根据本实施例提供的数据备份的装置,通过在备份服务器中部署伪从数据库进程,并利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该装置无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另外,由于有些业务对数据不敏感,即使丢失了一部分数据,这些业务仍然能够使用,所以在不对业务带来太大可用性损失的前提下,该装置只备份主数据库的全量数据,不备份增量数据,并且主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。
图4示出了根据本发明另一个实施例的数据备份的装置的功能结构示意图。如图4所示,该装置用于备份一个或多个主数据库中的数据,该装置包括:部署模块410、配置模块420、拉取模块430、备份模块440、检测模块450和报警模块460。
部署模块410,适于在备份服务器中部署伪从数据库进程。
通过部署模块410在备份服务器中部署伪从数据库进程,该伪从数据库进程用于模拟从数据库,可以是调用数据库协议中的某个工具,以使备份服务器模拟成为一个或多个主数据库的从数据库。
配置模块420,适于配置并保存预配置文件,预配置文件记录有伪从数据库进程负责备份的主数据库的名称。
例如,配置模块420中的预配置文件记录了伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3。
拉取模块430,适于依据预配置文件,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据。
主数据库可以为Redis型数据库。Redis型数据库可以支持多种数据类型的存储,得到了人们广泛使用。Redis基本的架构为标准的一个主数据库一个从数据库,其中,主数据库负责向外提供业务,从数据库作为主数据库的备用数据库。
当备份服务器中的伪从数据库进程得到启动时,此时依据预配置文件,备份服务器模拟成为预配置文件中记录的主数据库的从数据库;当伪从数据库进程与预配置文件中记录的主数据库建立连接后,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,主动拉取主数据库中的待备份数据。其中,主数据库中的待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的,即当主数据库接收到主从复制请求后,将写入内存中的数据刷新到磁盘中,然后进行数据打包得到待备份数据,该待备份数据为主数据库的全量数据。
例如,预配置文件中记录的该伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3,当备份服务器中的伪从数据库进程得到启动时,此时备份服务器模拟成为主数据库1、主数据库2和主数据库3的从数据库;当伪从数据库进程与主数据库1、主数据库2和主数据库3分别建立连接后,利用伪从数据库进程向主数据库1、主数据库2和主数据库3发送主从复制请求,主动拉取主数据库1、主数据库2和主数据库3中的待备份数据。其中,主数据库1、主数据库2和主数据库3中的待备份数据是由主数据库1、主数据库2和主数据库3在接收到主从复制请求后,对各自内存中数据分别进行镜像处理得到的,即当主数据库1、主数据库2和主数据库3接收到主从复制请求后,将写入各自内存中的数据刷新到磁盘中,然后进行数据打包分别得到主数据库1、主数据库2和主数据库3的待备份数据。
具体地,还可以利用伪从数据库进程对预配置文件中记录的某个或某些主数据库发送主从复制请求,以主动拉取某个或某些主数据库中的待备份数据。例如,利用伪从数据库进程只对预配置文件中记录的主数据库1发送主从复制请求,主动拉取主数据库1的待备份数据。
具体地,拉取模块430进一步适于:利用伪从数据库进程定时向主数据库发送主从复制请求。例如,每隔1个小时,备份服务器中的伪从数据库进程定时向主数据库发送主从复制请求,从而实现对主数据库的数据及时进行备份,防止主数据库一旦发生宕机时,备份服务器中的备份数据与主数据库的现有数据相差很大,而对业务造成很大影响。
具体地,伪从数据库进程与一个或多个主数据库之间为远程通信。备份服务器通过远程通信即可便捷地备份一个或多个主数据库中的数据。
备份模块440,适于将主动拉取过来的待备份数据存储在备份服务器中。
主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中。具体地,待备份数据是存储在备份服务器的非易失性存储器中,例如磁盘中。将待备份数据存储在备份服务器的非易失性存储器中,有助于很好地保存待备份数据,起到备份数据的作用。
检测模块450,适于利用伪从数据库进程检测将待备份数据存储在备份服务器中是否成功。
例如伪从数据库进程与主数据库的连接中途断开或备份服务器的磁盘空间不足等原因会导致待备份数据没有成功存储在备份服务器中,为了避免类似情况的发生,检测模块450可以及时通过伪从数据库进程检测将待备份数据存储在备份服务器中是否成功。如果经检测将待备份数据存储在备份服务器中没有成功,则启动报警模块。
报警模块460,适于在检测模块检测到将待备份数据存储在备份服务器中失败的情况下,通过短信或邮件方式进行报警,以便及时通知工作人员对相关进程或装置等进行维护。
该数据备份的装置还包括:分类管理模块(图中未示出),适于利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在备份服务器中的待备份数据进行分类管理。
例如,预配置文件中记录的伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3,其中,主数据库1、主数据库2和主数据库3的端口依次为端口1、端口1和端口2,当分类管理模块根据各个主数据库的端口对存储在备份服务器中的待备份数据进行分类管理时,端口1的待备份数据包括主数据库1的待备份数据与主数据库2的待备份数据,端口2的待备份数据包括主数据库3的待备份数据,并对备份信息进行记录。
根据本实施例提供的数据备份的装置,通过在备份服务器中部署伪从数据库进程,该备份服务器中保存有预配置文件,并利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该装置无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另外,由于有些业务对数据不敏感,即使丢失了一部分数据,这些业务仍然能够使用,所以在不对业务带来太大可用性损失的前提下,该装置只备份主数据库的全量数据,不备份增量数据,并且主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。
根据本发明还提供了一种数据备份的系统,包括上述的数据备份的装置和主数据库;伪从数据库进程与一个或多个主数据库之间为远程通信。该数据备份的系统无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,优化了数据备份方案,降低了数据备份方案的复杂度。同时,在不对业务带来太大可用性损失的前提下,该系统将主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据备份的装置及系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:
A1、一种数据备份的方法,用于备份一个或多个主数据库中的数据,所述方法包括:
在备份服务器中部署伪从数据库进程;
所述伪从数据库进程启动并连接到所述主数据库之后,利用所述伪从数据库进程向所述主数据库发送主从复制请求,以主动拉取所述主数据库中的待备份数据;以及
将主动拉取过来的所述待备份数据存储在所述备份服务器中。
A2、根据A1所述的方法,其特征在于,
所述待备份数据是由所述主数据库在接收到所述主从复制请求后,对内存中数据进行镜像处理得到的。
A3、根据A1所述的方法,其特征在于,
所述备份服务器中保存有预配置文件,所述预配置文件记录有所述伪从数据库进程负责备份的主数据库的名称,以及
利用所述伪从数据库进程向所述主数据库发送主从复制请求,以主动拉取所述主数据库中的待备份数据进一步包括:
依据所述预配置文件,利用所述伪从数据库进程向所述预配置文件中记录的所述主数据库发送主从复制请求。
A4、根据A1-A3所述的方法,其特征在于,利用所述伪从数据库进程向所述主数据库发送主从复制请求进一步包括:
利用所述伪从数据库进程定时向所述主数据库发送主从复制请求。
A5、根据A4所述的方法,其特征在于,还包括:
利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在所述备份服务器中的待备份数据进行分类管理。
A6、根据A1-A5所述的方法,其特征在于,
所述待备份数据是存储在所述备份服务器的非易失性存储器中。
A7、根据A1-A6所述的方法,其特征在于,所述主数据库为Redis型数据库。
A8、根据A1-A7任一项所述的方法,其特征在于,所述伪从数据库进程与所述一个或多个主数据库之间为远程通信。
A9、根据A1所述的方法,其特征在于,所述方法还包括:所述伪从数据库进程检测将所述待备份数据存储在所述备份服务器中是否成功;若否,则通过短信或邮件方式进行报警。
B10、一种数据备份的装置,用于备份一个或多个主数据库中的数据,所述装置包括:
部署模块,适于在备份服务器中部署伪从数据库进程;
拉取模块,适于通过所述伪从数据库进程启动并连接到所述主数据库之后,利用所述伪从数据库进程向所述主数据库发送主从复制请求,以主动拉取所述主数据库中的待备份数据;
备份模块,适于将主动拉取过来的所述待备份数据存储在所述备份服务器中。
B11、根据B10所述的装置,其特征在于,
所述待备份数据是由所述主数据库在接收到所述主从复制请求后,对内存中数据进行镜像处理得到的。
B12、根据B10所述的装置,其特征在于,所述装置还包括:配置模块,适于配置并保存预配置文件,所述预配置文件记录有所述伪从数据库进程负责备份的主数据库的名称;
所述拉取模块进一步适于:依据所述预配置文件,利用所述伪从数据库进程向所述预配置文件中记录的所述主数据库发送主从复制请求。
B13、根据B10-B12任一项所述的装置,其特征在于,所述拉取模块进一步适于:利用所述伪从数据库进程定时向所述主数据库发送主从复制请求。
B14、根据B13所述的装置,其特征在于,所述装置还包括:分类管理模块,适于利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在所述备份服务器中的待备份数据进行分类管理。
B15、根据B10-B14任一项所述的装置,其特征在于,所述备份模块进一步适于:将所述待备份数据是存储在所述备份服务器的非易失性存储器中。
B16、根据B10所述的装置,其特征在于,所述装置还包括:
检测模块,适于利用所述伪从数据库进程检测将所述待备份数据存储在所述备份服务器中是否成功;
报警模块,适于在所述检测模块检测到将所述待备份数据存储在所述备份服务器中失败的情况下,通过短信或邮件方式进行报警。
C17、一种数据备份的系统,包括B10-B16任一项所述的数据备份的装置,还包括:主数据库;所述伪从数据库进程与所述一个或多个主数据库之间为远程通信。
C18、根据C17所述的装置,其特征在于,所述主数据库为Redis型数据库。

Claims (10)

1.一种数据备份的方法,用于备份一个或多个主数据库中的数据,所述方法包括:
在备份服务器中部署伪从数据库进程;
所述伪从数据库进程启动并连接到所述主数据库之后,利用所述伪从数据库进程向所述主数据库发送主从复制请求,以主动拉取所述主数据库中的待备份数据;以及
将主动拉取过来的所述待备份数据存储在所述备份服务器中。
2.根据权利要求1所述的方法,其特征在于,
所述待备份数据是由所述主数据库在接收到所述主从复制请求后,对内存中数据进行镜像处理得到的。
3.根据权利要求1所述的方法,其特征在于,
所述备份服务器中保存有预配置文件,所述预配置文件记录有所述伪从数据库进程负责备份的主数据库的名称,以及
利用所述伪从数据库进程向所述主数据库发送主从复制请求,以主动拉取所述主数据库中的待备份数据进一步包括:
依据所述预配置文件,利用所述伪从数据库进程向所述预配置文件中记录的所述主数据库发送主从复制请求。
4.根据权利要求1-3所述的方法,其特征在于,利用所述伪从数据库进程向所述主数据库发送主从复制请求进一步包括:
利用所述伪从数据库进程定时向所述主数据库发送主从复制请求。
5.根据权利要求4所述的方法,其特征在于,还包括:
利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在所述备份服务器中的待备份数据进行分类管理。
6.根据权利要求1-5所述的方法,其特征在于,
所述待备份数据是存储在所述备份服务器的非易失性存储器中。
7.根据权利要求1-6所述的方法,其特征在于,所述主数据库为Redis型数据库。
8.一种数据备份的装置,用于备份一个或多个主数据库中的数据,所述装置包括:
部署模块,适于在备份服务器中部署伪从数据库进程;
拉取模块,适于通过所述伪从数据库进程启动并连接到所述主数据库之后,利用所述伪从数据库进程向所述主数据库发送主从复制请求,以主动拉取所述主数据库中的待备份数据;
备份模块,适于将主动拉取过来的所述待备份数据存储在所述备份服务器中。
9.根据权利要求8所述的装置,其特征在于,
所述待备份数据是由所述主数据库在接收到所述主从复制请求后,对内存中数据进行镜像处理得到的。
10.一种数据备份的系统,包括权利要求8-9任一项所述的数据备份的装置,还包括:主数据库;所述伪从数据库进程与所述一个或多个主数据库之间为远程通信。
CN201410837856.4A 2014-12-26 2014-12-26 数据备份的方法、装置及系统 Active CN104407945B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410837856.4A CN104407945B (zh) 2014-12-26 2014-12-26 数据备份的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410837856.4A CN104407945B (zh) 2014-12-26 2014-12-26 数据备份的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104407945A true CN104407945A (zh) 2015-03-11
CN104407945B CN104407945B (zh) 2018-03-30

Family

ID=52645578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410837856.4A Active CN104407945B (zh) 2014-12-26 2014-12-26 数据备份的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN104407945B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809199A (zh) * 2015-04-24 2015-07-29 联动优势科技有限公司 一种数据库同步的方法和装置
CN104965862A (zh) * 2015-06-03 2015-10-07 深圳市创梦天地科技有限公司 一种内存数据库集群的同步方法及内存数据库主机
CN105100236A (zh) * 2015-07-15 2015-11-25 柳州一健科技有限公司 基于网络的数据备份系统
CN105574127A (zh) * 2015-12-12 2016-05-11 天津南大通用数据技术股份有限公司 分布式数据库系统准实时的双活方法
CN106354586A (zh) * 2016-09-05 2017-01-25 上海爱数信息技术股份有限公司 数据库备份性能的控制方法、系统及具有该系统的服务器
CN107729515A (zh) * 2017-10-26 2018-02-23 咪咕文化科技有限公司 一种数据同步的方法、装置及存储介质
CN108197170A (zh) * 2017-12-20 2018-06-22 五八有限公司 主从同步方法、装置、主服务器及存储介质
CN108897638A (zh) * 2018-05-31 2018-11-27 康键信息技术(深圳)有限公司 数据备份方法、装置、计算机设备和存储介质
CN110716825A (zh) * 2018-07-12 2020-01-21 阿里巴巴集团控股有限公司 数据容灾处理方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110231367A1 (en) * 2003-01-22 2011-09-22 Niles Ronald S System and method for backing up data
CN102880531A (zh) * 2012-09-27 2013-01-16 新浪网技术(中国)有限公司 数据库备份系统及其备份方法和从数据库服务器
US20130339302A1 (en) * 2012-06-18 2013-12-19 Actifio, Inc. System and method for intelligent database backup
CN103605588A (zh) * 2013-11-21 2014-02-26 上海爱数软件有限公司 一种虚拟机磁盘备份方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110231367A1 (en) * 2003-01-22 2011-09-22 Niles Ronald S System and method for backing up data
US20130339302A1 (en) * 2012-06-18 2013-12-19 Actifio, Inc. System and method for intelligent database backup
CN102880531A (zh) * 2012-09-27 2013-01-16 新浪网技术(中国)有限公司 数据库备份系统及其备份方法和从数据库服务器
CN103605588A (zh) * 2013-11-21 2014-02-26 上海爱数软件有限公司 一种虚拟机磁盘备份方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809199A (zh) * 2015-04-24 2015-07-29 联动优势科技有限公司 一种数据库同步的方法和装置
CN104809199B (zh) * 2015-04-24 2018-11-16 联动优势科技有限公司 一种数据库同步的方法和装置
CN104965862A (zh) * 2015-06-03 2015-10-07 深圳市创梦天地科技有限公司 一种内存数据库集群的同步方法及内存数据库主机
CN105100236A (zh) * 2015-07-15 2015-11-25 柳州一健科技有限公司 基于网络的数据备份系统
CN105574127A (zh) * 2015-12-12 2016-05-11 天津南大通用数据技术股份有限公司 分布式数据库系统准实时的双活方法
CN106354586A (zh) * 2016-09-05 2017-01-25 上海爱数信息技术股份有限公司 数据库备份性能的控制方法、系统及具有该系统的服务器
CN107729515A (zh) * 2017-10-26 2018-02-23 咪咕文化科技有限公司 一种数据同步的方法、装置及存储介质
CN108197170A (zh) * 2017-12-20 2018-06-22 五八有限公司 主从同步方法、装置、主服务器及存储介质
CN108897638A (zh) * 2018-05-31 2018-11-27 康键信息技术(深圳)有限公司 数据备份方法、装置、计算机设备和存储介质
CN108897638B (zh) * 2018-05-31 2023-03-21 康键信息技术(深圳)有限公司 数据备份方法、装置、计算机设备和存储介质
CN110716825A (zh) * 2018-07-12 2020-01-21 阿里巴巴集团控股有限公司 数据容灾处理方法、装置及系统
CN110716825B (zh) * 2018-07-12 2023-04-28 阿里巴巴集团控股有限公司 数据容灾处理方法、装置及系统

Also Published As

Publication number Publication date
CN104407945B (zh) 2018-03-30

Similar Documents

Publication Publication Date Title
CN104407945A (zh) 数据备份的方法、装置及系统
CN103164254B (zh) 用于维持镜像虚拟环境中存储装置的一致性的方法和系统
CN104731915B (zh) 一种分布式存储系统中磁盘设备映射方法
US10719407B1 (en) Backing up availability group databases configured on multi-node virtual servers
CN104516966A (zh) 一种数据库集群的高可用解决方法和装置
CN105515872B (zh) 配置信息的更新方法、装置及系统
US9218251B1 (en) Method to perform disaster recovery using block data movement
CN105550229A (zh) 分布式存储系统数据修复的方法和装置
CN103608781A (zh) 用于服务的恢复服务位置
CN103745158A (zh) 修复系统漏洞的方法和装置
US20150301875A1 (en) Persisting and managing application messages
CN103597463A (zh) 恢复服务的自动配置
CN103761141A (zh) 一种实现消息队列的方法及装置
CN105205182A (zh) 多机房部署系统及跨机房的业务数据处理方法
CN111240892B (zh) 数据备份方法及装置
US20150006485A1 (en) High Scalability Data Management Techniques for Representing, Editing, and Accessing Data
CN105162879A (zh) 实现多机房数据一致性的方法、装置及系统
CN102968457B (zh) 数据库间切换方法和系统
JP6975153B2 (ja) データ格納サービス処理方法及び装置
CN103605538A (zh) 一种安装软件的方法和装置
US8612799B2 (en) Method and apparatus of backing up subversion repository
CN112256676A (zh) 一种数据库迁移的方法、装置、设备和介质
CN105975352A (zh) 一种缓存数据处理方法及服务器
CN103647811A (zh) 一种实现应用访问后台服务的方法和装置
US10318330B2 (en) Data-persisting temporary virtual machine environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.