[發明專利]一種實現軟件內外目錄同步的方法和系統有效
| 申請號: | 201010591866.6 | 申請日: | 2010-12-09 |
| 公開(公告)號: | CN102567341A | 公開(公告)日: | 2012-07-11 |
| 發明(設計)人: | 黃淵;黃飛躍;傅斌;楊洋;王建宇 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京派特恩知識產權代理事務所(普通合伙) 11270 | 代理人: | 蔣雅潔;程立民 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 軟件 內外 目錄 同步 方法 系統 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種實現軟件內外目錄同步的方法和系統。
背景技術
為實現對計算機上圖片的方便快捷處理,目前開發出了很多圖像處理工具,如:可牛看圖、Picasa等等。可牛看圖是一款簡單易用的圖片瀏覽軟件,能夠提供豐富多樣的圖片瀏覽方式、批量圖片上傳等功能。Picasa是一款可以幫助用戶在計算機上立即找到、修改和共享所有圖片的軟件。用戶每次打開Picasa時,軟件都會自動查找所有圖片(甚至是那些用戶已經遺忘的圖片),并將查找的圖片按日期順序放在可見的相冊中,同時以用戶易于識別的名稱命名文件夾;用戶可以通過拖放操作來排列相冊,還可以添加標簽來創建新組。
上述圖像處理工具的顯示界面如圖1所示,通常由文件夾樹和通鋪組成,界面的左半部分以樹狀結構展示的所有文件夾即稱為文件夾樹;界面的右半部分平鋪展示的選定文件夾(圖中為C盤)及其所有子文件夾內的圖片即稱為通鋪。
當計算機中的文件發生改變(增加、修改或刪除)時,圖像處理工具的軟件內外目錄需要實現同步,即文件在軟件外部(如Windows資源管理器中)發生改變(增加、修改或刪除)時,軟件內部需要及時捕獲并響應這一改變,這種響應在所述軟件中表現為文件夾樹和通鋪中的內容的及時更新。
目前,可牛看圖采用輪詢機制來進行軟件內外目錄的同步,即系統循環訪問每一個文件夾,判斷其中的文件是否有增加、修改或刪除操作,如果有,則同步到軟件視圖中。其缺點是:該輪詢機制會持久、大量占用系統資源;同步緩慢,當外部文件夾中的文件發生修改時,只有當輪詢到該文件夾時才會被同步,同步并不是實時的。
Picasa采用實時監控的方式來監視文件夾,每當發生文件的增加、修改或刪除操作,windows應用程序接口(API,Application?Programming?Interface)會通知Picasa進行同步。其缺點是:每次啟動軟件時,都會消耗大量資源進行掃描(即遍歷文件夾下的所有文件);Picasa關閉時文件夾內發生的修改是無法監控的,其必須在啟動時通過掃描來同步這些修改,這會消耗大量的系統資源,并減慢軟件啟動速度。
發明內容
有鑒于此,本發明的主要目的在于提供一種實現軟件內外目錄同步的方法和系統,以實現軟件內外目錄的快速同步,并節省系統資源。
為達到上述目的,本發明的技術方案是這樣實現的:
本發明提供了一種實現軟件內外目錄同步的方法,該方法包括:
在計算機啟動軟件時,開啟一個輪詢線程和至少一個實時監控線程;
所述輪詢線程按照預定的掃描速度對待掃描文件夾列表中的文件夾進行掃描,當發現掃描的文件夾與軟件內部文件夾中的數據存在差異時,對所述軟件內部文件夾中的數據進行更新;所述輪詢線程掃描過的文件夾被添加到已訪問文件夾列表中;
所述實時監控線程對計算機的磁盤進行實時監控,在獲取到文件修改信息時,通知所述輪詢線程對發生修改的文件夾進行掃描,并在發現掃描的文件夾與軟件內部文件夾中的數據存在差異時,對所述軟件內部文件夾中的數據進行更新。
該方法進一步包括:
在計算機啟動軟件時,遍歷所述計算機的所有磁盤分區,并為每個磁盤分區開啟一個實時監控線程進行監控。
所述待掃描文件夾列表中包括:所述軟件的文件夾樹中被選中的文件夾及其子文件夾和對應通鋪中的文件夾。
該方法進一步包括:
所述輪詢線程對待掃描文件夾列表中的文件夾進行掃描之前,判斷待掃描的文件夾是否存在于所述已訪問文件夾列表中,如果存在,則不做掃描;如果不存在,則進行掃描。
所述實時監控線程對計算機的磁盤進行實時監控,在獲取到文件修改信息時,通知所述輪詢線程對發生修改的文件夾進行掃描,具體包括以下操作:
步驟a、所述實時監控線程收到一條文件修改信息;
步驟b、嘗試接收所述文件修改信息,并啟動計時器;
步驟c、判斷所述計時器超時前是否收到新的文件修改信息,如果收到,執行步驟d;否則,執行步驟e;
步驟d、判斷所述新的文件修改信息與前一次接收的文件修改信息是否對應同一文件夾,如果是,執行步驟;否則,執行步驟e;
步驟e、通知所述輪詢線程對發生修改的文件夾進行掃描;
步驟f、重置計時器并返回步驟b。
本發明還提供了一種實現軟件內外目錄同步的系統,該系統包括:
線程開啟模塊,用于在計算機啟動軟件時,開啟一個輪詢線程和至少一個實時監控線程;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010591866.6/2.html,轉載請聲明來源鉆瓜專利網。





