数据备份系统及方法与流程

文档序号:12494354阅读:572来源:国知局
数据备份系统及方法与流程

本发明涉及一种数据备份方法,以及应用该方法的数据备份系统。



背景技术:

由于服务器机房维护成本比较高,大多数中小型的互联网企业都将服务器托管在互联网数据中心(IDC)或购买云服务器。在一些情况下,需把数据从远端服务器同步到企业内网。出于安全性考虑,远端服务器数据一般只允许局域网IP或特定的外网IP访问。而很多企业出于成本考虑会使用动态IP接入互联网,为了将数据从远端服务器同步到企业内网,企业不得不允许特定账号可以使用任何IP访问(增加了安全风险)或者使用静态IP(增加了费用成本)。



技术实现要素:

鉴于此,有必要提供一种在不增加远程数据库安全风险和不增加企业费用成本的的前提下,对远程服务器数据库进行定时增量备份的一种数据备份系统及方法。

第一方面,本发明实施方式提供一种数据备份系统,包括: 一主服务器,所述主服务器用于运行一主数据库,所述主数据库允许来自符合第一条件的互联网协议地址的访问; 第一转换模块,所述第一转换模块与所述主服务器进行数据传输,所述第一转换模块的互联网协议地址符合所述第一条件; 第二转换模块,所述第二转换模块与所述第一转换模块连接进行数据传输;及 一从服务器,所述从服务器用于运行一从数据库,所述从数据库版本与所述主数据库版本相同,所述第二转换模块与所述从服务器进行数据传输。

进一步的,所述第一转换模块位于所述主服务器中。

进一步的,所述第一条件为互联网协议地址位于所述主服务器的白名单中。

进一步的,所述第二转换模块位于所述从服务器中。

进一步的,所述第二转换模块与第一转换模块通过安全外壳协议连接。

进一步的,所述主服务器的白名单中包括局域网互联网协议地址。

进一步的,所述第一转换模块用于进行端口转换。

进一步的,所述第二转换模块用于进行端口转换。

进一步的,所述从服务器的互联网协议地址是动态的。

第二方面,本发明实施方式还提供一种数据备份方法,用于上述数据备份系统,包括: 所述从服务器发送数据复制请求至所述第二转换模块; 所述第二转换模块通过安全外壳协议将所述数据复制请求输出至所述第一转换模块; 所述第一转换模块输出所述数据复制请求至所述主服务器; 所述主服务器依次通过所述第一转换模块、第二转换模块将数据复制到所述从服务器以完成备份。

附图说明

图1为本发明数据备份系统的较佳实施方式的方框图。

图2为本发明数据备份方法的较佳实施方式的流程图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

请参考图1,本发明数据备份系统100的较佳实施方式包括主服务器10,第一转换模块11,从服务器20以及第二转换模块21。

所述主服务器10用于运行一主数据库,所述主数据库允许来自符合第一条件的互联网协议地址的访问。

所述第一转换模块11与所述主服务器10进行数据传输,所述第一转换模块11的互联网协议地址符合所述第一条件。

所述第二转换模块21与所述第一转换模块11连接进行数据传输。所述从服务器20用于运行一从数据库,所述从数据库版本与所述主数据库版本相同,所述第二转换模块21与所述从服务器20进行数据传输。

在一实施方式中,所述第一转换模块11位于所述主服务器10中。

在一实施方式中,所述第一条件为:所述访问的互联网协议地址为所述主服务器10允许的互联网协议地址。例如,所述主服务器10内建有一白名单,所述白名单记录有若干固定互联网协议地址以及局域网协议地址。当数据传输访问信号来自于所述白名单上记录的协议地址时,所述主服务器10允许进行数据传输。当数据传输访问信号并非来自于所述白名单上记录的协议地址时,所述主服务器10不允许进行数据传输。

在一实施方式中,所述第二转换模块21位于所述从服务器20中。

所述第二转换模块21与所述第一转换模块11通过安全外壳协议连接。通过所述安全外壳协议,所述第一转换模块11到第二转换模块21之间的数据传输不需要传输登录口令,可以提高数据传输的安全性。

