两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種掃描文件的方法和系統(tǒng)與流程

文檔序號:11154715閱讀:878來源:國知局
一種掃描文件的方法和系統(tǒng)與制造工藝

本發(fā)明涉及計算機領域,具體來說,涉及一種掃描文件的方法和系統(tǒng)。



背景技術:

歸檔系統(tǒng)是提供將生產(chǎn)系統(tǒng)里的數(shù)據(jù)復制到離線系統(tǒng)中,并對這個備份數(shù)據(jù)進行管理的系統(tǒng),其中,生產(chǎn)系統(tǒng)和離線系統(tǒng)可以是曙光并行存儲系統(tǒng),也可以是第三方文件系統(tǒng)。在該歸檔系統(tǒng)中需要一個文件掃描模塊來提供掃描文件的功能,以便歸檔系統(tǒng)確定哪些文件需要備份。但是,現(xiàn)有的掃描文件功能并不滿足歸檔系統(tǒng)的要求,無法實現(xiàn)將生產(chǎn)系統(tǒng)中的文件正確高效地傳輸?shù)诫x線系統(tǒng)中。

針對相關技術中的問題,目前尚未提出有效的解決方案。



技術實現(xiàn)要素:

針對相關技術中的問題,本發(fā)明提出一種掃描文件的方法和系統(tǒng),能夠將生產(chǎn)系統(tǒng)中的文件正確高效地傳輸?shù)诫x線系統(tǒng)中。

本發(fā)明的技術方案是這樣實現(xiàn)的:

根據(jù)本發(fā)明的一個方面,提供了一種掃描文件的方法。

該掃描文件的方法包括:獲取預先設置的備份規(guī)則;根據(jù)備份規(guī)則,掃描出需備份的文件,并且將需備份的文件列表發(fā)送;接收文件列表,并將需備份的文件進行備份。

根據(jù)本發(fā)明的一個實施例,根據(jù)備份規(guī)則,掃描出需備份的文件包括:根據(jù)備份規(guī)則,生成掃描任務,并將掃描任務添加到工作線程中;根據(jù)掃描任務,工作線程對目錄進行掃描,并處理目錄對應的目錄項。

根據(jù)本發(fā)明的一個實施例,文件列表包括:文件信息、目錄信息。

根據(jù)本發(fā)明的一個實施例,工作線程對目錄進行掃描,并處理目錄對應的目錄項包括:在目錄項為文件的情況下,工作線程將需備份的文件對應的目錄項中的文件信息發(fā)送至對應的控制模塊;在目錄項為目錄的情況下,工作線程將掃描任務進行分配給掃描進程,并且將掃描任務添加到掃描隊列的隊首,以及將需備份的文件對應的目錄項中的目錄信息發(fā)送至對應的控制模塊。

根據(jù)本發(fā)明的一個實施例,將需備份的文件列表發(fā)送包括:將需備份的文件列表分批次進行發(fā)送。

根據(jù)本發(fā)明的一個實施例,接收文件列表包括:分批次接收文件列表,并在每批次接收文件列表成功后,控制模塊反饋Ack信息。

根據(jù)本發(fā)明的另一方面,提供了一種掃描文件的系統(tǒng)。

該掃描文件的系統(tǒng)包括:

獲取模塊,用于獲取預先設置的備份規(guī)則;

掃描發(fā)送模塊,用于根據(jù)備份規(guī)則,掃描出需備份的文件,并且將需備份的文件列表發(fā)送;

備份模塊,用于接收文件列表,并將需備份的文件進行備份。

根據(jù)本發(fā)明的一個實施例,掃描發(fā)送模塊包括:

添加模塊,用于根據(jù)備份規(guī)則,生成掃描任務,并將掃描任務添加到工作線程中;

掃描模塊,用于根據(jù)掃描任務,工作線程對目錄進行掃描,并處理目錄對應的目錄項。

根據(jù)本發(fā)明的一個實施例,文件列表包括:文件信息、目錄信息。

根據(jù)本發(fā)明的一個實施例,掃描模塊包括:

文件掃描模塊,用于在目錄項為文件的情況下,工作線程將需備份的文件對應的目錄項中的文件信息發(fā)送至對應的控制模塊;

目錄掃描模塊,用于在目錄項為目錄的情況下,工作線程將掃描任務進行分配給掃描進程,并且將掃描任務添加到掃描隊列的隊首,以及將需備份的文件對應的目錄項中的目錄信息發(fā)送至對應的控制模塊。

本發(fā)明的有益技術效果在于:

本發(fā)明通過獲取預先設置的備份規(guī)則,隨后根據(jù)備份規(guī)則,掃描出需備份的文件,并且將需備份的文件列表發(fā)送,最后接收文件列表,并將需備份的文件進行備份,從而能夠將生產(chǎn)系統(tǒng)中的文件正確高效地傳輸?shù)诫x線系統(tǒng)中。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是根據(jù)本發(fā)明實施例的掃描文件的方法的流程圖;

