数据热备份方法及系统的制作方法

文档序号:9865355阅读:477来源:国知局
数据热备份方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机网络技术领域,具体涉及一种数据热备份方法及系统。
【背景技术】
[0002]MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。与传统的关系型数据库相比,MongoDB具有操作简单、完全免费、源码公开、随时下载等特点,并可以用于各种商业目的。这使MongoDB广泛应用于各种大型门户网站和专业网站,大大降低了运营成本。
[0003]一个MongoDB集群又称为一个实例,集群的搭建是为了保证高可用。举例来说,设一个MongoDB集群包括3个工作节点,其中一个工作节点为主控节点,另2个工作节点为从属节点,从属节点与主控节点之间数据同步,保证从属节点与主控节点的数据一致。主控节点能够提供数据读写和更新服务,而从属节点仅能提供数据读取服务。假设工作节点I为主控节点,当工作节点I崩溃时,会从工作节点2和工作节点3中选举出一个新的工作节点作为主控节点,选举的策略可以是定制的,例如定制当工作节点I崩溃时由工作节点2作为主控节点,也可以根据其它策略(如负载均衡)来筛选得到主控节点。若工作节点2成为主控节点后,工作节点I重新启动的话,那么只能作为从属节点。工作节点I恢复后,整个MongoDB集群就稳定下来了。
[0004]MongoDB支持数据备份,以增加数据的冗余,支持故障切换。现有技术中,MongoDB的数据备份为冷备方案,即当备份某个工作节点(一般是备份主控节点的数据)上的数据时,该工作节点必须停机,由该工作节点采用备份机制将其上存储的数据备份到存储机中,该工作节点的数据访问请求会被迀移到集群其它工作节点上,增加了其它工作节点的访问压力,影响了服务性能。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据热备份方法及系统,实现了数据热备份,优化了数据备份方式。
[0006]根据本发明的一个方面,提供了一种数据热备份方法,应用于具有多个节点的数据库集群,该方法包括:
[0007]创建模拟节点,配置模拟节点的属性使模拟节点不提供数据访问服务;
[0008]当需要备份数据库集群中任一工作节点的数据时,利用模拟节点通过拷贝获取工作节点的数据;
[0009]利用模拟节点将获取的数据备份到存储机中。
[0010]根据本发明的另一个方面,提供了一种数据热备份系统,该系统包括:属性被配置为不提供数据访问服务的模拟节点、多个工作节点以及存储机;
[0011]模拟节点适于:当需要备份数据库集群中任一工作节点的数据时,通过拷贝获取工作节点的数据,并将获取的数据备份到存储机中。
[0012]根据本发明提供的技术方案,首先创建模拟节点,并配置模拟节点的属性使模拟节点不提供数据访问服务,然后当需要备份数据库集群中任一工作节点的数据时,利用模拟节点通过拷贝获取工作节点的数据,最后利用模拟节点将获取的数据备份到存储机中。本发明提供的技术方案能够在工作节点不停止对外提供服务的前提下,实现该工作节点的数据的备份,从而实现了数据热备份,避免了因需备份数据库集群中任一工作节点的数据而增加其它工作节点的工作压力,优化了数据备份方式。
[0013]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0014]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0015]图1示出了根据本发明一个实施例的数据热备份方法的流程示意图;
[0016]图2示出了根据本发明另一个实施例的数据热备份方法的流程示意图;
[0017]图3示出了根据本发明一个实施例的数据热备份系统的结构框图。
【具体实施方式】
[0018]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0019]图1示出了根据本发明一个实施例的数据热备份方法的流程示意图,该方法应用于具有多个节点的数据库集群,如图1所示,该方法包括如下步骤:
[0020]步骤S100,创建模拟节点,配置模拟节点的属性使模拟节点不提供数据访问服务。
[0021]为了能够当备份数据库集群中任一工作节点上的数据时,使该工作节点不停机并继续对外提供服务,在步骤SlOO中,创建了模拟节点。一般情况下,如果不对所创建的模拟节点的属性进行配置,数据访问请求会被发送到该模拟节点上,因此,在步骤SlOO中还需配置模拟节点的属性使模拟节点不提供数据访问服务。
[0022]步骤SlOl,当需要备份数据库集群中任一工作节点的数据时,利用模拟节点通过拷贝获取工作节点的数据。
[0023]其中,数据库集群可为MongoDB集群。当需要备份数据库集群中任一工作节点的数据时,步骤SlOl利用模拟节点通过拷贝获取工作节点的数据,而该工作节点无需停机,仍可继续对外提供服务,则该工作节点的数据访问请求也不会被迀移到数据库集群其它工作节点上,因此也不会增加其它工作节点的访问压力,不会影响其它工作节点的服务性能。
[0024]步骤S102,利用模拟节点将获取的数据备份到存储机中。
[0025]在步骤SlOl利用模拟节点通过拷贝获取工作节点的数据之后,步骤S102利用模拟节点将获取的数据备份到专门用于存储备份的存储机中。由于在本方法中是利用模拟节点将获取的数据备份到存储机中,因此不会对数据库集群中任一工作节点的服务性能造成不良影响。
[0026]根据本实施例提供的数据热备份方法,首先创建模拟节点,并配置模拟节点的属性使模拟节点不提供数据访问服务,然后当需要备份数据库集群中任一工作节点的数据时,利用模拟节点通过拷贝获取工作节点的数据,最后利用模拟节点将获取的数据备份到存储机中。本发明提供的技术方案能够在工作节点不停止对外提供服务的前提下,实现该工作节点的数据的备份,从而实现了数据热备份,避免了因需备份数据库集群中任一工作节点的数据而增加其它工作节点的工作压力,优化了数据备份方式。
[0027]图2示出了根据本发明另一个实施例的数据热备份方法的流程示意图,该方法应用于具有多个节点的数据库集群,如图2所示,该方法包括如下步骤:
[0028]步骤S200,创建模拟节点,配置模拟节点的访问权限,使模拟节点不提供数据访问服务,配置模拟节点的投票权限和优先级,使模拟节点不具有选择主控节点的权限,也不具有被选择为主控节点的权限。
[0029]其中,数据库集群可为MongoDB集群。为了当需要备份数据库集群中任一工作节点的数据时,使该工作节点不停机并继续对外提供服务,在步骤S200中,创建了模拟节点。一般情况下,如果不对所创建的模拟节点的属性进行配置,数据访问请求会被发送到该模拟节点上,因此,在步骤S200中还需配置模拟节点的属性使模拟节点不提供数据访问服务。具体地,可配置模拟节点的访问权限,使模拟节点不提供数据访问服务;另外,当主控节点崩溃时,会从除主控节点之外的工作节点即从属节点中选举出一个新的工作节点作为主控节点,因此,为了避免模拟节点被选举为主控节点,并避免模拟节点参加投票对主控节点的选取产生影响,因此,在步骤S200中,还需配置模拟节点的投票权限和优先级,使模拟节点不具有选择主控节点的权限,也不具有被选择为主控节点的权限。
[0030]步骤S201,将模拟节点加入数据库集群。
[0031]在配置模拟节点的访问权限、投票权限和优先级之后,在步骤S201中
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1