《数据备份的方法、装置及系统.pdf》由会员分享,可在线阅读,更多相关《数据备份的方法、装置及系统.pdf(16页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410837856.4(22)申请日 2014.12.26G06F 11/14(2006.01)G06F 17/30(2006.01)(71)申请人北京奇虎科技有限公司地址 100088 北京市西城区新街口外大街28号D座112室(德胜园区)申请人奇智软件(北京)有限公司(72)发明人于伯伟(74)专利代理机构北京市浩天知识产权代理事务所(普通合伙) 11276代理人宋菲 刘云贵(54) 发明名称数据备份的方法、装置及系统(57) 摘要本发明公开了一种数据备份的方法、装置及系统,用于备份一个或多个主数据库中的数据,其中方法包括:在备。
2、份服务器中部署伪从数据库进程;伪从数据库进程启动并连接到主数据库之后,利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据;以及将主动拉取过来的待备份数据存储在备份服务器中。本方案优化了数据备份方案,降低了数据备份方案的复杂度,并极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书11页 附图3页(10)申请公布号 CN 104407945 A(43)申请公布日 2015.03.11CN 104407945 A1/1页21.一种数据备份的方法,用于备。
3、份一个或多个主数据库中的数据,所述方法包括:在备份服务器中部署伪从数据库进程;所述伪从数据库进程启动并连接到所述主数据库之后,利用所述伪从数据库进程向所述主数据库发送主从复制请求,以主动拉取所述主数据库中的待备份数据;以及将主动拉取过来的所述待备份数据存储在所述备份服务器中。2.根据权利要求1所述的方法,其特征在于,所述待备份数据是由所述主数据库在接收到所述主从复制请求后,对内存中数据进行镜像处理得到的。3.根据权利要求1所述的方法,其特征在于,所述备份服务器中保存有预配置文件,所述预配置文件记录有所述伪从数据库进程负责备份的主数据库的名称,以及利用所述伪从数据库进程向所述主数据库发送主从复制。
4、请求,以主动拉取所述主数据库中的待备份数据进一步包括:依据所述预配置文件,利用所述伪从数据库进程向所述预配置文件中记录的所述主数据库发送主从复制请求。4.根据权利要求1-3所述的方法,其特征在于,利用所述伪从数据库进程向所述主数据库发送主从复制请求进一步包括:利用所述伪从数据库进程定时向所述主数据库发送主从复制请求。5.根据权利要求4所述的方法,其特征在于,还包括:利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在所述备份服务器中的待备份数据进行分类管理。6.根据权利要求1-5所述的方法,其特征在于,所述待备份数据是存储在所述备份服务器的非易失性存储器中。7.根。
5、据权利要求1-6所述的方法,其特征在于,所述主数据库为Redis型数据库。8.一种数据备份的装置,用于备份一个或多个主数据库中的数据,所述装置包括:部署模块,适于在备份服务器中部署伪从数据库进程;拉取模块,适于通过所述伪从数据库进程启动并连接到所述主数据库之后,利用所述伪从数据库进程向所述主数据库发送主从复制请求,以主动拉取所述主数据库中的待备份数据;备份模块,适于将主动拉取过来的所述待备份数据存储在所述备份服务器中。9.根据权利要求8所述的装置,其特征在于,所述待备份数据是由所述主数据库在接收到所述主从复制请求后,对内存中数据进行镜像处理得到的。10.一种数据备份的系统,包括权利要求8-9任。
6、一项所述的数据备份的装置,还包括:主数据库;所述伪从数据库进程与所述一个或多个主数据库之间为远程通信。权 利 要 求 书CN 104407945 A1/11页3数据备份的方法、 装置及系统技术领域0001 本发明涉及互联网技术领域,具体涉及一种数据备份的方法、装置及系统。背景技术0002 随着信息技术的不断发展,出现了许多种用于进行数据管理的数据库,其中,Redis型数据库是一种高性能的key-value数据库,它支持多种数据类型的存储,例如string(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(哈希)等,在现有的互联网技术领域中,Redis型数据库得到了人们。
7、广泛使用。0003 Redis基本的架构为标准的一个主数据库一个从数据库,其中,主数据库负责向外提供业务,从数据库作为主数据库的备用数据库。在现有Redis数据备份方案中,不仅需要在所有的数据库服务器上部署备份程序,而且还需要在备份服务器上搭建用于接收备份数据的数据传输程序,例如Rsync Server等。在备份服务器启动并连接到主数据库之后,它将调用主动发送程序,例如Sync等,此后主数据库在短时间内将启动后台存盘进程,将内存中的数据刷新到磁盘中,然后数据打包,再集中将数据传输到备份服务器的从数据库中,即主数据库将全量数据传输给从数据库。当从数据库接收到数据之后,将数据加载到内存中并存盘。当。
8、有新数据写入时,主数据库就要将增量数据传输给从数据库,从而实现主数据库与从数据库的数据同步。当主数据库出现问题,从数据库便可代替主数据库对外提供业务。0004 由此可看出,现有Redis数据备份方案中至少存在以下问题:0005 (1)所有的数据库服务器上都需要部署备份程序;0006 (2)主数据库在短时间将内存中的数据写到磁盘中,磁盘IO消耗很多,由此可能会对Redis所对外提供的业务产生影响,尤其是对敏感业务产生影响;0007 (3)从数据库接收到主数据库传输的数据之后,将数据加载到内存中,极大地浪费了备用服务器的内存,增加了运维成本。发明内容0008 鉴于上述问题,提出了本发明以便提供一种。
9、克服上述问题或者至少部分地解决上述问题的数据备份的方法、装置及系统。0009 根据本发明的一个方面,提供了一种数据备份的方法,用于备份一个或多个主数据库中的数据,该方法包括:0010 在备份服务器中部署伪从数据库进程;0011 伪从数据库进程启动并连接到主数据库之后,利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据;以及0012 将主动拉取过来的待备份数据存储在备份服务器中。0013 进一步,待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的。说 明 书CN 104407945 A2/11页40014 进一步,备份服务器中保存有预配置文件。
10、,预配置文件记录有伪从数据库进程负责备份的主数据库的名称,以及0015 利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据进一步包括:0016 依据预配置文件,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求。0017 利用伪从数据库进程向主数据库发送主从复制请求进一步包括:利用伪从数据库进程定时向主数据库发送主从复制请求。0018 进一步,该数据备份的方法还包括:利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在备份服务器中的待备份数据进行分类管理。0019 进一步,待备份数据是存储在备份服务器的非易失性存储器中。00。
11、20 进一步,主数据库为Redis型数据库。0021 进一步,伪从数据库进程与一个或多个主数据库之间为远程通信。0022 进一步,该数据备份的方法还包括:伪从数据库进程检测将待备份数据存储在备份服务器中是否成功;若否,则通过短信或邮件方式进行报警。0023 根据本发明的另一方面,提供了一种数据备份的装置,用于备份一个或多个主数据库中的数据,该装置包括:0024 部署模块,适于在备份服务器中部署伪从数据库进程;0025 拉取模块,适于通过伪从数据库进程启动并连接到主数据库之后,利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据;0026 备份模块,适于将主动拉取过来的。
12、待备份数据存储在备份服务器中。0027 进一步,待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的。0028 进一步,该数据备份的装置还包括:配置模块,适于配置并保存预配置文件,预配置文件记录有伪从数据库进程负责备份的主数据库的名称;0029 拉取模块进一步适于:依据预配置文件,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求。0030 拉取模块进一步适于:利用伪从数据库进程定时向主数据库发送主从复制请求。0031 进一步,该数据备份的装置还包括:分类管理模块,适于利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在备份服务。
13、器中的待备份数据进行分类管理。0032 备份模块进一步适于:将待备份数据是存储在备份服务器的非易失性存储器中。0033 进一步,该数据备份的装置还包括:0034 检测模块,适于利用伪从数据库进程检测将待备份数据存储在备份服务器中是否成功;0035 报警模块,适于在检测模块检测到将待备份数据存储在备份服务器中失败的情况下,通过短信或邮件方式进行报警。0036 根据本发明的另一方面,提供了一种数据备份的系统,包括上述的数据备份的装说 明 书CN 104407945 A3/11页5置和主数据库;伪从数据库进程与一个或多个主数据库之间为远程通信。0037 进一步,主数据库为Redis型数据库。0038。
14、 根据本发明提供的技术方案,通过在备份服务器中部署伪从数据库进程,并利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该方案无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另外,在不对业务带来太大可用性损失的前提下,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。0039 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可。
15、依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明0040 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:0041 图1示出了根据本发明一个实施例的数据备份的方法的流程示意图;0042 图2示出了根据本发明另一个实施例的数据备份的方法的流程示意图;0043 图3示出了根据本发明一个实施例的数据备份的装置的功能结构示意图;0044 图4示出了根据本发明另一。
16、个实施例的数据备份的装置的功能结构示意图。具体实施方式0045 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。0046 图1示出了根据本发明一个实施例的数据备份的方法的流程示意图。如图1所示,该方法用于备份一个或多个主数据库中的数据,该方法包括如下步骤:0047 步骤S100,在备份服务器中部署伪从数据库进程。0048 在备份服务器中部署伪从数据库进程,该伪从数据库进程用于模拟从数据库。
17、,可以是调用数据库协议中的某个工具,以使备份服务器模拟成为一个或多个主数据库的从数据库。0049 步骤S101,伪从数据库进程启动并连接到主数据库之后,利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据。0050 当备份服务器中的伪从数据库进程得到启动时,此时备份服务器模拟成为主数据库的从数据库;当伪从数据库进程与主数据库建立连接后,利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据。其中,主数据库中的待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的,即当主数据说 明 书CN 104407945 A4/11页6库。
18、接收到主从复制请求后,将写入内存中的数据刷新到磁盘中,然后进行数据打包得到待备份数据,该待备份数据为主数据库的全量数据。由于伪从数据库从主数据库中主动拉取待备份数据,所以主数据库中无需部署用于发送数据的程序。0051 步骤S102,将主动拉取过来的待备份数据存储在备份服务器中。0052 主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中。0053 根据本实施例提供的数据备份的方法,通过在备份服务器中部署伪从数据库进程,并利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该方法无需在所有的数据库服务。
19、器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另外,由于有些业务对数据不敏感,即使丢失了一部分数据,这些业务仍然能够使用,所以在不对业务带来太大可用性损失的前提下,该方法只备份主数据库的全量数据,不备份增量数据,并且主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。0054 图2示出了根据本发明另一个实施例的数据备份的方法的流程示意图。如图2所示,该方法用于备份一个或多。
20、个主数据库中的数据,该方法包括如下步骤:0055 步骤S200,在备份服务器中部署伪从数据库进程,该备份服务器中保存有预配置文件。0056 在备份服务器中部署伪从数据库进程,该伪从数据库进程用于模拟从数据库,可以是调用数据库协议中的某个工具,以使备份服务器模拟成为一个或多个主数据库的从数据库。0057 预配置文件记录有伪从数据库进程负责备份的主数据库的名称。例如,预配置文件记录了伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3。0058 步骤S201,伪从数据库进程启动并连接到主数据库之后,依据预配置文件,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制。
21、请求,以主动拉取主数据库中的待备份数据。0059 主数据库可以为Redis型数据库。Redis型数据库可以支持多种数据类型的存储,得到了人们广泛使用。Redis基本的架构为标准的一个主数据库一个从数据库,其中,主数据库负责向外提供业务,从数据库作为主数据库的备用数据库。0060 当备份服务器中的伪从数据库进程得到启动时,此时依据预配置文件,备份服务器模拟成为预配置文件中记录的主数据库的从数据库;当伪从数据库进程与预配置文件中记录的主数据库建立连接后,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,主动拉取主数据库中的待备份数据。其中,主数据库中的待备份数据是由主数据库在接收到主。
22、从复制请求后,对内存中数据进行镜像处理得到的,即当主数据库接收到主从复制请求后,将写入内存中的数据刷新到磁盘中,然后进行数据打包得到待备份数据,该待备份数据为主数据库的全量数据。说 明 书CN 104407945 A5/11页70061 例如,预配置文件中记录的该伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3,当备份服务器中的伪从数据库进程得到启动时,此时备份服务器模拟成为主数据库1、主数据库2和主数据库3的从数据库;当伪从数据库进程与主数据库1、主数据库2和主数据库3分别建立连接后,利用伪从数据库进程向主数据库1、主数据库2和主数据库3发送主从复制请求,主动拉。
23、取主数据库1、主数据库2和主数据库3中的待备份数据。其中,主数据库1、主数据库2和主数据库3中的待备份数据是由主数据库1、主数据库2和主数据库3在接收到主从复制请求后,对各自内存中数据分别进行镜像处理得到的,即当主数据库1、主数据库2和主数据库3接收到主从复制请求后,将写入各自内存中的数据刷新到磁盘中,然后进行数据打包分别得到主数据库1、主数据库2和主数据库3的待备份数据。0062 具体地,还可以利用伪从数据库进程对预配置文件中记录的某个或某些主数据库发送主从复制请求,以主动拉取某个或某些主数据库中的待备份数据。例如,利用伪从数据库进程只对预配置文件中记录的主数据库1发送主从复制请求,主动拉取。
24、主数据库1的待备份数据。这里,预配置文件记录的主数据库是对数据不敏感的业务所对应的主数据库,即使丢失一部分数据,这些业务仍然能够使用。通过利用预配置文件,对使用本方案的主数据库进行筛选,避免对敏感性业务产生影响。0063 具体地,还可以利用伪从数据库进程定时向主数据库发送主从复制请求。例如,每隔1个小时,备份服务器中的伪从数据库进程定时向主数据库发送主从复制请求,从而实现对主数据库的数据及时进行备份,防止主数据库一旦发生宕机时,备份服务器中的备份数据与主数据库的现有数据相差很大,而对业务造成很大影响。而且,伪从数据库进程不需要频繁的拉取主数据库中的数据,以避免主数据库频繁的将内存中的数据写到磁。
25、盘中,导致磁盘IO消耗过多的问题。0064 具体地,伪从数据库进程与一个或多个主数据库之间为远程通信。备份服务器通过远程通信即可便捷地备份一个或多个主数据库中的数据。0065 步骤S202,将主动拉取过来的预配置文件中记录的主数据库的待备份数据存储在备份服务器中。0066 主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中。具体地,待备份数据是存储在备份服务器的非易失性存储器中,例如磁盘中。将待备份数据存储在备份服务器的非易失性存储器中,有助于很好地保存待备份数据,起到备份数据的作用。0067 步骤S203,伪从数据库进程检测将待备份数据存储在备份服务器中是否成功,若否,。
26、执行步骤S204。0068 例如伪从数据库进程与主数据库的连接中途断开或备份服务器的磁盘空间不足等原因会导致待备份数据没有成功存储在备份服务器中,为了避免类似情况的发生,可以及时通过伪从数据库进程检测将待备份数据存储在备份服务器中是否成功。如果经检测将待备份数据存储在备份服务器中没有成功,则执行步骤S204。0069 步骤S204,通过短信或邮件方式进行报警。0070 例如,经检测将待备份数据存储在备份服务器中没有成功,则可通过短信或邮件方式进行报警,以便及时通知工作人员对相关进程或装置等进行维护。说 明 书CN 104407945 A6/11页80071 该数据备份的方法还可包括:利用伪从数。
27、据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在备份服务器中的待备份数据进行分类管理。0072 例如,预配置文件中记录的伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3,其中,主数据库1、主数据库2和主数据库3的端口依次为端口1、端口1和端口2,当根据各个主数据库的端口对存储在备份服务器中的待备份数据进行分类管理时,端口1的待备份数据包括主数据库1的待备份数据与主数据库2的待备份数据,端口2的待备份数据包括主数据库3的待备份数据,并对备份信息进行记录。0073 根据本实施例提供的数据备份的方法,通过在备份服务器中部署伪从数据库进程,该备份服。
28、务器中保存有预配置文件,并利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该方法无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另外,由于有些业务对数据不敏感,即使丢失了一部分数据,这些业务仍然能够使用,所以在不对业务带来太大可用性损失的前提下,该方法只备份主数据库的全量数据,不备份增量数据,并且主动拉取过来的待备份数据不写入内存中,直接进行镜像落地。
29、存储在备份服务器中,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。0074 图3示出了根据本发明一个实施例的数据备份的装置的功能结构示意图。如图3所示,该装置用于备份一个或多个主数据库中的数据,该装置包括:部署模块310、拉取模块320和备份模块330。0075 部署模块310,适于在备份服务器中部署伪从数据库进程。0076 通过部署模块310在备份服务器中部署伪从数据库进程,该伪从数据库进程用于模拟从数据库,可以是调用数据库协议中的某个工具,以使备份服务器模拟成为一个或多个主数据库的从数据库。0077 拉取模块320,适于通过伪从数据库进程启动并连接到主数据库之后,。
30、利用伪从数据库进程向主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据。0078 当备份服务器中的伪从数据库进程得到启动时,此时备份服务器模拟成为主数据库的从数据库;当伪从数据库进程与主数据库建立连接后,利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据。其中,主数据库中的待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的,即当主数据库接收到主从复制请求后,将写入内存中的数据刷新到磁盘中,然后进行数据打包得到待备份数据,该待备份数据为主数据库的全量数据。0079 备份模块330,适于将主动拉取过来的待备份数据存储在备份服务器中。008。
31、0 主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中。0081 根据本实施例提供的数据备份的装置,通过在备份服务器中部署伪从数据库进程,并利用伪从数据库进程向主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该装置无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪说 明 书CN 104407945 A7/11页9从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另外,由于有些业务对数据不敏感,即使丢失了一部分数据,这。
32、些业务仍然能够使用,所以在不对业务带来太大可用性损失的前提下,该装置只备份主数据库的全量数据,不备份增量数据,并且主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中,极大地减少了对服务器的内存的占用和服务器的使用数量,从而降低了运维成本。0082 图4示出了根据本发明另一个实施例的数据备份的装置的功能结构示意图。如图4所示,该装置用于备份一个或多个主数据库中的数据,该装置包括:部署模块410、配置模块420、拉取模块430、备份模块440、检测模块450和报警模块460。0083 部署模块410,适于在备份服务器中部署伪从数据库进程。0084 通过部署模块410在备份服务。
33、器中部署伪从数据库进程,该伪从数据库进程用于模拟从数据库,可以是调用数据库协议中的某个工具,以使备份服务器模拟成为一个或多个主数据库的从数据库。0085 配置模块420,适于配置并保存预配置文件,预配置文件记录有伪从数据库进程负责备份的主数据库的名称。0086 例如,配置模块420中的预配置文件记录了伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3。0087 拉取模块430,适于依据预配置文件,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,以主动拉取主数据库中的待备份数据。0088 主数据库可以为Redis型数据库。Redis型数据库可以支持多种。
34、数据类型的存储,得到了人们广泛使用。Redis基本的架构为标准的一个主数据库一个从数据库,其中,主数据库负责向外提供业务,从数据库作为主数据库的备用数据库。0089 当备份服务器中的伪从数据库进程得到启动时,此时依据预配置文件,备份服务器模拟成为预配置文件中记录的主数据库的从数据库;当伪从数据库进程与预配置文件中记录的主数据库建立连接后,利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,主动拉取主数据库中的待备份数据。其中,主数据库中的待备份数据是由主数据库在接收到主从复制请求后,对内存中数据进行镜像处理得到的,即当主数据库接收到主从复制请求后,将写入内存中的数据刷新到磁盘中,然。
35、后进行数据打包得到待备份数据,该待备份数据为主数据库的全量数据。0090 例如,预配置文件中记录的该伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3,当备份服务器中的伪从数据库进程得到启动时,此时备份服务器模拟成为主数据库1、主数据库2和主数据库3的从数据库;当伪从数据库进程与主数据库1、主数据库2和主数据库3分别建立连接后,利用伪从数据库进程向主数据库1、主数据库2和主数据库3发送主从复制请求,主动拉取主数据库1、主数据库2和主数据库3中的待备份数据。其中,主数据库1、主数据库2和主数据库3中的待备份数据是由主数据库1、主数据库2和主数据库3在接收到主从复制请求。
36、后,对各自内存中数据分别进行镜像处理得到的,即当主数据库1、主数据库2和主数据库3接收到主从复制请求后,将写入各自内存中的数据刷新到磁盘中,然后进行数据打包分别得到主数据库1、主数据库2和主数据库3的待备份数据。说 明 书CN 104407945 A8/11页100091 具体地,还可以利用伪从数据库进程对预配置文件中记录的某个或某些主数据库发送主从复制请求,以主动拉取某个或某些主数据库中的待备份数据。例如,利用伪从数据库进程只对预配置文件中记录的主数据库1发送主从复制请求,主动拉取主数据库1的待备份数据。0092 具体地,拉取模块430进一步适于:利用伪从数据库进程定时向主数据库发送主从复制。
37、请求。例如,每隔1个小时,备份服务器中的伪从数据库进程定时向主数据库发送主从复制请求,从而实现对主数据库的数据及时进行备份,防止主数据库一旦发生宕机时,备份服务器中的备份数据与主数据库的现有数据相差很大,而对业务造成很大影响。0093 具体地,伪从数据库进程与一个或多个主数据库之间为远程通信。备份服务器通过远程通信即可便捷地备份一个或多个主数据库中的数据。0094 备份模块440,适于将主动拉取过来的待备份数据存储在备份服务器中。0095 主动拉取过来的待备份数据不写入内存中,直接进行镜像落地存储在备份服务器中。具体地,待备份数据是存储在备份服务器的非易失性存储器中,例如磁盘中。将待备份数据存。
38、储在备份服务器的非易失性存储器中,有助于很好地保存待备份数据,起到备份数据的作用。0096 检测模块450,适于利用伪从数据库进程检测将待备份数据存储在备份服务器中是否成功。0097 例如伪从数据库进程与主数据库的连接中途断开或备份服务器的磁盘空间不足等原因会导致待备份数据没有成功存储在备份服务器中,为了避免类似情况的发生,检测模块450可以及时通过伪从数据库进程检测将待备份数据存储在备份服务器中是否成功。如果经检测将待备份数据存储在备份服务器中没有成功,则启动报警模块。0098 报警模块460,适于在检测模块检测到将待备份数据存储在备份服务器中失败的情况下,通过短信或邮件方式进行报警,以便及。
39、时通知工作人员对相关进程或装置等进行维护。0099 该数据备份的装置还包括:分类管理模块(图中未示出),适于利用伪从数据库进程,并根据各个主数据库的地址、端口以及备份时间中的至少一者对存储在备份服务器中的待备份数据进行分类管理。0100 例如,预配置文件中记录的伪从数据库进程负责备份的主数据库的名称分别为主数据库1、主数据库2和主数据库3,其中,主数据库1、主数据库2和主数据库3的端口依次为端口1、端口1和端口2,当分类管理模块根据各个主数据库的端口对存储在备份服务器中的待备份数据进行分类管理时,端口1的待备份数据包括主数据库1的待备份数据与主数据库2的待备份数据,端口2的待备份数据包括主数据库3的待备份数据,并对备份信息进行记录。0101 根据本实施例提供的数据备份的装置,通过在备份服务器中部署伪从数据库进程,该备份服务器中保存有预配置文件,并利用伪从数据库进程向预配置文件中记录的主数据库发送主从复制请求,主动拉取主数据库中的待备份数据,并将主动拉取过来的待备份数据存储在备份服务器中,该装置无需在所有的数据库服务器上都部署应用程序,只需要在备份服务器中部署一个伪从数据库进程,通过一个伪从数据库进程集中管理一个或多个主数据库中的数据备份工作,优化了数据备份方案,降低了数据备份方案的复杂度。另说 明 书CN 104407945 A10。