圖2是根據(jù)本發(fā)明實施例的歸檔系統(tǒng)的示意圖;

圖3是根據(jù)本發(fā)明實施例的掃描引擎線程結構圖;

圖4是根據(jù)本發(fā)明實施例的控制模塊和文件掃描模塊的交互過程的示意圖;

圖5是根據(jù)本發(fā)明實施例的文件掃描模塊處理控制模塊的任務的流程圖;

圖6是根據(jù)本發(fā)明實施例的掃描文件的系統(tǒng)的框圖。

具體實施方式

下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

根據(jù)本發(fā)明的實施例,提供了一種掃描文件的方法。

如圖所示,根據(jù)本發(fā)明實施例的掃描文件的方法包括:

步驟S101,獲取預先設置的備份規(guī)則;

步驟S103,根據(jù)備份規(guī)則,掃描出需備份的文件,并且將需備份的文件列表發(fā)送;

步驟S105,接收文件列表,并將需備份的文件進行備份。

本發(fā)明通過獲取預先設置的備份規(guī)則,隨后根據(jù)備份規(guī)則,掃描出需備份的文件,并且將需備份的文件列表發(fā)送,最后接收文件列表,并將需備份的文件進行備份,從而能夠將生產(chǎn)系統(tǒng)中的文件正確高效地傳輸?shù)诫x線系統(tǒng)中。

根據(jù)本發(fā)明的一個實施例,根據(jù)備份規(guī)則,掃描出需備份的文件包括:根據(jù)備份規(guī)則,生成掃描任務,并將掃描任務添加到工作線程中;根據(jù)掃描任務,工作線程對目錄進行掃描,并處理目錄對應的目錄項。

根據(jù)本發(fā)明的一個實施例,文件列表包括:文件信息、目錄信息。

根據(jù)本發(fā)明的一個實施例,工作線程對目錄進行掃描,并處理目錄對應的目錄項包括:在目錄項為文件的情況下,工作線程將需備份的文件對應的目錄項中的文件信息發(fā)送至對應的控制模塊;在目錄項為目錄的情況下,工作線程將掃描任務進行分配給掃描進程,并且將掃描任務添加到掃描隊列的隊首,以及將需備份的文件對應的目錄項中的目錄信息發(fā)送至對應的控制模塊。

根據(jù)本發(fā)明的一個實施例,將需備份的文件列表發(fā)送包括:將需備份的文件列表分批次進行發(fā)送。

根據(jù)本發(fā)明的一個實施例,接收文件列表包括:分批次接收文件列表,并在每批次接收文件列表成功后,控制模塊反饋Ack信息。

下面將通過具體的實施例對本發(fā)明進行詳細的描述。

如圖2所示,該歸檔系統(tǒng)包括:oMgs模塊、oBKe模塊、oScan模塊、oScan模塊,上述模塊的主要功能如下:

oMgs模塊,用于負責備份規(guī)則的添刪改查等操作,同時負責各類節(jié)點的增加刪除等操作,同時,將備份規(guī)則發(fā)送給oBKe模塊;

oBKe模塊,該oBKe模塊為控制模塊,即為該歸檔系統(tǒng)的總控制中心,用于接收oMgs模塊發(fā)送的備份規(guī)則,以及接收oScan模塊發(fā)送的文件,同時將備份文件的操作分解為并發(fā)的任務等操作;

oScan模塊,該模塊為文件掃描模塊,設置在索引服務器集群oPara中,用于負責根據(jù)備份規(guī)則掃描出要備份的文件,并將這些文件列表發(fā)送給oBke模塊;

oBks模塊,用于負責接收需要備份的文件,并將其存儲到離線系統(tǒng)中。

此外,如圖3所示,當備份策略執(zhí)行時間到時,oBke模塊向oScan模塊發(fā)送消息,oScan模塊生成一個任務,投遞到本地pending隊列,其中,該Pending隊列用于保存所有尚未從磁盤返回處理響應的寫命令。同時,控制線程負責從本地pending隊列獲取掃描任務,分配任務結構,投遞到工作線程隊列中。

工作線程負責對目錄進行掃描(readdir)并處理目錄(dentry)項,如果dentry項是文件則調(diào)用注冊的文件處理函數(shù)將文件信息加入對應oBke的緩沖區(qū)buf(線程間不共享),然后判斷該buf是否滿,是則發(fā)送異步消息(控制發(fā)送中的消息總量);如果dentry項是目錄,調(diào)用注冊的目錄處理函數(shù)分配任務,加到掃描隊列隊首。每個工作線程同一時刻只處理一個備份規(guī)則對應的目錄下的掃描任務,同時最多有5個掃描線程同時工作,而其它的掃描任務在pending隊列中等待。

