轻量级计划服务工具研发与实践
摘要:本文主要是针对公司设计开发以及实施的项目在计划任务,数据库备份以及文件备份提供一个轻量级、便捷的服务工具。通过对该工具中三个主要功能的进一步完善,逐步减少项目组在系统实施过程遇到的相关问题,避免各项目在计划任务,数据库备份以及文件备份中做法不一致的问题,减少第三方工具的使用,进而降低项目实施成本。
关键词:计划服务、数据库备份、文件备份
1序言
管理信息系统的大量开发及应用,各应用系统之间的数据交互越来越多,越来越频。系统之间的数据交互要求具有更好的实时性或周期性,所以需要制定执行任务的详细计划,但对Web程序,如果想脱离Windows应用程序实现计划任务功能,效果却不容乐观。而在数据备份方面,由于数据库的不同,其提供的自动备份的方式及备份操作也不尽相同,而且往往需要进行较为复杂的配置。而基于计划服务、数据备份、文件备份的轻量级计划服务工具研发,则可以提供简便的数据处理任务配置,数据库以及文件备份配置,正好符合当前公司项目的要求,目前在多个系统中投用,运行状态良好。参考方案:《大庆石化公司日常工作流程督办系统》、《广东石化公司行政办公流程管理》、《广东石化公司综合考评系统》等。
2技术方案
2.1 Microsoft Windows服务
Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。
2.2 计划任务
在Windows操作系统,则利用“任务计划”,可以将任何脚本、程序或文档安排在某个最方便的时间运行。
2.3 数据库备份
随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。数据库的备份是一个长期的过程,如果时时都要靠手工备份,同会造成各种资源浪费,所以应尽可能采有自动备份的方式。同时数据库备份类型按照备份数据库的大小数据库备份有四种类型,分别应用于不同的场合,下面简要介绍一下。
1、完全备份
这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份。
2、事务日志备份
事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。
3、差异备份
也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。
4、数据文件备份
数据库可以由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用。
2.4 异地备份
将数据在另外的地方实时产生一份可用的副本,此副本的使用不需要做数据恢复,可以将副本立即投入使用。这就是异地备份。
异地备份的数据复制目前主要是基于主机的数据复制技术,可以不考虑存储系统的同构问题,只要保持主机是相同的操作系统即可,而目前也存在支持异构主机之间的数据复制软件,如BakBone NetVault Replicator就可以支持异构服务器之间的数据复制,可以支持跨越广域网的远程实时复制。缺点是需要占用一点主机资源。
3功能分析
经过多个项目的开发设计及项目实施的经验总结,百分之百的管理信息统都需要实时/定时的进行数据统计及数据处理。然而基于网页的应用系统,要做一个定时执行的计划,是很困难的,或实现方法都不是很理想,这就使得一个通用的计划任务管理工具存在的必要性。同时,由于系统的数据及文件,是其懒以运行之根本,如果数据或文件的严重缺失,就会大大影响系统的运行,在用户的价评中大打折扣,从而需要对系统的数据库及系统的文件进行备份,目前主要的备份方式为:本地备份及异地备份。
在本文的工具中,主要包含以下三个主要功能:
1、刷新任务:将任务的工作内容(代码)编写在一个网页中,然后通过计划的配置,定时执行网页中的代码,实现数据定时处理。
2、数据备份:通过使用数据库备份命令,对目标数据库进行完全备份,并保存到服务器的指定的目录中。
3、文件备份:对服务器的文件或文件夹进行监视,如果文件发生变化,便会通过Socket的网络通信的方式,自动将文件发送到备份服务器上进行存储,实现文件的自动异地备份。
4系统架构
5技术架构
6功能结构
6.1刷新任务
负责对第三方提供的具有周期性执行的计划要求的网页URL进行定时执行,并记录数据处理中产生的日志信息,进而达到数据周期性处理的目的。要求配置输入:服务名称,服务编码,服务地址URL,服务时间,备注等信息。
6.2数据库服务
负责对数据库进行周期性备份,并将备份文件及备份过程中产生的日志信息保存到指定的目录中。该服务支持Oracle数据库及SQL Server数据库。
6.3文件服务
负责对指定目录的文件使用WinRAR软件进行压缩,并将压缩包保存到指定的目录中。同时还可以对某个文件夹进行监视,对发生变化的文件通过Socket的方式,发送到指定的备份服务器进行存储。
7参考文献
《软件工程思想》
《软件需求》
《网络编码原理》