在一实施方式中,所述从服务器20使用基于密钥的安全验证,通过安全外壳协议连接到主服务器10。

所述第一转换模块11以及所述第二转换模块21用于进行端口转换。

在一些实施方式中,所述第一转换模块11及所述第二转换模块21可以为端口,或者包括至少一端口。

例如,使用时,所述主服务器10使用的是所述第一转换模块11的3306端口,而所述从服务器20使用的是所述第二转换模块21的3307端口,所述从服务器20的互联网协议地址为动态互联网协议地址且该动态互联网协议地址未位于所述主服务器10的白名单中。

在所述从服务器20上输入如下命令:“nohup ssh -fCN -L 3307:remote.com:3306 user@remote.com &”,所述从服务器20将通过端口3307并将通过安全外壳协议转换到端口3306并进一步连接所述主服务器10。对于从服务器20来说,访问本地的第二转换模块21的3307端口,实际上相当于访问主服务器10的第一转换模块11的3306端口,所述第一转换模块11的3306端口的互联网协议地址位于所述主服务器10的白名单中。通过安全外壳协议隧道连接,不管从服务器20的互联网协议地址如何变化,都可以安全地访问所述主服务器10的主数据库。

使用时,可以在所述主服务器10上配置主从同步相关配置,并创建一个虚拟用户以分配其复制数据的权限,并在所述从服务器20上对应配置相关配置。例如在从服务器20上输入如下命令:

“change master to master_host=’127.0.0.1’master_user=’backup’ master_password=’pwd’ master_port=3307 master_log_file=’mysql.bin.001 master_log_pos=001 & ”。

以上命令指定从所述从服务器20本地的3307端口复制数据并指定初始复制的二进制日志文件及数据位置,然而该3307端口被指向所述主服务器10的3306端口,因此,从效果上看,对于所述从服务器20,所述主服务器10的主数据库就运行在本地的3307端口上;对所述主服务器10来说,从数据库复制的请求,也是从本地发起的。所以,所述数据备份系统100既可以保存主服务器10上原有的安全访问控制策略,又可以在从服务器20使用动态IP时来备份所述主服务器上的数据。

请参考图1及2,图2为一种应用于所述数据备份系统100上的数据备份方法200的较佳实施方式。

所述数据备份方法200包括:

步骤201,所述从服务器20发送数据复制请求至所述第二转换模块21;

步骤202,所述第二转换模块21通过安全外壳协议将所述数据复制请求输出至所述第一转换模块11;

步骤203,所述第一转换模块11输出所述数据复制请求至所述主服务器10;

步骤204,所述主服务器10依次通过所述第一转换模块11、第二转换模块21将数据复制到所述从服务器20以完成备份。

在步骤201中,所述从服务器20发送数据复制请求至所述第二转换模块21,该数据复制请求即为一同步命令,此时所述从服务器20具有动态的互联网协议地址,即所述从服务器20的互联网协议地址无法确认是否位于所述主服务器10的白名单中。

在步骤202中,所述数据复制请求通过第二转换模块21经安全外壳协议隧道传输至所述第一转换模块11,即所述具有动态互联网协议地址的从服务器20输出的数据复制请求经过安全外壳协议隧道被传输到了所述第一转换模块11。

在步骤203中,所述第一转换模块11的端口3307接收该数据复制请求,所述第一转换模块11将该数据复制请求传输至所述主服务器10,由于所述第一转换模块11的端口3306的互联网协议地址位于所述主服务器10的白名单中,所述主服务器10将正常接收所述数据复制请求。

在步骤204中,类似地,所述主服务器10将输出同步数据,所述同步数据将依次通过所述第一转换模块11的端口3306、所述安全外壳协议隧道、所述第二转换模块21的端口3307传递到所述从服务器20以完成数据同步。

为了保证所述从服务器20上从数据库备份的有效性,可以编写一个脚本定时检测端口转发的可用性,连接中断时及时进行重连的处理。为了减轻服务器的负担,可以仅选择固定时间进行数据同步或备份,例如,可以选择只在夜间开启数据同步服务。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个代理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1