介绍一种数据库远程备份方案

功能简述

服务端(发送方)和客户端(接收方)定好数据库结构及内容格式后,由服务端将数据库生成指定XML格式文件后, 通过Socket发给客户端。客户端接收成功后,用收到的XML库格式文件,生成数据库。

用例图:


设计

根据以上需求,采用VC6.0生成两个工程文件:DBClent(客户端及接收方)和DBServer(服务端及发送方)。其中DBClient负责接收XML库格式文件并生成数据库,DBServer负责生成指定格式的XML库文件与发送此文件给DBClient。

总体类图:


实现

1、数据库转换为XML格式设计规定:数据库用Database,在其节点属性中用name来指定数据库名称。其子节点可能有多个表,表节点名为:Table,其节点属性中name用来指定表名称。表节点下包括表结构描述Struct和内容描述Content。表结构中列名用节点Field表示,名称/类型/长度等在其属性中表示。表内容中用节点Record表示每个记录,详细信息在属性中表示。

示例: DBTest.xml

<?xml version="1.0" encoding="GB2312"?>
<Database xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" name="dbTest.mdb">
  <Table name="dbTest">
    <Struct>
      <Field fieldName="Name" fieldType="VARCHAR" fieldLength="20"/>
      <Field fieldName="Age" fieldType="VARCHAR" fieldLength="3"/>
    </Struct>
    <Content>
      <Record name="徐景周" age="29" />
      <Record name="赵振华" age="25" />
      <Record name="田子叶" age="29" />
      <Record name="张军旗" age="29" />
      <Record name="黄辉" age="29" />
      <Record name="赵顔锋" age="29" />
      <Record name="魏小明" age="29" />
      <Record name="赵锐" age="29" />
    </Content>
  </Table>
</Database>

2、服务端(发送方)实现 采用Socket套接字在指定端口发送生成的XML库格式文件。生成程序界面效果如下:

时间: 2024-11-01 23:42:07

介绍一种数据库远程备份方案的相关文章

Sybase数据库备份方案

Sybase数据库产品自从1987年问世以来,它的客户机/服务器(client/server)工作模式.分布处理的基础体系结构.完善的安全保密性能.高速快捷的运行方式.多平台跨操作系统的广泛应用等优点,迅速被IT界接受并推广应用.我们作为金融业的用户,也在1995年开始使用Sybase10版本.在具体的使用中,发现集中式的数据管理有其优点,就是数据风险范围大为缩小,但是作为Sybase的服务器一端,数据风险比较集中,如何做好数据库的数据备份,成为至关重要的问题. 在实际应用中,我们总结出了两种全

Sql Server2005实现远程备份数据库_mssql2005

相信大家都在当心数据库的丢失,这也是每个开发者头痛的一件事件,因为正在运行的服务器及数据库也在这台服务器上.如果服务器崩溃,那么所有的数据都不存在了,就算是你在你的机子上做了备份,那也是没有用的,为什么会这样说主要是因为本机是向互联网公开的,所以出事故的概率就比较高.最终我们可以利用局域网解决这样的问题.就拿两台机子做例子,A机是服务器,B机是要把A服务器上的数据库备份到B机上,前提是B机必须要有数据库,以Sql Server2005为例.首先A机必须具备数据库,程序,IIS,B机必须具备数据库

Entity Framework 实体框架的形成之旅--几种数据库操作的代码介绍(9)

本篇主要对常规数据操作的处理和实体框架的处理代码进行对比,以便更容易学习理解实体框架里面,对各种数据库处理技巧,本篇介绍几种数据库操作的代码,包括写入中间表操作.联合中间表获取对象集合.递归操作.设置单一字段的修改等几种方式. 1.写入中间表操作 一般情况下,我们可以通过执行数据库脚本方式写入. /// <summary> /// 增加用户IP信息 /// </summary> /// <param name="userID"></param&

SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法

server|备份|错误|对象|解决|数据|数据库 介绍SQL Server 数据库使用备份还原造成的孤立用户和对象名'xxx'无效的错误的解决办法          在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备份中直接恢复.但是,此时会出现问题,这里说明几种常见问题的解决方法.一.孤立用户的问题比如,以前的数据库的很多表是用户test建立的,但是当我们恢复数据库后,test用户此时就成了孤立用户,没有与之对应的登陆用户名,哪怕你建立

《构建高可用VMware vSphere 5.X虚拟化架构》——2.6 vCenter Server数据库的备份恢复

2.6 vCenter Server数据库的备份恢复 vCenter Server所使用的数据库备份相当重要,一旦出现问题,vCenter Server将不能正常工作,所以日常备份工作是相当重要的,本节将针对vCenter Server两种数据库如何备份恢复进行详细介绍. 2.6.1 备份SQL Server数据库 本节实战操作将对2.4小节安装好的SQL Server 2008数据库进行备份操作,备份操作可以使用dsdbutil工具来完成,其具体操作如下. 第1步,进入到Windows Ser

谈两种数据库内容HTML格式的输出方法

在实际应用VFP编写各类应用系统过程中,用户可能建立了大量的数据信息,这些信息一般都是存贮在各类数据表中,随着网络技术的迅速发展,许多数据信息要求在网上共享使用,如果相关的信息已经存在数据表中,可以不需要重新输入信息,直接生成可以在网上浏览使用的HTML格式文件,下面笔者介绍两种数据库内容到HTML格式输出的方法. 一.是利用VFP提供的数据表内容转换到HTML格式文件类库实现.在VFP系统目的FFC子目录下存在一个_internet.vcx类库,其中_dbf2html为数据表到HTML格式转换

MySQL binlog 远程备份方法详解_Mysql

以前备份binlog时,都是先在本地进行备份压缩,然后发送到远程服务器中.但是这其中还是有一定风险的,因为日志的备份都是周期性的,如果在某个周期中,服务器宕机了,硬盘损坏了,就可能导致这段时间的binlog就丢失了. 而且,以前用脚本对远程服务器进行备份的方式,有个缺点:无法对MySQL服务器当前正在写的二进制日志文件进行备份.所以,只能等到MySQL服务器全部写完才能进行备份.而写完一个binlog的时间并不固定,这就导致备份周期的不确定. 从MySQL5.6开始,mysqlbinlog支持将

mysql自动增量备份的实例方法(本地备份与远程备份)_Mysql

1.本地备份编写自动备份脚本:vim /var/lib/mysql/autobak内容如下: 复制代码 代码如下: cd /data/home/mysqlbakrq=` date +%Y%m%d `/usr/local/mysql/bin/mysqldump sqldb --flush-logs -uroot -p123456 --opt > 777city_$rq.sql 保存退出. chmod -777  /var/lib/mysql/autobak crontab -e00 00 * *

通过exp命令对Oracle数据库进行备份操作(提供两种情况的备份:备份本地,备份远程的数据库)

通过exp命令可以对Oracle数据库进行备份操作,其命令含义是:exp 用户名/密码@数据库所在ip地址:数据库端口号/数据库的service-name file=存储到的位置 exp MISPS/MISPS@orcl file=d:\MISPS.dmp 远程导出的方法 exp MISPS/MISPS@10.12.10.111:1521/cipaspd.css.com file=d:\MISPS.dmp BUFFER=5000 FULL=Y 其中FULL=Y表示备份所有(包括数据库结构,用户等