TW201629797A - 用來進行檔案同步控制之方法與裝置 - Google Patents
用來進行檔案同步控制之方法與裝置 Download PDFInfo
- Publication number
- TW201629797A TW201629797A TW104103448A TW104103448A TW201629797A TW 201629797 A TW201629797 A TW 201629797A TW 104103448 A TW104103448 A TW 104103448A TW 104103448 A TW104103448 A TW 104103448A TW 201629797 A TW201629797 A TW 201629797A
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- electronic device
- files
- server
- user
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6236—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
- Telephonic Communication Services (AREA)
Abstract
本發明提供一種用來進行檔案同步控制之方法與裝置。該方法包含有:產生且儲存複數個檔案之元資料於該電子裝置中之一儲存模組,其中該複數個檔案之檔案內容係儲存於至少一伺服器,該電子裝置與該至少一伺服器透過至少一網路彼此溝通,以及該些元資料包含分別對應於該複數個檔案之存取規則以分別指出該電子裝置之一使用者是否有權限對該複數個檔案進行檔案操作;以及依據該些元資料,控制該電子裝置與該至少一伺服器之間的檔案同步,以更新該電子裝置中之一同步檔案集合。
Description
本發明係有關於檔案同步技術,尤指一種用來進行檔案同步控制之方法與裝置。
依據相關技術,一傳統的同步架構對於檔案存取控制權限(File Access Control Permission)的支援度通常是不足的。尤其是,在專門針對企業用戶開發之傳統的同步軟體中,僅可粗略地針對某一目錄(Directory)或資料夾(Folder)之整體的檔案存取控制權限進行同步,使此檔案存取控制權限可在數個同步端點之間被傳輸與同步。然而,該傳統的同步架構無法正確地根據客戶端(Client Side)或使用者實際擁有的檔案存取權限(File Access Permission)進行讀取(或下載)、建立(Create)、修改(Modify)...等檔案操作。
更具體而言,在使用者較多且同步規模較大之一企業用戶使用情境(諸如使用者的總數達百人以上、且可能被同步之檔案的總數達十萬以上的使用情境)中,若存在某個同步掛載點、且這個同步掛載點之子資料夾(Sub-folder)及其內的檔案有針對不同使用者設定之不同的檔案存取權限,則會出現某些問題。例如:該傳統的同步架構並不會遵循這些子資料夾內之檔案的檔案存取權限,若一使用者具有該些子資料夾的下載權限,這會導致該使用者均可下載、建立、以及修改該子資料夾下之所有檔案。於是,系統管理者就無法在不產生副作用的狀況下輕鬆地管理整個系統,其中若系統管理者期望此同步掛載點被同步至每一使用者之裝置上,則該傳統的同步架構
會錯誤地將過多或額外的權限賦予一些使用者。
由以上可知,該傳統的同步架構無法在沒有副作用的狀況下提供適當的同步服務予使用者。如此,需要一種新穎的方法以提昇檔案同步控制系統之效能。
本發明之目的在於提供一種用來進行檔案同步控制之方法與裝置,以解決上述問題。
本發明之至少一較佳實施例中提供一種用來進行檔案同步控制之方法,其中該方法係應用於一電子裝置。該方法包含有下列步驟:自一伺服器接收複數個檔案之元資料(Metadata),並且將該些元資料儲存於該電子裝置中之一儲存模組,其中該複數個檔案之檔案內容(File Content)係儲存於該伺服器,而該電子裝置與該伺服器透過至少一網路彼此溝通,以及該些元資料包含分別對應於該複數個檔案之存取規則(Access Rule)以分別指出該電子裝置之一使用者是否有權限對該複數個檔案進行檔案操作;以及依據該些元資料,控制該電子裝置與該伺服器之間的檔案同步,以更新該電子裝置中之一同步檔案集合(Synchronization File Set)。
本發明於提供上述方法之同時,亦對應地提供一種計算機程式產品,其中該計算機程式產品包含程式碼以指示至少一處理器進行上述之方法,以及該電子裝置包含上述之至少一處理器。
本發明之至少一較佳實施例中提供一種用來進行檔案同步控制之方法,其中此方法係應用於一伺服器,且此方法包含有下列步驟:自該伺服器傳送複數個檔案之元資料至一電子裝置,以容許該電子裝置將該些元資料儲存於該電子裝置中之一儲存模組,其中該複數個檔案之檔案內容係儲存於該伺服器,而該電子裝置與該伺服器透過至少一網路彼此溝通,以及該些元資料包含分別對應於該複數個檔案之存取規則以分別指出該電子裝置之一使
用者是否有權限對該複數個檔案進行檔案操作;以及依據該些元資料,利用該電子裝置控制該電子裝置與該伺服器之間的檔案同步,以更新該電子裝置中之一同步檔案集合。
本發明於提供上述方法之同時,亦對應地提供一種用來進行檔案同步控制之裝置,其中該裝置包含一伺服器之至少一部分。該裝置包含有:一網路介面電路,設置於該伺服器;以及一處理電路,耦接至該介面電路且設置於該伺服器。該網路介面電路係用來透過至少一網路提供一存取(Access)服務予一電子裝置,其中複數個檔案之檔案內容係儲存於該伺服器,而該電子裝置與該伺服器透過該至少一網路彼此溝通。另外,該處理電路係用來自該伺服器傳送該複數個檔案之元資料(Metadata)至該電子裝置,以容許該電子裝置將該些元資料儲存於該電子裝置中之一儲存模組,其中該些元資料包含分別對應於該複數個檔案之存取規則以分別指出該電子裝置之一使用者是否有權限對該複數個檔案進行檔案操作。此外,該處理電路依據該些元資料利用該電子裝置控制該電子裝置與該伺服器之間的檔案同步,以更新該電子裝置中之一同步檔案集合。
本發明的好處之一是,藉助於本發明之實施例所示之方法與裝置,系統管理者可正確地將子資料夾下之具有複雜的檔案存取權限之檔案同步至各個同步客戶端,而不必擔心使用者對該檔案做出超越其檔案存取權限之檔案操作。另外,本發明之實施例所示之方法與裝置可提供相容於主從式同步系統的架構,並且可跨平台地實現於現有產品的同步架構中。此外,本發明之實施例所示之方法與裝置可在使用者權限更動或群組變動之後維持同步檔案之正確性,並可透過對同步流程的謹慎設計,降低伺服端在使用者群組變動時所需的運算及檔案系統讀取次數。
100‧‧‧用來進行檔案同步控制之裝置
110‧‧‧處理電路
110B‧‧‧程式碼
120‧‧‧網路介面電路
200,700‧‧‧用來進行檔案同步控制之方法
210‧‧‧接收且儲存元資料之步驟
220‧‧‧更新同步檔案集合之步驟
312‧‧‧檢查遠端檔案系統改變之步驟
314‧‧‧套用最新的存取規則之步驟
316‧‧‧計算同步權限之步驟
318‧‧‧建立或刪除之步驟
322‧‧‧改變檔案存取規則之步驟
324‧‧‧推送步驟
326‧‧‧通知步驟
412‧‧‧進行檔案操作之步驟
414‧‧‧接收通知之步驟
416‧‧‧回復步驟
422‧‧‧撤銷存取權限之步驟
424‧‧‧檢查同步權限之步驟
426‧‧‧回絕檔案操作之步驟
512‧‧‧檢查遠端檔案系統改變之步驟
514‧‧‧套用步驟
516‧‧‧掃描步驟
518‧‧‧依據權限進行運作之步驟
522‧‧‧改變存取角色之步驟
524‧‧‧通知步驟
600‧‧‧檔案存取權限控制流程
612‧‧‧檢查是否所有的祖系體可被通過之步驟
614‧‧‧判定沒有同步權限之步驟
622‧‧‧檢查是否本身可被移除之步驟
624‧‧‧檢查是否父目錄可被寫入之步驟
626‧‧‧檢查是否本身可被寫入之步驟
628‧‧‧檢查是否本身可被讀取之步驟
632,634,636,638‧‧‧產生檢查結果之步驟
710‧‧‧傳送元資料之步驟
720‧‧‧更新同步檔案集合之步驟
NAS_1,NAS_2,NAS_3‧‧‧網路附加儲存
User_A,User_B,User_C‧‧‧可攜式電子裝置
第1圖為依據本發明一實施例之一種用來進行檔案同步控制之裝置的示意圖。
第2圖為依據本發明一實施例之一種用來進行檔案同步控制之方法的流程圖。
第3圖繪示第2圖所示之方法於一實施例中所涉及之一同步控制方案。
第4圖繪示第2圖所示之方法於一實施例中所涉及之一「檔案存取權限變更」處理流程。
第5圖繪示第2圖所示之方法於一實施例中所涉及之一「客戶端檔案操作權限不足」處理流程。
第6圖繪示第2圖所示之方法於一實施例中所涉及之一「使用者群組權限變更」處理流程。
第7圖繪示第2圖所示之方法於一實施例中所涉及之一檔案同步權限控制流程,其中該檔案同步權限控制流程控制作業系統之檔案存取規則以及預先定義之四種同步權限之間的對應關係。
第8圖為依據本發明另一實施例之一種用來進行檔案同步控制之方法的流程圖。
第1圖為依據本發明一實施例之一種用來進行檔案同步控制之裝置100的示意圖,其中裝置100可包含一電子裝置之至少一部分(例如一部分或全部)。例如:裝置100可為該電子裝置中之電路系統。又例如:裝置100可為該電子裝置之整體。又例如:裝置100可為包含該電子裝置之一檔案同步控制系統,而該檔案同步控制系統可包含至少一伺服器(例如一個或多個伺服器)。該電子裝置的例子可包含(但不限於):多功能行動電話(Multifunctional Mobile Phone)、平板電腦(Tablet)、以及個人電腦(Personal Computer)諸如桌上型電腦(Desktop Computer)或膝上型電腦(Laptop
Computer)。這只是為了說明的目的而已,並非對本發明之限制。依據某些實施例,該電子裝置的例子可包含一伺服器,諸如上述之至少一伺服器中之一者。
如第1圖所示,裝置100包含一處理電路110與一網路介面電路120,而處理電路110與網路介面電路120係彼此耦接,其中處理電路110與網路介面電路120均設置於該電子裝置。依據本實施例,網路介面電路120係用來提供一網路服務予裝置100,以維持該電子裝置之運作。尤其是,網路介面電路120可用來透過至少一網路存取(Access)上述之至少一伺服器。另外,處理電路110可包含至少一處理器以執行程式碼110B,並且執行程式碼110B之處理電路110係用來控制該電子裝置之運作,以基於該網路服務進行固定網址存取管理。尤其是,處理電路110包含一檔案暨存取規則同步控制模組(未顯示於第1圖),用來進行檔案同步控制。例如:該檔案暨存取規則同步控制模組可為程式碼110B中之至少一程式模組,諸如至少一軟體模組,其中程式碼110B可代表執行於上述至少一電子裝置的程式。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,程式碼110B可內嵌於處理電路110,並且該檔案暨存取規則同步控制模組可為一硬體電路,諸如處理電路110之至少一部分(例如一部分或全部)。
第2圖為依據本發明一實施例之一種用來進行檔案同步控制之方法200的流程圖。該方法可應用於第1圖所示之裝置100,尤其是上述之處理電路110,諸如透過上述至少一處理器執行上述程式碼110B之處理電路110。例如:藉由利用一計算機程式產品,諸如儲存有程式碼110B(尤其是其安裝版本)之光碟片,該電子裝置的使用者或該檔案同步控制系統之系統管理人員可將程式碼110B安裝於裝置100,其中該計算機程式產品包含程式碼110B(尤其是其安裝版本)以指示上述至少一處理器進行第2圖所示之方法200。於是,本實施例之處理電路110(尤其是該檔案暨存取規則同步控制模組)可控制該電子裝置之運作,以基於該網路服務進行第2圖所示之方法
200。這只是為了說明的目的而已,並非對本發明之限制。方法200說明如下:於步驟210中,處理電路110自一伺服器(諸如上述之至少一伺服器中之一者)接收複數個檔案之元資料(Metadata),並且將該些元資料儲存於該電子裝置中之一儲存模組,其中該複數個檔案之檔案內容(File Content)係儲存於該伺服器,而該電子裝置與該伺服器透過上述之至少一網路彼此溝通。例如:該些元資料可被儲存於該儲存模組中之同一個檔案。又例如:該些元資料可被儲存於該儲存模組中之多個檔案。又例如:該些元資料可被儲存於該儲存模組中之一資料庫。
實作上,該些元資料可包含分別對應於該複數個檔案之存取規則(Access Rule),以分別指出該電子裝置的使用者是否有權限對該複數個檔案進行檔案操作,諸如讀取(或下載)檔案、建立(Create)檔案、修改檔案、刪除檔案...等。
於步驟220中,處理電路110依據該些元資料控制該電子裝置與該伺服器之間的檔案同步,以更新該電子裝置中之一同步檔案集合(Synchronization File Set)。於一實施例中,該同步檔案集合中之檔案對應於該複數個檔案中之一部分檔案。例如:該同步檔案集合中之該些檔案對應於該複數個檔案中之該部分檔案,而非該複數個檔案中之全部檔案。尤其是,該同步檔案集合中之該些檔案之檔案內容分別等同於該複數個檔案中之該部分檔案之檔案內容,而非該複數個檔案中之全部檔案之檔案內容。
請注意,該電子裝置與該伺服器之間的檔案同步關係可視為一客戶-伺服關係(Client-Server Relationship)。該電子裝置可視為該客戶-伺服關係中之同步客戶端(Synchronization Client Side),而該伺服器可視為該客戶-伺服關係中之同步伺服端(Synchronization Server Side)。為了簡明起見,於以下說明中,同步客戶端可簡稱為客戶端(Client Side),而同步伺服端可簡稱為伺服端(Server Side)。
基於第2圖所示之方法200,伺服端中之該複數個檔案的總數可
予以變化,並且客戶端中之該同步檔案集合中之檔案的總數可予以變化。一般狀況下,該同步檔案集合中之檔案的總數小於或等於該複數個檔案的總數,其中本發明的實施均不受阻礙。
依據某些實施例,該電子裝置(尤其是處理電路110)可週期性地詢問該伺服器是否該複數個檔案中之任一檔案之存取規則被改變,其中在該複數個檔案中之該檔案之存取規則被改變的狀況下,依據該些存取規則中之至少一改變,處理電路110可更新該些元資料。例如:該電子裝置(尤其是處理電路110)可進行輪詢(Polling)運作,而該些輪詢運作可包含:每隔一段時間就自動送出一個請求(Request)給該伺服器,以獲取最新的資料,諸如該些存取規則之最新版本。於是,當該複數個檔案中之該檔案之存取規則被改變時,該伺服器可將該些存取規則中之上述至少一改變通知該電子裝置。這只是為了說明的目的而已,並非對本發明之限制。實作上,在該伺服器之該檔案的存取規則被改變的狀況下,該伺服器可利用其所在之作業系統所提供之系統呼叫(System Call),即時地取得該檔案修改後的存取規則,諸如一使用者群組對該檔案之檔案存取權限及目錄存取權限之資訊。相似地,在該電子裝置之任一檔案的存取規則被改變的狀況下,該電子裝置亦可利用其所在之作業系統所提供之系統呼叫,取得該檔案修改後的存取規則。
依據某些實施例,該電子裝置(尤其是處理電路110)可進行長時間輪詢(Long-Polling)運作,其中該電子裝置(尤其是處理電路110)仍然可週期性地詢問該伺服器是否該複數個檔案中之任一檔案之存取規則被改變,但是該些長時間輪詢運作之週期可以遠大於該些輪詢運作之週期。該伺服器在接收到該電子裝置所送出一請求之後,可等待一段時間,而不立即回應該電子裝置。若在這段時間裡面該伺服器有新的資料,諸如該些存取規則之最新版本(亦即,上述至少一改變存在),則該伺服器可把該新的存取規則傳回給該電子裝置;否則,該伺服器可傳送一回應給該電子裝置,以告知該電子裝置目前該些存取規則並沒有更新。如此,當該複數個檔案中之該檔案
之存取規則被改變時,該伺服器可將該些存取規則中之上述至少一改變通知該電子裝置。然後,依據該些存取規則中之上述至少一改變,處理電路110可更新該些元資料。例如:依據該些存取規則中之上述至少一改變,處理電路110可更新該些元資料,以於該同步檔案集合中新增或刪除至少一檔案,其中上述之至少一檔案係為由該伺服器同步(Synchronized)至該電子裝置之至少一同步檔案(Synchronization File)。於是,處理電路110可更新該些元資料,以改變該同步檔案集合中之檔案數。
依據某些實施例,當該電子裝置送出一請求、且該請求係用來對該複數個檔案中之該部分檔案中之一特定檔案進行一檔案操作時,該伺服器可檢查該使用者是否有對該特定檔案進行該檔案操作之權限。當偵測到該使用者沒有對該特定檔案進行該檔案操作之權限時,該伺服器可拒絕該檔案操作。另外,依據該特定檔案,處理電路110可對該電子裝置進行一回復(Rollback)運作,以復原該同步檔案集合當中對應於該特定檔案之一檔案。該回復運作之實施細節為同業所熟知,故不在此重複贅述。請注意,該請求可視為用來將該電子裝置上的檔案操作之變動(例如:該使用者修改該同步檔案集合當中對應於該特定檔案之該檔案)同步至該伺服器的請求。
依據某些實施例,該電子裝置(尤其是處理電路110)可週期性地詢問該伺服器是否該使用者之權限被改變,當該使用者的權限被改變時,該伺服器可將該使用者的權限之至少一改變通知該電子裝置。例如:該使用者的權限的改變可為使用者群組的變更所致,其中使用者可以原本屬於一使用者群組、且之後可變成屬於另一使用者群組,使得該使用者的權限被改變。另外,依據該使用者的權限之上述至少一改變,處理電路110可更新該些元資料。例如:依據該使用者的權限之上述至少一改變,處理電路110可更新該些元資料,並依據更新後之該些元資料於該同步檔案集合中新增或刪除至少一檔案。
於某些實施例中,依據該複數個檔案中之至少一檔案(例如:一
個或多個檔案)在一作業系統(Operating System)中之屬性(Attribute),該伺服器(尤其是其內的處理電路)可針對該複數個檔案中之一特定檔案進行複數個檢查運作中之至少一檢查運作,以產生至少一檢查結果。另外,依據上述之至少一檢查結果,該伺服器(尤其是其內的處理電路)決定該特定檔案之元資料,以供進行該特定檔案之檔案同步控制。例如:該特定檔案不是目錄(Directory)、也不是資料夾(Folder)。其中,若某一(些)檔案沒有經過設置存取權限,則該(些)檔案可繼承其所在之資料夾的存取權限、或可被設定成具備某一(些)預設的存取權限。請注意,該複數個檢查運作的例子可包含(但不限於):基於該特定檔案中之該些屬性之邏輯判斷。上述之至少一檢查結果係指出該特定檔案的同步權限,其中該至少一檢查結果的例子可包含(但不限於):該特定檔案是否「可移除(Removable)」、該特定檔案是否「可建立(Creatable)且可移除」、該特定檔案是否「可修改(Modifiable)且可下載(Downloadable)」、以及該特定檔案是否「可下載」。實作上,該至少一檔案之屬性可包含(但不限於)該至少一檔案的存取權限、附檔名、檔案大小等屬性。
在這些實施例中,該至少一檔案包含該特定檔案。例如:在該至少一檔案代表單一檔案的狀況下,該至少一檔案係為該特定檔案,且上述至少一檢查運作可依據該特定檔案之屬性來進行。又例如:在該至少一檔案代表多個檔案的狀況下,該至少一檔案可另包含該特定檔案之父(Parent)目錄,且上述至少一檢查運作可依據該特定檔案之屬性以及該父目錄之屬性來進行。又例如:在該至少一檔案代表多個檔案的狀況下,該至少一檔案可另包含該特定檔案之所有的祖系體(Ancestor),且上述至少一檢查運作可依據該特定檔案之屬性以及該些祖系體之屬性來進行,其中該父目錄可為該些祖系體之一例。實作上,上述之該父目錄與該些祖系體之屬性可分別包含(但不限於)該父目錄與該些祖系體的存取權限,而該至少一檔案之屬性可包含(但不限於)該至少一檔案的存取權限、附檔名、檔案大小等屬性。
依據某些實施例,該複數個檔案中之一特定檔案之元資料可包含該特定檔案在一作業系統中之屬性。另外,依據該特定檔案在該作業系統中之該些屬性,該伺服器(尤其是其內的處理電路)可針對該特定檔案進行複數個檢查運作(諸如前面的實施例中之該複數個檢查運作)中之至少一檢查運作,以產生至少一檢查結果,以供進行該特定檔案之檔案同步控制。例如:該些元資料可包含(但不限於)各檔案的存取權限及/或其父資料夾(或父目錄)與祖體系的存取權限。又例如:該些元資料可包含(但不限於)各檔案的附檔名、檔案大小等屬性。其中在該電子裝置每次要對檔案進行操作時,該伺服器(尤其是其內的處理電路)可進行該複數個檢查運作中之上述至少一檢查運作,以決定使用者對該特定檔案之同步權限。這只是為了說明的目的而已,並非對本發明之限制。於其它實施例中,該複數個檢查運作中之上述至少一檢查運作可由該電子裝置來進行。亦即,依據該特定檔案在該作業系統中之該些屬性,該電子裝置(尤其是其內的處理電路110)可針對該特定檔案進行該複數個檢查運作中之上述至少一檢查運作,以產生上述至少一檢查結果,以供進行該特定檔案之檔案同步控制。
第3圖繪示第2圖所示之方法200於一實施例中所涉及之一同步控制方案。依據本實施例之使用情境,該同步控制方案可保證各種不同的客戶端對所有的檔案之存取皆符合各自的檔案存取規則之規範,並可分別將這些存取規則在多個網路儲存裝置諸如網路附加儲存(Network Attached Storage,NAS)NAS_1、NAS_2、與NAS_3之間進行同步,以保證其它相關之檔案服務皆符合最新之檔案存取規則,其中網路附加儲存NAS_1、NAS_2、與NAS_3可為上述之至少一伺服器之一例,而使用者A、B、與C各自的可攜式電子裝置(Portable Electronic Device){User_A}、User_B、與User_C中之任一可攜式電子裝置(諸如多功能行動電話)可為該電子裝置之一例。
依據本實施例,網路附加儲存NAS_1、NAS_2、與NAS_3可同步多個檔案及它們的存取規則,尤其是同步該複數個檔案以及對應該複數個
檔案之存取規則。另外,不論使用者A透過任一網頁瀏覽器或桑巴(Samba;請參閱網頁:http://www.samba.org/)軟體來存取一組檔案,使用者A的可攜式電子裝置{User_A}可依據專為使用者A之對應於這組檔案之一組存取規則來存取這組檔案。此外,使用者A、B、與C可使用各自的同步客戶端(諸如使用者A、B、與C各自的可攜式電子裝置{User_A}、User_B、與User_C)分別同步一第一組檔案、一第二組檔案、與一第三組檔案,而該第一組檔案、該第二組檔案、與該第三組檔案中之任兩組檔案可以部分地(Partially)相同或完全不同,其中使用者A可使用可攜式電子裝置{User_A}中之任一者依據專為使用者A之對應於該第一組檔案之第一組存取規則來存取該第一組檔案,而使用者B可使用可攜式電子裝置User_B依據專為使用者B之對應於該第二組檔案之第二組存取規則來存取該第二組檔案,並且使用者C可使用可攜式電子裝置User_C依據專為使用者C之對應於該第三組檔案之第三組存取規則來存取該第三組檔案。其中,該第一組檔案、該第二組檔案與該第三組檔案可分別為上述之同步檔案集合之例子。此外,該第一組存取規則、該第二組存取規則、該第三組存取規則分別可為上述之該些元資料之例子。依據上述之該第一組存取規則、該第二組存取規則與該第三組存取規則,網路附加儲存NAS_1、NAS_2、與NAS_3可分別執行上述之該複數個檢查運作中之至少一檢查運作,以分別產生至少一檢查結果,並依據各該至少一檢查結果將該第一組檔案、該第二組檔案與該第三組檔案分別同步至使用者A、B、與C各自的同步客戶端。第4圖繪示第2圖所示之方法於一實施例中所涉及之一「檔案存取權限變更」處理流程,其中第4圖左上角所示之「客戶」(Client)可代表客戶端裝置諸如該電子裝置。這個處理流程可說明如下。
於步驟312中,該客戶端裝置週期性地檢查遠端檔案系統(Remote File System)之改變。此改變例如:上述之至少一伺服器中之該複數個檔案中之任一檔案之存取規則之改變。
於步驟314中,該客戶端裝置套用最新的存取規則至該電子裝置
中之資料庫及/或本地(Local)檔案系統。例如:該客戶端裝置可藉由修改該些元資料,套用最新的存取規則。
於步驟316中,該客戶端裝置計算相關檔案之同步權限。
於步驟318中,該客戶端裝置依據最新的同步權限來建立或刪除(Delete)至少一檔案(或至少一目錄)。
於步驟322中,因應某一使用者(諸如一研發團隊之主管)之控制,上述之至少一伺服器改變一檔案之存取規則。
於步驟324中,上述之至少一伺服器將檔案系統之改變推送(Push)至其內之版本資料庫(Versioning Database)。
於步驟326中,上述之至少一伺服器將最新的存取規則通知該客戶端裝置。
依據本實施例,於此使用者透過伺服端修改某一檔案之檔案存取權限之後,該客戶端裝置可根據此檔案的最新存取權限,分析出此檔案的同步權限,並依據此同步權限正確地對該同步檔案集合進行對應的檔案操作,諸如建立(Create)檔案或目錄、移除(Remove;或刪除(Delete))檔案或目錄、或修改此檔案或目錄之存取權限。
例如:若某一客戶端對此檔案原本是沒有讀取之存取權限,則客戶端之該檔案暨存取規則同步控制模組並不會在這個客戶端之檔案系統上建立此檔案之同步版本,因此,此檔案可以正確地保持不被這個客戶端之使用者看到。在某時間點之後,此檔案之檔案存取權限被修改,使得此客戶端擁有對此檔案寫入之存取權限。此後,當下次客戶端與伺服端溝通時,伺服端將回傳最新的檔案存取權限(例如:回傳此檔案之存取權限之變動)給客戶端,而客戶端在正確地接收最新的檔案存取權限之後,就將最新之檔案存取資訊寫入其內之資料庫及/或檔案系統。於是,客戶端之該檔案暨存取規則同步控制模組於分析最新的檔案存取權限之後,依據分析結果可得知此檔案的同步權限包含有可下載與可修改之同步權限。隨後,客戶端從伺服端下載此檔案,
使得此檔案之同步版本可正確出現在客戶端,並且可供使用者寫入新資訊。
承上所述,若在某時間點後,此檔案之檔案存取權限再次被修改,使此客戶端對此檔案之讀取與寫入之存取權限被撤銷(Revoke),則當下次客戶端與伺服端溝通時,客戶端接收到最新之檔案存取權限,就將最新之檔案存取資訊寫入其內之資料庫及/或檔案系統。於是,客戶端之該檔案暨存取規則同步控制模組於分析最新的檔案存取權限之後(例如:經過上述之至少一檢查運作,以產生至少一檢查結果之後),依據分析結果可得知客戶端目前對此檔案已沒有下載之同步權限,並且從客戶端之檔案系統移除此檔案之同步版本,使得整個同步檔案集合正確地根據最新的檔案存取權限被同步。
第5圖繪示第2圖所示之方法於一實施例中所涉及之一「客戶端檔案操作權限不足」處理流程,其中第5圖左上角所示之「客戶」可代表客戶端裝置諸如該電子裝置。這個處理流程係為:當客戶端進行沒有權限之檔案操作時,整個同步系統之相關處理流程。
於步驟412中,因應該客戶端裝置之使用者(諸如該研發團隊之成員)之控制,該客戶端裝置對其內之一檔案File_A’進行一檔案操作File_op,其中檔案File_A’係為檔案File_A之同步版本,而檔案File_A係位於伺服器。於是,該客戶端裝置送出一請求(Request)諸如上述者、且該請求係用來對檔案File_A進行一檔案操作File_op。
於步驟414中,該客戶端裝置接收對應於該檔案操作File_op之「操作回絕」(Operation-rejected)通知。
於步驟416中,該客戶端裝置進行一回復運作諸如上述者。於是,該客戶端裝置復原檔案File_A’。
於步驟422中,因應某位人士(諸如該研發團隊之主管)之控制,上述之至少一伺服器撤銷該使用者(或該客戶端裝置)對檔案File_A進行檔案操作File_op之存取權限。
於步驟424中,依據某一資料庫諸如上述之版本資料庫,上述之
至少一伺服器檢查該使用者(或該客戶端裝置)是否有對檔案File_A進行檔案操作File_op之同步權限。
於步驟426中,上述之至少一伺服器回絕(Reject)該檔案操作File_op,尤其是送出上述之「操作回絕」(Operation-rejected)通知。
依據本實施例,使用者先在客戶端對檔案File_A’進行檔案操作File_op,隨後,客戶端中之該檔案暨存取規則同步控制模組(諸如一同步軟體)會將此操作File_op傳送至伺服端,以期將修改套用至伺服端中之檔案File_A。然而,在此請求傳送到伺服端之後,若此客戶端之使用者對此檔案File_A之操作權限不足時,伺服端會在確認操作權限時發現權限不足之事實,並將此狀況回傳給客戶端並拒絕此請求。例如:伺服端可藉由上述之複數個檢查運作中之至少一檢查運作,以產生至少一檢查結果。另外,依據上述之至少一檢查結果,伺服端可檢查該使用者(或該客戶端裝置)是否有對檔案File_A進行檔案操作File_op之同步權限。隨後,客戶端再依據這個處理流程,做必要之回復運作。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,客戶端可選擇性地先進行一次同步權限之判斷,而不需等到伺服端回報同步權限不足之錯誤。如此,伺服端之操作負擔可被降低。另外,伺服端的同步權限之判斷仍可進行,以避免因為時間差之故造成錯誤運作。例如:在步驟412的運作被進行早於步驟422的運作被進行的狀況下(亦即,客戶端先對檔案File_A’進行檔案操作File_op、且送出該請求,然後伺服器才撤銷該使用者對檔案File_A進行檔案操作File_op之權限),若伺服端未進行同步權限之檢查,則會讓此客戶端成功進行其權限不足之操作;否則,此錯誤運作可避免。此外,為了進一步加強安全性,伺服端之同步權限之確認應為必要,以防止客戶端中之該檔案暨存取規則同步控制模組(諸如該同步軟體)及/或資料庫中所儲存之元資料遭惡意竄改。
第6圖繪示第2圖所示之方法於一實施例中所涉及之一「使用者群組權限變更」處理流程,其中第6圖左上角所示之「客戶」可代表客戶端
裝置諸如該電子裝置。這個處理流程係為客戶端之使用者群組權限變更後之相關處理流程。
於步驟512中,該客戶端裝置週期性地檢查遠端檔案系統之改變。
於步驟514中,該客戶端裝置套用最新的存取角色(Access Role)之資訊。例如:該客戶端裝置可藉由修改該些元資料,套用最新的存取角色之資訊。
於步驟516中,該客戶端裝置掃描本地資料庫,以找出有待建立或有待刪除之檔案及目錄。尤其是,該客戶端裝置可藉由分析該客戶端裝置中之資料庫之內容(例如:修改該些元資料之後所產生之最新的元資料),以找出有待建立或有待刪除之檔案及目錄,並找出有待修改存取權限之檔案及目錄。
於步驟518中,該客戶端裝置依據最新的存取權限來進行運作。
於步驟522中,因應某一使用者(諸如該研發團隊之主管)之控制,上述之至少一伺服器改變該客戶(諸如該客戶端裝置)之存取角色。
於步驟524中,上述之至少一伺服器將存取角色之改變通知該客戶端裝置。尤其是,上述之至少一伺服器將最新的存取角色之資訊傳送至該客戶端裝置。
依據第4圖所示之處理流程,在檔案的存取規則變更時,伺服端會將檔案之最新的存取規則傳回至客戶端,以進行相對應之處理。然而,在客戶端之使用者所屬的使用者群組變更時,所有客戶端上之檔案及目錄皆有可能被影響。例如:可能某個目錄及/或檔案因著一使用者離開某一群組,而變得對此使用者而言沒有下載之同步權限;又例如:可能某個檔案因此使用者加入某一新群組,而變得對此使用者而言從沒有下載之同步權限變成有下載之同步權限。在這些情況中之任一者下,基於第6圖所示之處理流程,該客戶端裝置可正確地將那些變成沒有下載之同步權限的檔案及目錄從客戶端的檔案系統中移除,也可正確地將新得到下載之同步權限的檔案及目錄下載
至客戶端。
依據一實施例,於使用者群組變更之後,依據伺服端之所有檔案及目錄的檔案存取規則及變更後之使用者群組之資訊,伺服端可重新掃描其內之整個資料庫及整個檔案系統,以分析出該客戶端之使用者對每個檔案的存取權限及/或同步權限之變更情況,並將此資訊傳回至客戶端以進行同步。然而,此舉會需要伺服端極大的硬碟讀取頻寬及大量的運算資源;這對於一主從式同步架構而言,可能會加重伺服端之負擔。因此,為了不過度地增加伺服端之負荷,第6圖所示之實施例提出不需由伺服端重新掃描之同步方法,以大幅地減少伺服器之運算及硬碟讀取頻寬之需求,並增進同步架構的穩定性。
依據第6圖所示之實施例,由於客戶端會自伺服端接收儲存於伺服端之所有檔案及目錄的檔案存取規則,並將其記錄至客戶端之資料庫內,其中上述之伺服端之所有檔案及目錄的檔案存取規則包含有該客戶端之使用者沒有存取權限的檔案之檔案存取規則。如此,當使用者的群組權限變更時,客戶端可由伺服端得知最新的使用者及其群組之資訊(亦即,步驟524中所述之存取角色之改變)。在此情形下,依據伺服端之所有檔案及目錄的檔案存取規則及更新後之使用者群組之存取權限,客戶端可重新掃描整個客戶端內之資料庫,以分析並找出有哪些檔案及目錄應該要被新建立起來的、以及找出有哪些檔案及目錄應該要從本地檔案系統中被刪除的。由於客戶端之本地資料庫擁有伺服端之所有檔案之檔案存取規則,此設計可避免伺服端重新掃描整個檔案系統,而只需於客戶端執行重新掃描即可。
第7圖繪示第2圖所示之方法於一實施例中所涉及之一檔案同步權限控制流程600,其中檔案同步權限控制流程600可控制任一作業系統上之檔案存取規則以及一預定同步權限集之間的對應關係。例如:在一同步系統中,各同步客戶端可在各個不同的作業系統上運行。為了讓本發明提供之同步架構可相容於各作業系統上不同的檔案存取規則,該預定同步權限集可
包含預先定義之同步權限,其可分別對應於各作業系統上不同的檔案存取規則。於此實施例中,預先定義之同步權限可包含(但不限於):可建立、可移除、可下載、以及可修改,其中第7圖最下方所示之四個子路徑中之一子路徑可對應於這些同步權限中之一個或多個同步權限。請注意,步驟612與步驟622至628之檢查運作可作為該特定檔案之該複數個檢查運作之一例,而步驟632至638之檢查結果中之任一者可作為上述之至少一檢查結果之一例。
於步驟612中,針對某使用者諸如該電子裝置之使用者,依據一檔案(或目錄)於一作業系統(諸如該電子裝置之作業系統)上之檔案存取規則,該客戶端裝置(諸如該電子裝置)檢查是否該檔案(或目錄)之所有的祖系體(Ancestor)可被通過(Traversed)。若是,以任意順序分別進入步驟624與步驟626,以檢查是否這四種同步權限中之任一者可成立之各種可能;否則,進入步驟614。
於步驟614中,該客戶端裝置判定此使用者對該檔案(或目錄)沒有同步權限。
於步驟622中,針對此使用者,依據該檔案(或目錄)本身於此作業系統上之這些檔案存取規則,該客戶端裝置檢查是否該檔案(或目錄)可被移除。若是,進入步驟632;否則,等待這四個子路徑中之其它子路徑之檢查結果。
於步驟624中,針對此使用者,依據該檔案(或目錄)於此作業系統上之這些檔案存取規則,該客戶端裝置檢查是否該檔案(或目錄)之父(Parent)目錄可被寫入。若是,進入步驟634;否則,進入步驟622。
於步驟626中,針對此使用者,依據該檔案(或目錄)本身於此作業系統上之這些檔案存取規則,該客戶端裝置檢查是否該檔案(或目錄)本身可被寫入。若是,進入步驟636;否則,進入步驟628。
於步驟628中,針對此使用者,依據該檔案(或目錄)於此作業系統上之這些檔案存取規則,該客戶端裝置檢查是否該檔案(或目錄)可被
讀取。若是,進入步驟638;否則,等待這四個子路徑中之其它子路徑之檢查結果。
於步驟632中,該客戶端裝置產生「可移除」之檢查結果。於是,該客戶端裝置可記錄該檔案(或目錄)之同步權限為「可移除」。
於步驟634中,該客戶端裝置產生「可建立且可移除」之檢查結果。於是,該客戶端裝置可記錄該檔案(或目錄)之同步權限為「可建立且可移除」。
於步驟636中,該客戶端裝置產生「可修改且可下載」之檢查結果。於是,該客戶端裝置可記錄該檔案(或目錄)之同步權限為「可修改且可下載」。
於步驟638中,該客戶端裝置產生「可下載」之檢查結果。於是,該客戶端裝置可記錄該檔案(或目錄)之同步權限為「可下載」。
依照檔案存取權限控制流程600,該檔案暨存取規則同步控制模組可將Linux系統上的檔案存取權限分別轉換至該四種同步權限,並且也可將Windows系統上的檔案存取權限諸如存取控制清單(Access Control List,ACL)轉換至該四種同步權限。因此,依據本實施例所實現之同步架構可同時適用於多種作業系統及其不同之檔案存取規則。
第8圖為依據本發明另一實施例之一種用來進行檔案同步控制之方法700的流程圖。如前面所述,依據某些實施例,該電子裝置的例子可包含該伺服器,諸如上述之至少一伺服器中之一者。此狀況下,方法700可應用於第1圖所示之裝置100,尤其是上述之處理電路110,諸如透過上述至少一處理器執行上述程式碼110B之處理電路110。例如:藉由利用一計算機程式產品,諸如儲存有程式碼110B(尤其是其安裝版本)之光碟片,該伺服器或該檔案同步控制系統之系統管理人員可將程式碼110B安裝於裝置100,其中該計算機程式產品包含程式碼110B(尤其是其安裝版本)以指示上述至少一處理器進行第8圖所示之方法700。於是,本實施例之處理電路110可控
制該伺服器之運作,以基於該網路服務進行第8圖所示之方法700。這只是為了說明的目的而已,並非對本發明之限制。方法700說明如下:於步驟710中,於本實施例之處理電路110的控制下,自該伺服器傳送該複數個檔案之該些元資料至一電子裝置(諸如上述之電子裝置),以容許該電子裝置將該些元資料儲存於該電子裝置中之該儲存模組,其中該複數個檔案之該些檔案內容係儲存於該伺服器,而該電子裝置與該伺服器透過上述之至少一網路彼此溝通,以及該些元資料包含分別對應於該複數個檔案之該些存取規則以分別指出該電子裝置之該使用者是否有權限對該複數個檔案進行檔案操作。
於步驟720中,依據該些元資料,本實施例之處理電路110利用該電子裝置控制該電子裝置與該伺服器之間的檔案同步,以更新該電子裝置中之該同步檔案集合,其中該同步檔案集合中之該些檔案對應於該複數個檔案中之該部分檔案。請注意,該同步檔案集合中之該些檔案對應於該複數個檔案中之該部分檔案,而非該複數個檔案中之全部檔案。
依據針對該伺服器之一觀點,第2圖所示實施例中之描述可以應用於此。另外,前面描述之實施例(諸如第2圖所示實施例與第3圖所示實施例之間的某些實施例)中之描述可以應用於此。
依據某些實施例,該電子裝置可週期性地詢問該伺服器是否該複數個檔案中之任一檔案之存取規則被改變。在該複數個檔案中之該檔案之存取規則被改變的狀況下,本實施例之處理電路110可將該些存取規則中之至少一改變通知該電子裝置,以容許該電子裝置依據該些存取規則中之該至少一改變更新該些元資料。這只是為了說明的目的而已,並非對本發明之限制。依據某些實施例,當該複數個檔案中之一檔案之存取規則被改變時,本實施例之處理電路110可將該些存取規則中之至少一改變通知該電子裝置,以容許該電子裝置依據該些存取規則中之該至少一改變更新該些元資料。
依據某些實施例,當該電子裝置送出一請求、且該請求係用來對
該複數個檔案中之該部分檔案中之一特定檔案進行一檔案操作時,本實施例之處理電路110可檢查該使用者是否有對該特定檔案進行該檔案操作之權限。尤其是,當偵測到該使用者沒有對該特定檔案進行該檔案操作之權限時,本實施例之處理電路110可拒絕該檔案操作,以容許該電子裝置依據該特定檔案對該電子裝置進行一回復運作諸如上述者,以復原該同步檔案集合當中對應於該特定檔案之一檔案。
依據某些實施例,該電子裝置可週期性地詢問該伺服器是否該電子裝置之使用者的權限被改變,當該使用者的權限被改變時,本實施例之處理電路110可將該使用者的權限之至少一改變通知該電子裝置,以容許該電子裝置依據該使用者的權限之該至少一改變更新該些元資料。
依據某些實施例,依據該複數個檔案中之至少一檔案在一作業系統中之屬性,本實施例之處理電路110可針對該複數個檔案中之一特定檔案進行複數個檢查運作中之至少一檢查運作,以產生至少一檢查結果,其中這些實施例中之該至少一檔案包含該特定檔案。另外,依據該至少一檢查結果,這些實施例之處理電路110可決定該特定檔案之元資料,以供進行該特定檔案之檔案同步控制。例如:該特定檔案不是目錄、也不是資料夾。
本發明之實施例所示的方法(例如:第2圖所示之方法200;又例如:第8圖所示之方法700)和相關裝置(例如:裝置100)可依照該使用者對某檔案的檔案存取規則進行正確的同步運作,並可跨平台地支援不同檔案系統(諸如各種作業系統之檔案系統)及不同格式的檔案存取規則。另外,本發明之實施例所示的方法和相關裝置可在客戶端之使用者權限或其使用者群組變更後,正確地根據新的檔案存取權限進行檔案同步。在使用者權限或使用者群組經變更後,伺服端可不需重新掃描資料庫或檔案系統;因此,系統整體效能可大幅提昇。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化、修飾及其組合,皆應屬本發明之涵蓋範圍。
200‧‧‧用來進行檔案同步控制之方法
210‧‧‧接收且儲存元資料之步驟
220‧‧‧更新同步檔案集合之步驟
Claims (20)
- 一種用來進行檔案同步控制之方法,該方法係應用於一電子裝置,該方法包含有下列步驟:自一伺服器接收複數個檔案之元資料(Metadata),並且將該些元資料儲存於該電子裝置中之一儲存模組,其中該複數個檔案之檔案內容(File Content)係儲存於該伺服器,而該電子裝置與該伺服器透過至少一網路彼此溝通,以及該些元資料包含分別對應於該複數個檔案之存取規則(Access Rule)以分別指出該電子裝置之一使用者是否有權限對該複數個檔案進行檔案操作;以及依據該些元資料,控制該電子裝置與該伺服器之間的檔案同步,以更新該電子裝置中之一同步檔案集合(Synchronization File Set)。
- 如申請專利範圍第1項所述之方法,其另包含:週期性地詢問該伺服器是否該複數個檔案中之任一檔案之存取規則被改變;以及在該複數個檔案中之該檔案之存取規則被改變的狀況下,依據該些存取規則中之至少一改變,更新該些元資料。
- 如申請專利範圍第2項所述之方法,其中當該複數個檔案中之該檔案之存取規則被改變時,該伺服器將該些存取規則中之該至少一改變通知該電子裝置。
- 如申請專利範圍第2項所述之方法,其中依據該些存取規則中之該至少一改變更新該些元資料之步驟另包含:依據該些存取規則中之該至少一改變,更新該些元資料,以於該同步檔案集合中新增或刪除至少一檔案,其中該至少一檔案係為由該伺 服器同步(Synchronized)至該電子裝置之至少一同步檔案(Synchronization File)。
- 如申請專利範圍第1項所述之方法,其中當該電子裝置送出一請求(Request)、且該請求係用來對該複數個檔案中之一特定檔案進行一檔案操作時,該伺服器檢查該使用者是否有對該特定檔案進行該檔案操作之權限;當偵測到該使用者沒有對該特定檔案進行該檔案操作之權限時,該伺服器拒絕該檔案操作;以及該方法另包含:依據該特定檔案,對該電子裝置進行一回復(Rollback)運作,以復原該同步檔案集合當中對應於該特定檔案之一檔案。
- 如申請專利範圍第1項所述之方法,其中當該使用者的權限被改變時,該伺服器將該使用者的權限之至少一改變通知該電子裝置;以及該方法另包含:依據該使用者的權限之該至少一改變,更新該些元資料。
- 如申請專利範圍第6項所述之方法,其中依據該使用者的權限之該至少一改變更新該些元資料之步驟另包含:依據該使用者的權限之該至少一改變,更新該些元資料,以於該同步檔案集合中新增或刪除至少一檔案。
- 如申請專利範圍第1項所述之方法,其中依據該複數個檔案中之至少一檔案在一作業系統(Operating System)中之屬性(Attribute),該伺服器針對該複數個檔案中之一特定檔案進行複數個檢查運作中之至少一檢查運作,以產生至少一檢查結果,其中該至少一檔案包含該特定檔案;以及依據該至少一檢查結果,該伺服器決定該特定檔案之元資料, 以供進行該特定檔案之檔案同步控制。
- 如申請專利範圍第8項所述之方法,其中該特定檔案不是目錄(Directory)、也不是資料夾(Folder)。
- 如申請專利範圍第1項所述之方法,其中該複數個檔案中之一特定檔案之元資料包含該特定檔案在一作業系統(Operating System)中之屬性(Attribute);以及該方法另包含:依據該特定檔案在該作業系統中之該些屬性,針對該特定檔案進行複數個檢查運作中之至少一檢查運作,以產生至少一檢查結果,以供進行該特定檔案之檔案同步控制。
- 一種計算機程式產品,其中該計算機程式產品包含程式碼以指示至少一處理器進行如申請專利範圍第1項所述之方法,以及該電子裝置包含該至少一處理器。
- 一種用來進行檔案同步控制之方法,該方法係應用於一伺服器,該方法包含有下列步驟:自該伺服器傳送複數個檔案之元資料(Metadata)至一電子裝置,以容許該電子裝置將該些元資料儲存於該電子裝置中之一儲存模組,其中該複數個檔案之檔案內容(File Content)係儲存於該伺服器,而該電子裝置與該伺服器透過至少一網路彼此溝通,以及該些元資料包含分別對應於該複數個檔案之存取規則(Access Rule)以分別指出該電子裝置之一使用者是否有權限對該複數個檔案進行檔案操作;以及依據該些元資料,利用該電子裝置控制該電子裝置與該伺服器之間的檔 案同步,以更新該電子裝置中之一同步檔案集合(Synchronization File Set)。
- 如申請專利範圍第12項所述之方法,其中該電子裝置週期性地詢問該伺服器是否該複數個檔案中之任一檔案之存取規則被改變;以及該方法另包含:在該複數個檔案中之該檔案之存取規則被改變的狀況下,將該些存取規則中之至少一改變通知該電子裝置,以容許該電子裝置依據該些存取規則中之該至少一改變更新該些元資料。
- 如申請專利範圍第12項所述之方法,其另包含:當該複數個檔案中之一檔案之存取規則被改變時,將該些存取規則中之至少一改變通知該電子裝置,以容許該電子裝置依據該些存取規則中之該至少一改變更新該些元資料。
- 如申請專利範圍第12項所述之方法,其另包含:當該電子裝置送出一請求(Request)、且該請求係用來對該複數個檔案中之一特定檔案進行一檔案操作時,檢查該使用者是否有對該特定檔案進行該檔案操作之權限;以及當偵測到該使用者沒有對該特定檔案進行該檔案操作之權限時,拒絕該檔案操作,以容許該電子裝置依據該特定檔案對該電子裝置進行一回復(Rollback)運作,以復原該同步檔案集合當中對應於該特定檔案之一檔案。
- 如申請專利範圍第12項所述之方法,其另包含:當該使用者的權限被改變時,將該使用者的權限之至少一改變通知該電 子裝置,以容許該電子裝置依據該使用者的權限之該至少一改變更新該些元資料。
- 如申請專利範圍第12項所述之方法,其另包含:依據該複數個檔案中之至少一檔案在一作業系統(Operating System)中之屬性(Attribute),針對該複數個檔案中之一特定檔案進行複數個檢查運作中之至少一檢查運作,以產生至少一檢查結果,其中該至少一檔案包含該特定檔案;以及依據該至少一檢查結果,決定該特定檔案之元資料,以供進行該特定檔案之檔案同步控制。
- 如申請專利範圍第17項所述之方法,其中該特定檔案不是目錄(Directory)、也不是資料夾(Folder)。
- 如申請專利範圍第12項所述之方法,其中該複數個檔案中之一特定檔案之元資料包含該特定檔案在一作業系統(Operating System)中之屬性(Attribute);以及該方法另包含:依據該特定檔案在該作業系統中之該些屬性,針對該特定檔案進行複數個檢查運作中之至少一檢查運作,以產生至少一檢查結果,以供進行該特定檔案之檔案同步控制。
- 一種用來進行檔案同步控制之裝置,該裝置包含一伺服器之至少一部分,該裝置包含有:一網路介面電路,設置於該伺服器,用來透過至少一網路提供一存取(Access)服務予一電子裝置,其中複數個檔案之檔案內容(File Content)係儲存於該伺服器,而該電子裝置與該伺服器透過該至 少一網路彼此溝通;以及一處理電路,耦接至該介面電路且設置於該伺服器,用來自該伺服器傳送該複數個檔案之元資料(Metadata)至該電子裝置,以容許該電子裝置將該些元資料儲存於該電子裝置中之一儲存模組,其中該些元資料包含分別對應於該複數個檔案之存取規則(Access Rule)以分別指出該電子裝置之一使用者是否有權限對該複數個檔案進行檔案操作,其中該處理電路依據該些元資料利用該電子裝置控制該電子裝置與該伺服器之間的檔案同步,以更新該電子裝置中之一同步檔案集合(Synchronization File Set)。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104103448A TWI571754B (zh) | 2015-02-02 | 2015-02-02 | 用來進行檔案同步控制之方法與裝置 |
CN201510724132.3A CN105844171B (zh) | 2015-02-02 | 2015-10-29 | 用来进行档案同步控制的方法与装置 |
US14/927,494 US20160224650A1 (en) | 2015-02-02 | 2015-10-30 | Method for performing file synchronization control, and associated apparatus |
EP16151500.2A EP3051457A1 (en) | 2015-02-02 | 2016-01-15 | Method for performing file synchronization control, and associated apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104103448A TWI571754B (zh) | 2015-02-02 | 2015-02-02 | 用來進行檔案同步控制之方法與裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201629797A true TW201629797A (zh) | 2016-08-16 |
TWI571754B TWI571754B (zh) | 2017-02-21 |
Family
ID=55168194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104103448A TWI571754B (zh) | 2015-02-02 | 2015-02-02 | 用來進行檔案同步控制之方法與裝置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160224650A1 (zh) |
EP (1) | EP3051457A1 (zh) |
CN (1) | CN105844171B (zh) |
TW (1) | TWI571754B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6629157B2 (ja) * | 2016-09-06 | 2020-01-15 | 株式会社東芝 | システム |
CN114722021A (zh) * | 2020-09-30 | 2022-07-08 | 华为技术有限公司 | 元数据管理方法和电子设备 |
TWI789193B (zh) * | 2021-12-30 | 2023-01-01 | 華南商業銀行股份有限公司 | 資料夾權限的自動化檢核方法及裝置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001033361A1 (en) * | 1999-11-01 | 2001-05-10 | Mangosoft Corporation | Internet-based shared file service with native pc client access and semantics |
CN100364266C (zh) * | 2004-07-23 | 2008-01-23 | 北京数码大方科技有限公司 | 一种混合分布式文件管理仓储系统及相关方法 |
TWI400623B (zh) * | 2008-11-06 | 2013-07-01 | Acer Inc | 遠端電腦同步傳輸檔案技術 |
US8120134B2 (en) * | 2009-10-15 | 2012-02-21 | Micron Technology, Inc. | High-performance diode device structure and materials used for the same |
US9483491B2 (en) * | 2011-11-29 | 2016-11-01 | Egnyte, Inc. | Flexible permission management framework for cloud attached file systems |
US20130138615A1 (en) * | 2011-11-29 | 2013-05-30 | International Business Machines Corporation | Synchronizing updates across cluster filesystems |
TW201329739A (zh) * | 2012-01-10 | 2013-07-16 | Synology Inc | 檔案同步分享裝置和檔案同步分享方法 |
US8914900B2 (en) * | 2012-05-23 | 2014-12-16 | Box, Inc. | Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform |
US8984582B2 (en) * | 2012-08-14 | 2015-03-17 | Confidela Ltd. | System and method for secure synchronization of data across multiple computing devices |
CN103561034B (zh) * | 2013-11-11 | 2016-08-17 | 武汉理工大学 | 一种安全文件共享系统 |
US10530854B2 (en) * | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
-
2015
- 2015-02-02 TW TW104103448A patent/TWI571754B/zh not_active IP Right Cessation
- 2015-10-29 CN CN201510724132.3A patent/CN105844171B/zh not_active Expired - Fee Related
- 2015-10-30 US US14/927,494 patent/US20160224650A1/en not_active Abandoned
-
2016
- 2016-01-15 EP EP16151500.2A patent/EP3051457A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
TWI571754B (zh) | 2017-02-21 |
CN105844171B (zh) | 2019-06-18 |
CN105844171A (zh) | 2016-08-10 |
US20160224650A1 (en) | 2016-08-04 |
EP3051457A1 (en) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11630841B2 (en) | Traversal rights | |
US20230090977A1 (en) | Synchronized content library | |
TWI571754B (zh) | 用來進行檔案同步控制之方法與裝置 | |
JP2023547439A (ja) | 非同期動作のための意図トラッキング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |