基于进程识别文件进行文件备份的方法
技术领域
本发明涉及一种计算机通信技术领域,尤其涉及一种基于进程识别文件进行文件备份的方法。
背景技术
大多数企业都存在因为员工有意或无意过失,发生电子文档破坏或丢失的问题,给企业带来无法估量的损失,文件备份可以保证在出现文件破坏或丢失的灾难时,可以及时还原丢失的文件。现有技术方案都是基于服务端/客户端模式的文件备份方式,客户端启动时连接服务端,并与服务端保持通讯畅通,客户端的操作员通过上传和下载文件使本地文件与远程备份文件同步,备份文件统一保存在服务端的某个空间,客户端的操作员可以对需要备份的文件执行“上传到服务器备份”,也可以从服务端同步最新的备份文件以及历史文件备份版本到本地。
然而现有技术的方案存在如下缺陷:1、被动式备份,即备份必须由客户端的操作员手动操作,如果操作员没有及时备份,万一发生文件损坏或丢失就无法找到最新备份版本,文件无法恢复。无法有效防止数据意外丢失;
2、不能基于进程和文件后缀对文件进行备份,备份时可能会出现遗漏,即可能有部分文件因为操作员遗漏导致没有及时执行文件备份;
3、如果服务端管控的客户端数量太多,则所有文件都备份可能导致服务端存储的备份的文件数量庞大;
4、客户端如果无法连到服务端,客户端的文件备份程序基本无法工作;
5、某些比较极端的产品为了保证客户端文件与服务端文件一致或保证只允许一台客户端能对文件进行编辑,如果客户端无法连接到服务端,会锁死本地文件,无法编辑;
6、经常会发生本地文件与服务端文件冲突的情况;
7、经常会发生本地文件与服务端文件因为指纹不一致而导致无法上传或下载文件的情况。
现有技术中公开了一种“备份系统和备份方法”,见公开号为:CN1627267,公开日为:2005.06.15的中国专利,具体为:用于带有硬盘的计算机系统的备份程序保持正在备份的文件中对数据的改变记录。在备份期间原始文件和更新文件的一部分或记录被存储,并且备份程序读原始数据而其它应用程序读更新数据。为了辨别读操作是由备份程序激发还是由别的应用程序激发,系统利用栈确定读请求的源。备择地,系统询问用户、进程或任务标识。通过操纵系统文件表保证备份程序对文件的访问。通过按预定的时间推迟启动备份操作确保文件处于“良好”状态。该发明与本申请文件的区别在于:1、本申请文件备份方式为异地备份,备份文件统一管理,更有效的保护了文件安全;2、本申请文件备份架构是C/S,可以对企业内部的计算机备份文件统一管理,满足现代企业级应用需求,该发明是单机+磁盘备份,如果计算机与磁盘全部丢失(比如烧毁)则数据无法恢复 ;3、本申请文件可以进行冗余合并备份,即有多个备份版本时,服务器只提最新备份版本,该发明是差异备份,文件有改动时追加到备份文件,可能对文件造成破坏或追加不成功;4、本申请文件是终端告诉服务器有新的备份文件,服务器空闲时才到终端提取备份文件,极大减少服务器压力;5、本申请文件是等待文件空闲时备份文件,该发明是限制其他进程对文件进行读写操作并执行备份,如果文件太大,比如很大的数据库文件,可能会导致备份期间数据库无法访问而影响用户工作;6、该发明使用的核心技术Interrupt 21 hex(INT 21h),与硬件、操作系统关系密切,可能随着硬件的升级导致所有功能都失效,如果多个处理器上运行的程序都调用DOS功能(意思是一个还没返回,另一个开始调用)就可能产生问题;本申请文件是做在应用层,不依赖硬件或者定制操作系统,对普通操作系统兼容性更好,存在更大的通用性,只要能安装软件即可。7、本申请文件备份文件有时间段间隔,对方只要文件有改变即需要备份,频繁操作会导致效率低下,数据量大,同时影响正常工作。
发明内容
本发明要解决的技术问题,在于提供一种基于进程识别文件进行文件备份的方法,能针对某种进程或某种类型的文件进行备份,能在客户端与服务端失去连接时有效的执行本地备份,从而减少服务器的压力。
本发明是这样实现的:一种基于进程识别文件进行文件备份的方法,所述方法需提供一策略管理工具模块、一策略服务器、文件服务器以及终端,该终端中设置有一文件过滤驱动模块;所述方法具体包括如下步骤:
步骤1、通过策略管理工具模块设置要备份的进程名称或文件的后缀,形成一策略信息;
步骤2、把所述策略信息存储于所述策略服务器的一数据库中;
步骤3、终端收到服务器端下发的策略更新指令时,到数据库中下载并更新策略信息;
步骤4、终端读取最新策略信息,并把策略信息下发给所述文件过滤驱动模块;该文件过滤驱动模块位于操作系统的文件过滤驱动层,能监控进程的动作;
步骤5、当操作系统上的应用软件对文件进行写操作或保存操作时,操作系统的I/O管理器会发IRP包给文件过滤驱动模块,文件过滤驱动模块根据收到的IRP包,确定进程是否对文件进行写操作或保存操作,否,则不
进行操作,并返回步骤5;是,则根据策略信息判断是否需要对文件进行备份,否,则不进行操作,并返回步骤5,是,则文件过滤驱动模块把文件的文件名称、文件路径、操作类型、操作时间的信息保存在一链表中,并通知终端对文件执行备份;
步骤6、终端接收到备份文件的通知后,从链表读取要求备份的文件信息,判断该文件是否在一预设时间段内有过执行备份,是,则不进行操作,返回步骤5;否,则进行备份,并进入步骤7;
步骤7、文件在终端本地备份后,终端通知对应的文件服务器有新的备份需要提取到文件服务器进行保存,则文件服务器接收到通知,到终端提取相应的备份文件,并保存在文件服务器的空间,写入文件备份日志。
本发明具有如下优点:1、本发明能针对某种进程或某种类型的文件进行备份,能在客户端与服务端失去连接时有效的执行本地备份,可以在通讯恢复后把本地备份的文件自动上传到文件服务端保存,也能对需要备份的文件执行透明的、强制的、定时的备份。
2、本发明对文件定时执行强制备份可以及时的备份文件,万一文件破坏或丢失,可以还原最近的备份版本,不会给企业带来灾难性的损失。
3、本发明基于进程和文件后缀识别可以使备份更有目的性,针对性更强,有效限制只要是对应进程操作的文件,或者是对应的后缀的文件,都执行备份。解决了企业只希望备份某些进程生成的文件,或只希望备份某些后缀的文件的需求,使备份目标更明确。
4、本地备份机制可以防止万一客户端与服务器失去连接,文件无法及时得到备份。
附图说明
图1为本发明方法流程示意图。
具体实施方式
请参阅图1所示,本发明为一种基于进程识别文件进行文件备份的方法,所述方法需提供一策略管理工具模块、一策略服务器、文件服务器以及终端,该终端中设置有一文件过滤驱动模块;所述方法具体包括如下步骤:
步骤1、通过策略管理工具模块设置要备份的进程名称或文件的后缀,形成一策略信息;
步骤2、把所述策略信息存储于所述策略服务器的一数据库中;
步骤3、终端收到服务器端下发的策略更新指令时,到数据库中下载并更新策略信息;
步骤4、终端读取最新策略信息,并把策略信息下发给所述文件过滤驱动模块;该文件过滤驱动模块位于操作系统的文件过滤驱动层,能监控进程的动作;
步骤5、当操作系统上的应用软件对文件进行写操作或保存操作时,操作系统的I/O管理器会发IRP包给文件过滤驱动模块,文件过滤驱动模块根据收到的IRP包,确定进程是否对文件进行写操作或保存操作,否,则不
进行操作,并返回步骤5;是,则根据策略信息判断是否需要对文件进行备份(即根据策略信息中,文件对应的进程名称或文件的后缀确定文件是否是需要进行备份),否,则不进行操作,并返回步骤5,是,则文件过滤驱动模块把文件的文件名称、文件路径、操作类型、操作时间的信息保存在一链表中,并通知终端对文件执行备份;
步骤6、终端接收到备份文件的通知后,从链表读取要求备份的文件信息,判断该文件是否在一预设时间段内(即为操作系统的一个时间阈值,如3天)有过执行备份,是,则不进行操作,返回步骤5;否,则进行备份,并进入步骤7;
步骤7、文件在终端本地备份后,终端通知对应的文件服务器有新的备份需要提取到文件服务器进行保存,则文件服务器接收到通知,到终端提取相应的备份文件,并保存在文件服务器的空间,写入文件备份日志。
在本发明中,所述步骤5中文件执行备份时,终端先在本地存储介质开启一块空间用于保存备份文件,且同一份文件在本地只保留3~5个最新的备份版本。
步骤7中如果终端与文件服务器失去连接,则暂时不将备份文件传给文件服务器,在下次终端与文件服务器建立连接后,文件服务器会到终端重新把备份文件提到文件服务器进行保存。
其中,所述策略管理工具模块能查看文件备份日志,该日志包括终端名称、备份时间、备份的文件名、备份的文件大小、文件原始路径、以及下载或在线阅读过的文件名称;且该策略管理工具能进行删除历史备份文件的操作。
这里值得一提的是:
1、本发明采用的是主动式备份的方式,即终端以及文件过滤驱动的文件过滤驱动模块根据策略服务器配置的备份的策略信息自动并且强制对电子文件执行备份,不需要人工干预,备份过程对于终端操作员完全透明,终端操作员无法感知终端的备份动作;现有方案都采用被动式备份的方式,即需要终端操作员手动备份文件;主动式备份可以有效防止人为过失导致没有及时备份文件。
2、本发明采用的是基于进程识别和后缀识别的备份方式,优点是,备份文件的针对性更强;不会导致部分文件忘记备份的情况。比如,可以设置CAD文件都需要备份,系统即会及时并强制备份所有CAD文件,不会出现某些CAD文件因为操作员没有备份而导致损失的情况;现有方案都采用针对某个文档备份的方式,发生文件备份不全的概率非常高。
3、本发明可以设置超过多大的文件不备份,节省服务器空间。
4、本发明可以支持离线模式,即万一终端与文件服务器连接失败,终端会在本地保存几个最新的历史备份版本,如果出现终端源文件异常或被删除,可以从本地备份直接获取最新备份版本,不会因为连接不上文件服务器而影响文件备份功能。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。