扫描文件的方法及系统技术方案

技术编号:15198353 阅读:99 留言:0更新日期:2017-04-21 14:42
本发明专利技术公开了一种扫描文件的方法及扫描文件的系统,该扫描文件的方法包括:控制模块根据策略的执行时间向扫描模块发送扫描指令;扫描模块根据扫描指令生成与策略对应的扫描任务;运行控制线程以分配扫描任务至多个工作线程;运行多个工作线程使多个工作线程均以深度优先方式对待扫描的目录进行扫描以得到扫描任务的结果;以及向控制模块返回扫描任务的结果。本发明专利技术通过运行多个工作线程使多个工作线程均以深度优先方式对待扫描的目录进行扫描以得到扫描任务的结果,能够提高远程复制过程中传输文件的准确性。

Method and system for scanning files

The invention discloses a method for scanning the file and scanned documents, including the method of the document scanning control module according to the strategy execution time to scan module scan instruction; the scanning module according to the scanning scanning task instruction generation and corresponding strategy; operation control thread to scan tasks to multiple thread allocation; multi operation a thread that multiple threads are to scan in a depth first way to get directory scanning scanning task results; and return the results to the scanning task control module. The present invention is scanned by running multiple threads to make multiple thread to scan in a depth first way to get the directory scanning task results can improve the accuracy of file transmission remote replication process.

【技术实现步骤摘要】

本专利技术涉及计算机
,具体来说,涉及一种扫描文件的方法及扫描文件的系统。
技术介绍
远程复制系统是提供将一个源端文件系统中的需要备份的备份数据复制到另一个目标端文件系统中,并对该备份数据进行管理。因此在远程复制系统中就需要一个文件扫描模块来提供扫描文件的功能,以便远程复制系统确定哪些文件需要备份。现有的扫描文件功能并不能很好地满足远程复制系统的要求,无法实现将源端文件系统中的文件正确高效地传输到目标端文件系统中。同时在扫描文件过程中还存在大量的冗余扫描操作,导致扫描效率较低。针对相关技术不能正确高效地传输文件、及扫描效率较低的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中不能正确高效地传输文件、及扫描效率较低的问题,本专利技术提出一种扫描文件的方法及扫描文件的系统,能够提高远程复制过程中传输文件的准确性。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种扫描文件的方法,包括:控制模块根据策略的执行时间向扫描模块发送扫描指令;扫描模块根据扫描指令生成与策略对应的扫描任务;运行控制线程以分配扫描任务至多个工作线程;运行多个工作线程使多个工作线程均以深度优先方式对待扫描的目录进行扫描以得到扫描任务的结果;以及向控制模块返回扫描任务的结果。在一个实施例中,工作线程在同一时刻只执行一个扫描任务。在一个实施例中,以深度优先方式对待扫描的目录进行扫描,包括:对对待扫描的目录进行扫描并获取目录项;当目录项为目录时,继续对目录项对应的目录进行扫描;以及当目录项为文件时,由发送线程将文件对应的文件信息发送至控制模块;其中,扫描任务的结果包括文件信息。在一个实施例中,还包括:获取同一策略对应的任意两次相邻的扫描任务中发生改变的文件;以及将发生改变的文件发送至控制模块以得到任意两次相邻的扫描任务中第二次扫描任务的结果。在一个实施例中,获取同一策略对应的任意两次相邻的扫描任务中发生改变的文件,包括:获取并存储任意两次相邻的扫描任务中第一次扫描任务的开始时间;在两次相邻的扫描任务之间有文件被修改的情况下,获取并存储文件被修改的修改时间;当任意两次相邻的扫描任务中第二次扫描任务开始时,根据修改时间和开始时间获取发生改变的文件。在一个实施例中,在获取并存储文件被修改的修改时间之后,还包括:根据开始时间和修改时间生成计时文件。在一个实施例中,在根据开始时间和修改时间生成计时文件之后,还包括:当第二次扫描任务开始、且不存在计时文件的情况下,根据策略对待扫描的目录进行全扫描。在一个实施例中,向控制模块返回扫描任务的结果,包括:发送线程将扫描任务的结果通过缓存模块发送至控制模块;完成线程将扫描任务完成的完成信息发送至所述控制模块。在一个实施例中,多个工作线程的数量为五个。根据本专利技术的另一方面,提供了一种扫描文件的系统,包括:控制模块,用于根据策略的执行时间向扫描模块发送扫描指令;以及扫描模块,用于根据扫描指令生成与策略对应的扫描任务、运行控制线程以分配扫描任务至多个工作线程、运行多个工作线程使多个工作线程均以深度优先方式对待扫描的目录进行扫描以得到扫描任务的结果,还用于向控制模块返回扫描任务的结果。本专利技术通过运行多个工作线程使多个工作线程均以深度优先方式对待扫描的目录进行扫描以得到扫描任务的结果,能够提高远程复制过程中传输文件的准确性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的扫描文件的方法的流程图;图2是根据本专利技术具体实施例的远程复制系统的示意图;图3是图2中的远程复制系统的扫描方法的流程示意图;图4是根据本专利技术具体实施例的扫描方法的扫描线程模型示意图;图5是根据本专利技术具体实施例的扫描方法的工作线程的流程示意图;图6是根据本专利技术具体实施例的扫描方法的获取发生改变的文件的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种扫描文件的方法。如图1所示,根据本专利技术实施例的扫描文件的方法,包括以下步骤:S101,控制模块根据策略的执行时间向扫描模块发送扫描指令;S103,扫描模块根据扫描指令生成与策略对应的扫描任务;S105,运行控制线程以分配扫描任务至多个工作线程;S107,运行多个工作线程使多个工作线程均以深度优先方式对待扫描的目录进行扫描以得到扫描任务的结果;以及S109,向控制模块返回扫描任务的结果。通过上述技术方案,通过运行多个工作线程使多个工作线程均以深度优先方式对待扫描的目录进行扫描以得到扫描任务的结果,能够提高远程复制过程中传输文件的准确性。具体地,上述扫描文件的方法可以用于远程复制系统中来提供扫描文件的功能。同时参考图2和图3,该远程复制系统包括:策略管理器oMgs,用于对策略进行添加、删除、修改、和查询等操作,同时还用于各类节点的增加和删除的操作;与oMgs通信连接的复制控制器oBke(即上述控制模块),oBke是远程复制系统的控制中心,用于获取策略、文件,并将备份文件的操作分解为并发的任务;与oBke通信连接的复制服务器oBks:用于接收需要备份的文件,并将其存储到目标端文件系统中;与oBke通信连接的扫描控制器oScan(即上述扫描模块),用于根据策略对源端文件系统oPara进行扫描以扫描出需要备份的文件,并将这些文件的文件列表发送给oBke。进一步地,参考图3,oBke从oMgs获取策略并对该策略进行查看,并根据策略的执行时间确定需要开始执行的策略。当策略的执行时间来到时,oBke向oScan发送消息,oScan生成一个扫描任务。oScan向oPara发送请求扫描目录的rddir消息,oPara返回请求同意的Ack消息后,oScan开始执行扫描任务并将文件列表发送给oBke。参考图4所示的扫描线程模型包括:一个控制线程、多个工作线程、一个发送线程和一个完成线程。其中,图示的工作线程的数量为3个,根据实际需要可以对工作线程的数量进行改变。oScan生成一个扫描任务后,将该扫描任务投递到本地pending(等待)队列。控制线程从本地pending队列获取扫描任务,分配任务结构,投递到多个工作线程队列。在一个实施例中,步骤S107包括:对对待扫描的目录进行扫描并获取目录项;当目录项为目录时,继续对目录项对应的目录进行扫描;以及当目录项为文件时,由发送线程将文件对应的文件信息发送至控制模块;其中,扫描任务的结果所述文件信息。另外,文件信息包括文件列表。在一个实施例中,每个工作线程在同一时刻只执行一个扫描任务。多个工作线程的数量为五个。在一个实施例中,步骤S109包括:发送线程将扫描任务的结果通过缓存模块发送至控制模块;完成线程将扫描任务完成的完成信息发送至控制模块。其中,缓存模块设置于控制模块中。同样参考图4,工作线程负责对待扫本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201610892556.html" title="扫描文件的方法及系统原文来自X技术">扫描文件的方法及系统</a>

