云端自动备份工具的设计与研究

2018-08-17 12:17李慧玲张吉宇
关键词:配置文件备份代码

李慧玲,张吉宇

(长治学院 计算机系,山西 长治 046011)

0 引言

信息化时代的到来,使得数据越来越多,结构也越来越复杂化,绝大部分企业信息都是以电子的形式进行保存,如果信息管理系统一旦出现故障,信息数据发生丢失或损坏,一般很难修复,为了应对突如其来的故障,文件备份越来越重要.例如公司中SVN服务器是统一管理代码的系统,应用SVN进行工作的步骤,首先,第一步是从SVN服务器上下载工作组最新任务,然后进入自己所在的项目组,即可开始工作,隔一段时间就向服务器中自己的项目组提交一次代码[1].若要结束今天的工作,把今天所做的工作提交到服务器项目组中,每天的工作都是如此.每次都是先从服务器上下载前一天的工作进度,接着做,然后下班之前把当天的工作提交给服务器.如果SVN服务器发生故障的话,假如没有备份文件,那么工作人员就没有办法进行正常工作.通过SVN备份工具可以进一步提高信息数据的安全性,防止出现意外故障时,能极大地减少公司的损失.

SVN在企业中应用较为广泛,因一个项目需要多人开发,利用这个工具可以达到共享资源的目的.运用Quartz,Spring,Sftp,ZIP,XML等技术基于Java开发和设计出SVN自动备份工具,可以大大降低SVN服务器发生故障带来的风险.该SVN备份工具不仅可以用于SVN仓库的备份,还可以用于各种数据的备份保护,用户根据需求,可以自己更改配置文件.程序中尽可能做到了参数配置化,方便用户根据自己的需求去改变配置文件来配置定时与任务,配置文件不会影响代码的健壮性,使得代码运行维护轻松许多,并且方便用户的使用.

1 系统设计思想与实现

1.1 云数据存在的问题

防止SVN发生故障丢失文件,需要定时对SVN做备份,并将备份文件上传到云服务器.开发SVN备份工具可以有效防止SVN发生故障造成的损失.集中式代码管理的核心是服务器,如果SVN仓库一旦发生故障,项目成员可以在工作之前从服务器下载工作任务,即可完成任务,下班之前进行提交.每天完成的任务都在服务器上.如果服务器断开,项目组成员是无法进行工作的.所以,在个人电脑出现故障时,可以直接从云服务器上获取丢失的工作,在员工下班前,可以把自己今天工作的内容备份压缩,然后上传到云服务器.

1.2 备份工具的设计

此备份工具应该满足以下的功能需求:1)用户可以实现文件自动化备份、压缩、上传以及上传完成后自动删除本地备份的文件和压缩包.2)备份工具可以定时实现自动备份功能.3)可以根据不同的需求进行增量备份和全局备份.4)用户可以根据需求更改配置文件,具体流程图见图1.

图1 SVN备份工具的备份流程图

2 开发及运行环境

开发此备份工具选用了Java、Quartz技术、Spring框架、SFTP技术以及XML等技术.Java具有强大的、易于使用的联网能力,非常适合开发分布式计算的程序.Java中自带的JVM可实现移植,只要在不同的操作系统上植入不同版本的JVM,Java程序就可以在各个平台上移植.Quartz是一个作业调度系统(a job scheduling system),Quartz不但可以集成到其他的软件系统中,而且也可以独立运行的[2].本系统的核心就是定时对SVN仓库进行备份,就是Quartz技术在定时任务调度的应用.Quratz的优势在于功能强大且简单易上手.当系统遇到调度问题时,通过简单的Quartz范例就可以完成对时间的任何调用.根据用户的不同需求可以完全自由地更改配置来达到效果,这就是Quartz的功能强大之处,同时编写项目中的代码也简单自然(natural).Spring是一个开源的应用开发框架,它的目的是用于简化企业级应用开发过程中的侵入性;同时, Spring为整个系统提供了一个整体的解决方案,项目组成员除了可以利用它本身提供的功能外,也可与第三方框架进行整合应用,可根据实际情况选择合适的技术进行开发.

SFTP是Secure File Transfer Protocol的缩写,是安全文件传送协议.SSH是Secure Shell的缩写.上传操作完成后,通过客户端登录到云服务器就可以方便地查看上传情况.备份工具用的是SSH和Secure File Transfer Client这两个软件进行验证.可以直接连接云服务器进行查看.

因为需求是定时甚至每天对SVN仓库进行备份,备份文件日积月累就会变得异常庞大,所以要对备份文件进行压缩以后上传给云服务器.Java API中封装了关于压缩的类ZipEntry.系统中正是通过将这个类的实例添加进压缩流中,从而实现对文件的压缩.

3 总结

SVN自动备份工具组由文件备份、文件压缩、文件上传、文件删除等几个功能模块组成.这个工具的设计是基于平台化的理念,可以用于各种数据的备份保护.尽可能做到了参数配置化,方便用户根据自己的需求去改变配置文件,配置文件不会影响代码的健壮性,使得代码运行维护轻松许多.当然,SVN备份工具还存在一些不足,如对文件的压缩格式单一,只能压缩为zip格式,但是备份工具整体功能上来说还是比较完善的.

猜你喜欢
配置文件备份代码
VSAT卫星通信备份技术研究
从Windows 10中删除所有网络配置文件
用软件处理Windows沙盒配置文件
创建vSphere 备份任务
互不干涉混用Chromium Edge
基于Zookeeper的配置管理中心设计与实现
创世代码
创世代码
创世代码
创世代码