整個掃描任務處理完成后,網(wǎng)絡回調(diào)函數(shù)投遞一個任務到完成隊列,完成線程將結果通知oBke模塊。

另外,圖4示出了oBke模塊和oScan模塊的交互過程,具體如下:

第一階段

步驟S11,oBke模塊將所有的需要掃描的任務發(fā)送至oScan模塊;

步驟S12,oScan模塊接收上述掃描任務,并將所有任務加到工作線程隊列中,并將上述所有任務的狀態(tài)設置為“掃描中”;

第二階段

步驟S21,oScan模塊將第1批文件列表發(fā)送至oBke模塊,若oScan模塊未收到oBke模塊反饋的ACK(Acknowledgement,即確認字符),則重新投遞到發(fā)送隊列;

步驟S22,oBke模塊接收第1批文件列表,并將該第1批文件列表存儲,后反饋ACK;

步驟S23,重復步驟上述步驟S21-S22,直至oScan模塊將第n批文件列表發(fā)送至oBke模塊,同時,該第n批文件列表中附帶完成標識

步驟S24,oBke模塊接收第n批文件列表,并將該第n批文件列表存儲,并將該任務的狀態(tài)設置成“已完成”,并預備同步這些文件;

第三階段

oScan模塊處理完成,將該任務從隊列中刪除,并清理占用的內(nèi)存。

此外,圖5示出了oScan模塊處理oBke模塊的任務的流程圖,具體流程如下:

步驟51,oScan模塊開始處理掃描任務;

步驟52,oScan模塊查看是否有空閑的工作線程,若沒有,返回步驟S51,若有,則執(zhí)行步驟S51;

步驟53,oScan模塊從本地pending隊列中取出一個任務,選出一個空閑的工作線程,將該任務掛載到該線程中,同時,從本地pending隊列中取出一個任務,選出一個空閑線程,并掛載到該空閑線程中,同時設置該線程狀態(tài)為busy(忙碌的)。

根據(jù)本發(fā)明的實施例,還提供了一種掃描文件的系統(tǒng)。

如圖6所示,根據(jù)本發(fā)明實施例的掃描文件的系統(tǒng)包括:

獲取模塊61,用于獲取預先設置的備份規(guī)則;

掃描發(fā)送模塊62,用于根據(jù)備份規(guī)則,掃描出需備份的文件,并且將需備份的文件列表發(fā)送;

備份模塊63,用于接收文件列表,并將需備份的文件進行備份。

根據(jù)本發(fā)明的一個實施例,掃描發(fā)送模塊62包括:

添加模塊(未示出),用于根據(jù)備份規(guī)則,生成掃描任務,并將掃描任務添加到工作線程中;

掃描模塊(未示出),用于根據(jù)掃描任務,工作線程對目錄進行掃描,并處理目錄對應的目錄項。

根據(jù)本發(fā)明的一個實施例,文件列表包括:文件信息、目錄信息。

根據(jù)本發(fā)明的一個實施例,掃描模塊包括:

文件掃描模塊(未示出),用于在目錄項為文件的情況下,工作線程將需備份的文件對應的目錄項中的文件信息發(fā)送至對應的控制模塊;

目錄掃描模塊(未示出),用于在目錄項為目錄的情況下,工作線程將掃描任務進行分配給掃描進程,并且將掃描任務添加到掃描隊列的隊首,以及將需備份的文件對應的目錄項中的目錄信息發(fā)送至對應的控制模塊。

綜上所述,借助于本發(fā)明的上述技術方案,通過獲取預先設置的備份規(guī)則,隨后根據(jù)備份規(guī)則,掃描出需備份的文件,并且將需備份的文件列表發(fā)送,最后接收文件列表,并將需備份的文件進行備份,從而能夠將生產(chǎn)系統(tǒng)中的文件正確高效地傳輸?shù)诫x線系統(tǒng)中。同時,在每批次接收文件列表成功后,控制模塊反饋Ack信息,避免了文件傳輸錯誤或傳輸失敗等情況。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
白山市| 孝义市| 博罗县| 义马市| 田林县| 顺昌县| 台北县| 阿城市| 合川市| 乌兰察布市| 临西县| 桂平市| 嘉荫县| 文化| 旌德县| 舒城县| 黄平县| 乌拉特前旗| 阳东县| 哈密市| 新营市| 苏尼特右旗| 财经| 武宣县| 湖北省| 宁阳县| 木里| 金昌市| 东乡族自治县| 邢台市| 华池县| 蒙自县| 宾阳县| 嘉兴市| 广东省| 九江市| 定襄县| 马公市| 康平县| 昭觉县| 南安市|