APP下载

基于云计算的PC数据同步备份的研究与实现

2013-10-24陈军华

关键词:收藏夹数据备份流程图

吴 毓,陈军华

(上海师范大学信息与机电工程学院,上海200234)

为了更好地保证数据的安全性和完整性,数据的同步备份对于企业和个人来说显得尤为重要.大多数中小企业通过数据库管理系统对数据进行自动或手工方式的同步备份,这通常要求本地服务器磁盘具备一定的存储空间来存放同步备份后的数据[1-2];个人用户数据主要存储在移动设备和PC硬盘中,经常往返于异地的用户需要随身携带这些设备或使用带有备份功能的软件来存储数据.

针对上述方法的不足,云计算提供的强大平台和海量空间不仅减少了维护的人力成本和数据存储的设备成本,而且用户不需要专门的数据管理技术,就可以利用浏览器进行数据的同步备份操作[3-4].

1 Azure云平台

1.1 云概念及特点

目前人们普遍接受的云定义是由NIST(美国国家标准技术研究所)所阐述的(2009):云计算是一种模型,人们使用它按需访问一个可配置的计算资源池(如网络、服务器、存储等),只需最小化的管理工作量或服务提供商的支持就可以快速地开通和释放资源[5].

因此云计算被理解为一种计算理念,而非具体的技术.在理解云计算本质的基础上还要了解以下关键特性[5-7],见表 1.

表1 云特性概述

1.2 Windows Azure

随着云时代的到来,各大IT厂商推出了相关的云产品和云服务.表2对比了目前四大主流云计算产品.

表2 四大主流厂商云计算产品比较

由于本系统使用关系型数据库SQL Server和ASP.NET框架构建Web门户网站,对照表2云产品的特性得出,使用微软Windows Azure比较符合本系统的需求.另外,其三个月的云计算资源免费试用也是选择该平台进行研究的重要原因之一[8-9].因此,本文作者正是基于微软Windows Azure平台,对PC数据同步备份系统进行研究与实现.

2 PC数据同步备份的设计

2.1 需求分析

表3简要分析了PC数据需要备份及还原的几种情况[1].

表3 PC数据备份及还原的情况

对于本地数据库来说,目前微软SQL Server提供了完整备份、增量备份、差异备份和混合备份4种方法[10],适用于不同的数据备份环境;对于个人数据来说,常用的数据备份方法有传统手工方法和使用带同步备份功能的软件.随着数据规模的不断增长,上述方法需要更多的服务器和移动设备来承载这些数据.这样,不仅需要用户做好日常服务器的维护管理,还要在后期的设备购买上投入大量的资本.

2.2 功能分析

针对上述需求存在的不足,提出了基于Windows Azure云环境下的PC数据同步备份方法.该系统使用云计算技术和分层结构模式,架设在Windows Azure云平台之上,以ASP.NET技术构建前端Web页面,以微软SQL Server和Visual Studio 2012 Express for Web为后台数据库管理和应用程序开发工具,实现PC数据(即本地数据库数据和个人数据)一键备份至云端及云端数据还原至本地的功能,并通过SQL Azure数据管理系统进行云端数据的维护和管理.最后,将该Web应用程序部署至Azure云环境,提供统一的PC数据同步备份访问平台.图1和图2分别给出了PC数据同步备份的系统功能模块流程图和体系架构示意图.

图1 系统功能模块流程图

图2 PC数据同步备份体系架构示意图

2.2 数据存储设计

PC数据同步备份系统以数据库与架构共享为主的多用户结构来设计SQL Azure数据库及其表结构,如表4、5和6所示.

表4 用户信息表UserInfo

表5 数据库信息表DbInfo

表6 收藏夹信息表FavourInfo

3 PC数据同步备份的实现

3.1 配置开发环境

Windows Azure应用程序的开发环境主要利用微软提供的Windows Azure SDK(软件开发工具包1.8.1版本)相关技术,与传统开发所需的计算配置相比,本系统需要配置以下开发环境,如表7所示:

表7 本系统开发环境配置

3.2 初始化配置

首先在Visual Studio中创建云应用程序SynApp.图3为SynApp的项目组成列表.其次,在Windows Azure平台中创建Azure Server云数据库服务器及相应数据库DbInfo及其表结构,来存储同步备份至云端的PC数据.需要注意的是,云端数据库服务器还需设置防火墙规则供用户进行云端访问.由于本系统供所有用户进行Web门户网站的访问,因此开放服务器的有效IP地址范围是0.0.0.0-255.255.255.255.图5显示了添加的防火墙规则.

图3 SynApp项目组成

图4 Windows Azure平台

图5 添加防火墙规则

3.3 功能实现

3.3.1 本地数据库备份及还原

用户登录本系统后,选择“本地数据库”按钮,出现如图6界面.

图6 DbBackup.aspx页面

首先,用户输入以下信息:①本地数据库服务器IP地址(使得用户具有访问云数据库的权限);②待备份的数据库名;③登录数据库服务器的用户名和密码(读取本地数据库中的数据信息).

其次,连接SQL Azure数据库.与传统连接字符串不同的是,云端数据库的用户名以“账户名@服务器名”的形式命名.ADO.NET的连接字符串为:

<connectionStrings>

< add name="DefaultConnection"providerName="System.Data.SqlClient"connectionString="Data Source=jvrhkf1rdz.database.windows.net;Initial Catalog=SynInfo;Integrated Security=SSPI;uid=admin@jvrhkf1rdz;pwd=P@ssword;Connection Lifetime=500"/>

</connectionStrings>

最后,云应用程序根据用户输入的参数信息,利用SqlConnection类和SqlCommand类分别连接本地数据库和操作SQL Azure数据库库表中的数据,如图7和图8分别给出了本地数据库备份和还原功能的程序流程图.

图7 本地数据库备份的程序流程图

图8 本地数据库还原的程序流程图

3.3.2 个人数据备份及还原

选择“个人数据”按钮后,显示如图9界面.首先,系统利用cookie自动记录用户选择的收藏夹路径信息,并使用Visual Studio提供的folderBrowserDialog控件来获取用户选择的文件路径.

其次,系统调用 LoadLinkFolders函数,采用FileInfo类中的GetDirectories方法遍历该目录下的所有收藏夹文件名;根据收藏夹URL文件调用GetLinkFileUrl方法获取对应的网址链接,使用FileStream类中的GetAccessControl方法和StreamReader类中的ReadLine方法读取文件.如图10给出了备份的程序流程图.

图9 FavourBackup.aspx页面

相应地,当用户还原数据时,系统首先清空用户选择的收藏夹目录,读取云端数据库中对应的收藏夹数据,使用File类中的CreateText方法把URL网址写入Web文档(即网络快捷方式.url).如图11给出了还原的程序流程图,关键代码如下:

需要注意的是,本系统默认用户使用IE浏览器进行PC数据同步备份系统的操作,因此在IE浏览器下,可以需要使用JavaScript中的ActiveXObject对象,使得在IE上运行的Web应用程序读取本地文件信息.

3.4 发布与部署

采用二级部署方法,即先过渡(Staging)环境部署后生产(Producing)环境部署.部署成功后,外部用户就可以通过唯一指定的访问本系统的门户网站.

图10 个人数据备份的程序流程图

图11 个人数据还原的程序流程图

4 实验结果

作者利用“锅炉能效云平台”项目数据自行进行了本系统模拟测试.该数据库包含6张表,每张表平均有10条数据.经过本系统测试运行后,大约3 min完成了PC数据的备份及还原.随着数据量的增大,云应用程序的运行时间也会相应变长.如图12和图13显示了已备份至云端的部分数据.

图12 已备份至DbInfo表的信息

图13 已备份至FavourInfo表的信息

相比于常用的数据备份技术,PC数据同步备份系统具有以下几个优势,如表8所示.

表8 本系统与常见备份方法的比较

5 结语

在介绍现有本地数据库和个人数据同步备份方法的基础上,针对PC数据和网络应用环境的特性,构建一种在云环境下的PC数据同步备份系统.该系统以数据备份和微软云计算为研究重点,对本地数据库数据(以“锅炉能效云平台”数据为例)和PC个人数据(以网页收藏夹为例)分别进行备份和还原功能的设计与实现,意在降低用户管理数据的成本,提高数据的安全性和可靠性,从而使用户真正感受云计算所带来的高效与便利.

[1]魏祖宽,胡旺,郑莉华,等.数据库系统及应用[M].北京:电子工业出版社,2012.

[2]ELMASRI R,NAVATHE SB.数据库系统基础[M].李翔鹰,刘镔,邱海艳,等译.北京:清华大学出版社,2011.

[3]RHOTON J,HAUKIOJA R.云计算架构:解决方案设计手册[M].赵龙刚,金振林,译.北京:机械工业出社,2012.

[4]虚拟化与云计算小组.云计算宝典:技术与实现[M].北京:电子工业出版社,2011.

[5]KALAGIAKOSP,KARAMPELASP.Cloud Computing Learning[C].5th International Conference on Application of Information and Communication Technologies.Baku:IEEE,2011.

[6]GONG C,LIU J,ZHANG Q,et al.The Characteristics of Cloud Computing[C].39th IEEE International Conference on Parallel Processing Workshops.San Diego:IEEE,2010.

[7]JADEJA Y,MODI K.Cloud Computing-concepts,architecture and challenges[C].2012 International Conference on Computing,Electronics and Electrical Technologies.Kumaracoil:IEEE,2012.

[8]徐子岩.实战Windows Azure:微软云计算平台技术详解[M].北京:电子工业出版社,2011.

[9]布鲁内蒂.Windows Azure从入门到精通[M].龙吟晖,译.北京:清华大学出社,2012.

[10]刘志勇,刘径舟.SQL Server 2008宝典[M].北京:电子工业出版社,2010.

猜你喜欢

收藏夹数据备份流程图
泉州高速公路收费系统远程数据备份研究
海洋数据备份平台的设计和实现
程控交换机的数据备份与恢复技术分析
No.4 IDC:2019年上半年数据备份与恢复市场同比增长10.0%
专利申请审批流程图
专利申请审批流程图
宁海县村级权力清单36条
收藏栏只显示图标
《天津医药》稿件处理流程图
巧用网盘备份IE收藏夹