【技术保护点】
一种扫描文件的方法,其特征在于,包括:控制模块根据策略的执行时间向扫描模块发送扫描指令;扫描模块根据所述扫描指令生成与所述策略对应的扫描任务;运行控制线程以分配所述扫描任务至多个工作线程;运行所述多个工作线程使所述多个工作线程均以深度优先方式对待扫描的目录进行扫描以得到扫描任务的结果;以及向所述控制模块返回所述扫描任务的结果。

【技术特征摘要】
1.一种扫描文件的方法,其特征在于,包括:控制模块根据策略的执行时间向扫描模块发送扫描指令;扫描模块根据所述扫描指令生成与所述策略对应的扫描任务;运行控制线程以分配所述扫描任务至多个工作线程;运行所述多个工作线程使所述多个工作线程均以深度优先方式对待扫描的目录进行扫描以得到扫描任务的结果;以及向所述控制模块返回所述扫描任务的结果。2.根据权利要求1所述的扫描文件的方法,其特征在于,所述工作线程在同一时刻只执行一个扫描任务。3.根据权利要求1所述的扫描文件的方法,其特征在于,以深度优先方式对待扫描的目录进行扫描,包括:对所述对待扫描的目录进行扫描并获取目录项;当所述目录项为目录时,继续对所述目录项对应的所述目录进行扫描;以及当所述目录项为文件时,由发送线程将所述文件对应的文件信息发送至所述控制模块;其中,所述扫描任务的结果包括所述文件信息。4.根据权利要求1所述的扫描文件的方法,其特征在于,还包括:获取同一策略对应的任意两次相邻的扫描任务中发生改变的文件;以及将所述发生改变的文件发送至控制模块以得到所述任意两次相邻的扫描任务中第二次扫描任务的结果。5.根据权利要求4所述的扫描文件的方法,其特征在于,获取同一策略对应的任意两次相邻的扫描任务中发生改变的文件,包括:获取并存储任意两次相邻的扫描任务中第一次扫描任务的开始时间;在所述两次相邻的扫描任务之间有文件被修改...

【专利技术属性】
技术研发人员:龚超李国君张新凤王慧王灯殿石静张记华宋频轶
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1