实现备份程序的调度程序

本文关键字:调度程序 程序 备份 实现 | 更新日期: 2023-09-27 18:20:45

对于我正在执行的备份程序,我已经完成了GUI。现在我想做功能需求。每个备份都可以有时间表。有预定义的设置,如每个星期日或星期一,但用户也可以指定自己的时间表。

由于我从未做过这样的事情,我想知道每x小时或几天运行一次备份的好方法是什么。我曾考虑过使用Threads或编写服务,但这两个领域对我来说都是全新的。这里最好的方法是什么?

实现备份程序的调度程序

如果线程化开发和服务开发都是全新的,那么我认为您将很难以有用的方式实现这一点。即便如此…

计划程序类型的应用程序最好作为服务运行,否则您需要用户登录才能运行该应用程序。服务独立于登录的用户运行。

然而,正因为如此,服务没有用户界面,因此您的GUI需要将时间表的详细信息打包到某个位置的配置文件中,然后向服务发出重新加载该配置文件的信号,以便服务知道该做什么以及何时做

该服务通常会生成一个工作线程来完成几乎所有的工作,并且该工作线程需要能够对关闭的服务做出响应(请参阅AutoResetEvent,了解如何跨线程执行此操作)。然后线程将等待事件或适当的时间到达,然后做它必须做的任何事情

这些实际上都不复杂,但我建议您先深入研究多线程编程。

我同意ColinM的观点,服务最适合Scheduler类型的应用程序。您必须将服务与应用程序结合起来,才能按计划的时间间隔运行代码。有关更多详细信息,请参阅文章-http://msdn.microsoft.com/en-us/magazine/cc163821.aspx