中文字幕无码日韩视频无码三区

一種數據同步方法及裝置的制造方法

文檔序號:9618748閱讀:972來源:國知局(ju)
一種數據同步方法及裝置的制造方法
【技術領域】
[0001] 本發明屬于計算機技術領域,尤其涉及一種數據同步方法及裝置。
【背景技術】
[0002] 云存儲是在云計算概念上延伸和衍生發展出來的一個新的技術,通過云存儲,使 用者可以在任何時間、任何地方,透過任何可連網的裝置連接到云上方便地存儲數據。在云 存儲技術之中,云盤作為存儲工具,通過互聯網為企業和個人提供信息的儲存,讀取,下載 等服務,具有安全穩定、海量存儲的特點。
[0003] 目前,大多數的云盤已經具備數據自動備份的功能,會定期對本地存儲空間進行 全盤掃描,逐一掃描各個文件夾下的所有文件數據,以確定是否存在尚未同步的文件。然 而,隨著存儲技術的發展,本地存儲空間越來越大,全盤掃描的方式導致數據同步過程耗時 過長,降低了數據備份效率。

【發明內容】

[0004] 本發明實施例的目的在于提供一種數據同步方法,解決現有的數據同步過程耗時 過長,導致數據備份效率低的問題。
[0005] 本發明實施例是這樣實現的,一種數據同步方法,包括:
[0006] 步驟1 :創建第一列表,所述第一列表中記錄了已同步的文件夾;
[0007] 步驟2 :對需要同步的文件夾進行逐層掃描;
[0008] 步驟3 :判斷當前掃描到的文件夾是否被記錄在所述第一列表中;
[0009] 步驟4 :若所述當前掃描到的文件夾被記錄在所述第一列表中,同步該文件夾下 一級目錄中的文件,繼續掃描該文件夾下一級目錄中的文件夾,并返回執行步驟3 ;
[0010] 若所述當前掃描到的文件夾不被記錄在所述第一列表中,停止對該文件夾的逐層 掃描,并備份該文件夾下的所有數據。
[0011] 本發明實施例的另一目的在于提供一種數據同步裝置,包括:
[0012] 第一創建單元,用于創建第一列表,所述第一列表中記錄了已同步的文件夾;
[0013] 掃描單元,用于對需要同步的文件夾進行逐層掃描;
[0014] 判斷單元,用于判斷當前掃描到的文件夾是否被記錄在所述第一列表中;
[0015] 同步處理單元,用于若所述當前掃描到的文件夾被記錄在所述第一列表中,同步 該文件夾下一級目錄中的文件,繼續掃描該文件夾下一級目錄中的文件夾,并返回執行所 述判斷單元;若所述當前掃描到的文件夾不被記錄在所述第一列表中,停止對該文件夾的 逐層掃描,并備份該文件夾下的所有數據。
[0016] 本發明實施例將數據同步中的磁盤掃描過程進行了簡化,對尚未進行同步的文件 夾實現了快速識別,從而減少了數據同步的總耗時,提高了數據備份效率。
【附圖說明】
[0017] 圖1是本發明實施例提供的數據同步方法的實現流程圖;
[0018] 圖2是本發明另一實施例提供的數據同步方法的實現流程圖;
[0019] 圖3是本發明實施例提供的數據同步裝置的結構框圖。
【具體實施方式】
[0020] 為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。
[0021] 本發明實施例將數據同步中的磁盤掃描過程進行了簡化,對尚未進行同步的文件 夾實現了快速識別,從而加速了數據同步過程,提高了數據同步效率。本發明實施例可以適 用于數據的本地備份,例如,將本地磁盤A中的數據同步至本地磁盤B,又例如,將本地磁盤 中的數據同步至外設存儲設備;本發明實施例也可以適用于數據的遠程備份,例如,將本地 磁盤的磁盤中的數據同步至云服務器中,實現數據的云存儲。
[0022] 圖1示出了本發明實施例提供的數據同步方法的實現流程,詳述如下:
[0023] 在S101中,創建第一列表,所述第一列表中記錄了已同步的文件夾。
[0024] 在本實施例中,第一列表用于記錄截止至上一次數據同步結束時,磁盤中已完成 了同步的文件夾。具體地,在第一列表中,每一個文件夾之間是通過各自的存儲路徑來進行 區分的。例如,第一列表的表結構可以如表1所示,已同步的文件夾對應的存儲路徑依序被 記錄在第一列表中。
[0027] 在S102中,對需要同步的文件夾進行逐層掃描。
[0028] 從S102開始,執行新一次的數據同步過程,首先檢測當前需要進行同步的文件 夾,該需要進行同步的文件夾可以為磁盤的根目錄,也可以為磁盤根目錄之下的任一級目 錄中的某個指定文件夾。數據同步的過程采用逐層掃描的方式,即,先掃描需要同步的文件 夾,然后從該文件夾的第一級目錄開始掃描,掃描完畢之后掃描該文件夾的第二級目錄、第 三級目錄……以此類推,直到掃描完該文件夾的最后一層目錄。
[0029] 上述逐層掃描過程可以采用文件夾與文件分開掃描的方式,包括以下兩種情況:
[0030] 1、在同一級目錄的掃描過程中,先掃描該目錄下的所有子文件夾,完成該目錄下 所有子文件夾的數據同步,再掃描該目錄下的所有文件,完成該目錄下所有文件的數據同 步,之后,再啟動下一級目錄的掃描過程;
[0031] 2、先依次掃描每一級目錄中的文件夾,完成所有子文件夾的數據同步過程,再依 次掃描每一級目錄中的文件,完成所有文件的數據同步過程。
[0032] 在S103中,判斷當前掃描到的文件夾是否被記錄在所述第一列表中。
[0033] 在本實施例中,執行文件夾的掃描過程時,針對當前掃描到的文件夾,通過匹配存 儲路徑,判斷該文件夾是否已被記錄在第一列表中。
[0034] 在S104中,若所述當前掃描到的文件夾被記錄在所述第一列表中,同步該文件夾 下一級目錄中的文件,繼續掃描該文件夾下一級目錄中的文件夾,并返回執行S103。
[0035] 若判斷出當前掃描到的文件夾已被記錄在第一列表中,則表明該文件夾此前已經 經歷過一次數據同步過程,通常說來,在上一次數據同步結束后到此次數據同步開始之前, 該文件夾下的數據存在著被修改、添加或者刪除的可能,那么繼續對該文件夾的下一級目 錄進行掃描,進一步確定該文件夾下是否存在需要同步的數據。
[0036] 其中,對于該文件夾下一級目錄中的文件夾,即該文件夾的子文件夾,繼續按照 S103的方法,判斷被掃描到的子文件夾是否被記錄在第一列表中,而對于該文件夾下一級 目錄中的文件,則需要通過比對之前的同步記錄,對這部分文件進行數據同步,對文件的同 步方法將在后續實施例中進行詳細闡述,在此不再贅述。
[0037] 在S105中,若所述當前掃描到的文件夾不被記錄在所述第一列表中,停止對該文 件夾的逐層掃描,并備份該文件夾下的所有數據。
[0038] 若判斷出當前掃描到的文件夾不被記錄在第一列表中,則表明該文件夾是在上一 次數據同步結束后新創建的文件夾,那么,該文件夾下的所有數據(包括子文件夾和文件) 均是在上一次數據同步結束后新添加的,此時,不再繼續對該文件夾執行逐層掃描,而是直 接對該文件夾及其之下的所有數據進行備份處理。
[0039] 通過圖1所示實施例,在整個數據同步的掃描過程之中,對于新添加的文件夾,直 接同步該文件夾下的所有數據,而無需再對該文件夾下的數據進行逐一掃描,由此省去了 對這部分新添加文件夾的掃描,在數據掃描時間上大大地縮短了,由此提高了整個數據備 份過程的效率。
[0040] 作為本發明的一個實施例,在S102對需要同步的文件夾進行逐層掃描時,對該文 件夾下的文件的同步處理如下:
[0041] 首先,需要創建第二列表,所述第二列表中記錄了已同步的文件及其特征值。
[0042] 在S102對需要同步的文件夾進行逐層掃描之前,創建用于記錄已同步的文件及 其特征值的第二列表。該第二列表用于記錄截止至上一次數據同步結束時,磁盤中已完成 了同步的文件。具體地,在第二列表中,每一個文件是通過各自的存儲路徑及文件名來進行 區分的,同時,還通過存儲上一次數據同步時每個文件的特征值,用于在下一次數據同步時 判別該文件是否發生了更新。所述特征值可以包括以下至少一項:
[0043] 文件的大小和文件的修改時間。
[0044] 根據文件的大小和/或文件的修改時間,可以判斷出同一個文件在上一次數據同 步之后是否發生了數據變化。此外,也可以通過將文件名、文件的存儲路徑、文件的大小以 及文件的修改時間,以上參數中的一個或者多個進行MD5 (Message Digest Algorithm)計 算,從而得出文件唯一對應的特征值。第二列表的表結構可以如表2所示。
[0045] 表 2
[0046]
[0047] 則S104中所述的同步該文件夾下一級目錄中的文件如圖2所示:
[0048] S106,掃描所述該文件夾下一級目錄中的文件。
[0049] S107,判斷當前掃描到的文件是否被記錄在所述第二列表中。
[0050] 在本實施例中,執行文件的掃描過程時,針對當前掃描到的文件,通過匹配文件名 及存儲路徑,判斷該文件是否已被記錄在第二列表中。
[0051] S108,若所述當前掃描到的文件不被記錄在所述第二列表中,備份該文件。
[0052] 若判斷出當前掃描到的文件不被記錄在第二列表中,則表明該文件是在上一次數 據同步結束后新添加的文件,此時,直接對該文件進行備份處理。
[0053] S109,若所述當前掃描到的文件已被記錄在所述第二列表中,判斷該文件當前的 特征值與記錄在所述第二列表中的該文件的特征值是否相同。
[0054] S110,若該文件當前的特征值與記錄在所述第二列表中的
當前第1頁1 2 
網友詢問留言(yan) 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1