TWI546727B - 跨平台的檔案屬性同步的方法及電腦可讀取的儲存媒體 - Google Patents

跨平台的檔案屬性同步的方法及電腦可讀取的儲存媒體 Download PDF

Info

Publication number
TWI546727B
TWI546727B TW103144373A TW103144373A TWI546727B TW I546727 B TWI546727 B TW I546727B TW 103144373 A TW103144373 A TW 103144373A TW 103144373 A TW103144373 A TW 103144373A TW I546727 B TWI546727 B TW I546727B
Authority
TW
Taiwan
Prior art keywords
file
attribute
computer system
integrated
attribute structure
Prior art date
Application number
TW103144373A
Other languages
English (en)
Other versions
TW201624264A (zh
Inventor
朱百一
吳奕圻
郭青樺
游傑
Original Assignee
群暉科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 群暉科技股份有限公司 filed Critical 群暉科技股份有限公司
Priority to TW103144373A priority Critical patent/TWI546727B/zh
Priority to CN201510551167.1A priority patent/CN105718496A/zh
Priority to US14/964,543 priority patent/US20160188625A1/en
Priority to EP15200754.8A priority patent/EP3035217A1/en
Publication of TW201624264A publication Critical patent/TW201624264A/zh
Application granted granted Critical
Publication of TWI546727B publication Critical patent/TWI546727B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

跨平台的檔案屬性同步的方法及電腦可讀取的儲存媒體
本發明涉及一種檔案屬性同步的方法及電腦可讀取的儲存媒體,尤指一種跨平台的檔案屬性同步的方法及電腦可讀取的儲存媒體。
在檔案及目錄屬性方面,一般的作業系統及檔案系統都有支援一些基本屬性的記錄,這些檔案的屬性包括檔案的擁有者、創立時間、最後修改時間、是否唯讀...等。據前述檔案屬性的定義,蘋果電腦公司的OS X Mavericks作業系統中較常被使用的檔案屬性,就是其「檔案標籤(tag)」功能。在蘋果電腦公司的OS X Mavericks作業系統中,使用者可以在其Finder檔案管理程式中,先行定義所有欲使用的標籤名字及其顏色,且使用者可按滑鼠右鍵以開啟用以管理檔案之標籤的選單。
然而,在其他主流的作業系統,如Windows、Ubuntu、Android等,目前並沒有類似OS X Mavericks的檔案標籤功能,因此使用者在OS X Mavericks作業系統上面辛苦地為許多檔案所整理之標籤資訊,在檔案被跨平台同步軟體同步後,標籤資訊就會消失而無法被使用者觀看及使用。
在本發明的一實施例中提供一種跨平台的檔案屬性同步的方法上述方法係應用於一第一電腦系統。上述方法包含:將第一電腦系統的一第一 檔案系統的一第一檔案屬性結構擴充至一整合性檔案屬性結構;以及將整合性檔案屬性結構下之檔案的屬性資料同步至一伺服器,以容許伺服器將接收自第一電腦系統之第一電腦系統於整合性檔案屬性結構下之檔案的屬性資料由伺服器同步至一第二電腦系統,以使第二電腦系統依據所接收到的第一電腦系統於整合性檔案屬性結構下之檔案的屬性資料,更新第二電腦系統之一第二檔案系統於一第二檔案屬性結構下之檔案的屬性資料。
在本發明的一實施例中提供一種非暫態之電腦可讀取的儲存媒體。其中上述的儲存媒體儲存有一電腦程式,而此電腦程式包含電腦可執行之複數個指令,用以指示一電腦系統執行如上所述之跨平台的檔案屬性同步的方法。
藉由本發明實施例的跨平台的檔案屬性同步的方法,不但可以將蘋果電腦公司OS X Mavericks作業系統的「檔案標記(tags)」功能及標籤資訊移轉至其他非蘋果電腦公司的作業系統,亦可實現跨平台的檔案屬性同步。
10‧‧‧伺服器
12‧‧‧屬性同步程式
14‧‧‧資料庫
20‧‧‧第一電腦系統
21‧‧‧第一作業系統
22‧‧‧第一檔案系統
24‧‧‧第一檔案屬性結構
25、45、65‧‧‧屬性
26、46、66‧‧‧延伸屬性
30‧‧‧整合性檔案屬性結構
32‧‧‧第一程式
34‧‧‧第一資料庫
36‧‧‧第一詮釋資訊檔案
38、58、78‧‧‧檔案
40‧‧‧第二電腦系統
41‧‧‧第二作業系統
42‧‧‧第二檔案系統
44‧‧‧第二檔案屬性結構
52‧‧‧第二程式
54‧‧‧第二資料庫
56‧‧‧第二詮釋資訊檔案
60‧‧‧第三電腦系統
61‧‧‧第三作業系統
62‧‧‧第三檔案系統
64‧‧‧第三檔案屬性結構
72‧‧‧第三程式
74‧‧‧第三資料庫
76‧‧‧第三詮釋資訊檔案
200‧‧‧集合
A‧‧‧第一屬性集合
B‧‧‧第二屬性集合
C‧‧‧第三屬性集合
Da、Db、Dc、Ua、Ub、Uc‧‧‧屬性資料
S310及S320‧‧‧步驟
第1圖為應用本發明一實施例之跨平台的檔案屬性同步之方法的檔案屬性同步系統的功能方塊圖。
第2圖繪示了由第1圖的第一、第二及第三檔案屬性結構及整合性檔案屬性結構的屬性所構成的多個集合。
第3圖為本發明一實施例之跨平台的檔案屬性同步之方法的流程圖。
請參考第1圖,第1圖為應用本發明一實施例之跨平台的檔案屬性同步之方法的檔案屬性同步系統100的功能方塊圖。檔案屬性同步系統100 包含伺服器10、第一電腦系統20以及第二電腦系統40。第一電腦系統20以及第二電腦系統40分別與伺服器10建立網路鏈結,而分別可透過所建立的網路鏈結與伺服器10進行資料的傳遞與接收。第一電腦系統20以及第二電腦系統40分別安裝了第一作業系統21及第二作業系統41。在本實施例中,第一作業系統21可為蘋果電腦公司的OS X Mavericks作業系統,而第二作業系統41可為微軟公司的Windows 7作業系統,但本發明並不以此為限。第一作業系統21及/或第二作業系統41可以是其他作業系統,如Ubuntu、Android等作業系統。
第一作業系統21採用了第一檔案系統22以管理第一電腦系統20中的檔案38,而第二作業系統41採用了第二檔案系統42以管理第二電腦系統40中的檔案58。此外,第一檔案系統22所採用的檔案屬性結構為第一檔案屬性結構24,而第二檔案系統42所採用的檔案屬性結構為第二檔案屬性結構44。其中,第一檔案屬性結構24包含多個屬性25,而第二檔案屬性結構44包含多個屬性45。在第一作業系統21採用第一檔案系統22的情況下,第一電腦系統20的每個檔案38都會具有第一檔案屬性結構24的多個屬性25。類似地,在第二作業系統41採用第二檔案系統42的情況下,第二電腦系統40的每個檔案58都會具有第二檔案屬性結構44的多個屬性45。在本實施例中,第一檔案屬性結構24的多個屬性25與第二檔案屬性結構44的多個屬性45不完全相同。換言之,第一檔案屬性結構24的多個屬性25與第二檔案屬性結構44的多個屬性45可能部分相同(例如:檔名、副檔名),而部分不相同(例如:標籤(tag))。
為達到跨平台檔案屬性同步的功能,第一電腦系統20的第一檔案系統22所採用的檔案屬性結構由第一檔案屬性結構24擴充至整合性檔案屬性結構30。接著,第一電腦系統20於整合性檔案屬性結構30下的檔案38 之屬性資料Ua可被收集並被傳送至伺服器10。之後,當要使第二電腦系統40的檔案58的屬性與第一電腦系統20的檔案38的屬性同步時,第二電腦系統40會自伺服器10接收的第一電腦系統20的屬性資料Ua,並依據自伺服器10所接收的第一電腦系統20的屬性資料Ua,更新第二電腦系統40的第二檔案系統42於第二檔案屬性結構44下的檔案58之屬性資料。相對地,第二電腦系統40於第二檔案屬性結構44下之檔案58之屬性資料的變更內容可經由伺服器10同步至第一電腦系統20,以使第一電腦系統20依據第二電腦系統40於第二檔案屬性結構44下之檔案58之屬性資料的變更內容,更新第一電腦系統20於整合性檔案屬性結構30下之檔案38的屬性資料。
在一實施例中,第二電腦系統40所採用的檔案屬性結構可由第二檔案屬性結構44擴充至整合性檔案屬性結構30。第二電腦系統40於整合性檔案屬性結構30下的檔案58之屬性資料Ub可被收集並被傳送至伺服器10。之後,第一電腦系統20可自伺服器10接收的第二電腦系統40的屬性資料Ub,並依據自伺服器10所接收的第二電腦系統40的屬性資料Ub,更新第一電腦系統20於整合性檔案屬性結構30下的檔案38之屬性資料。在本實施例中,當第二電腦系統40所採用的檔案屬性結構由第二檔案屬性結構44被擴充至整合性檔案屬性結構30之後,可依據自伺服器10所接收的第一電腦系統20的屬性資料,更新第二電腦系統40的第二檔案系統42於整合性檔案屬性結構30下的檔案58之屬性資料。
在一實施例中,為了使第二電腦系統40的檔案58之屬性可被第一電腦系統20的第一檔案系統22辨識與使用,第一程式32可被安裝於第一電腦系統20,以將第一電腦系統20的第一檔案系統22所採用的檔案屬性結構由第一檔案屬性結構24擴充至整合性檔案屬性結構30。其中,第一程式32可以以外掛程式(Plug-in)或應用程式介面插入程式(API injection)等外掛方 式整合於第一作業系統21預設的檔案管理程式(如:OS X Mavericks作業系統的Finder程式、微軟Windows 7作業系統的檔案總管)或其他第三方廠商開發之檔案管理程式。在本實施例中,整合性檔案屬性結構30除了包含原先第一檔案屬性結構24所包含多個屬性25之外,還另包含多個延伸屬性26。其中,第二檔案屬性結構44所有、但第一檔案屬性結構24所無的屬性,可藉由延伸屬性26來加以定義,以在第一電腦系統20中被辨識、使用。另外,每個延伸屬性26彼此不同,並與每個屬性25相異。換言之,整合性檔案屬性結構30所包含的每個屬性25及延伸屬性26並不會重複。此外,整合性檔案屬性結構30的屬性25及延伸屬性26可包含但不限於檔案38的檔名、副檔名、權限、顏色、標籤、註解、討論串、類別、建立日期及圖示等。在本實施例中,第一程式32可依據第一電腦系統20所採用的第一檔案系統22及/或第一作業系統21,得知第一檔案屬性結構24所包含多個屬性25,進而決定將第一檔案屬性結構24擴充至整合性檔案屬性結構30所需的延伸屬性26。
在一實施例中,為了使第一電腦系統20的檔案38之屬性可被第二電腦系統40的第二檔案系統42辨識與使用,第二程式52可被安裝於第二電腦系統40,以將第二電腦系統40的第二檔案系統42所採用的檔案屬性結構由第二檔案屬性結構44擴充至上述的整合性檔案屬性結構30。其中,第二程式52可以以外掛程式(Plug-in)或應用程式介面插入程式(API injection)等外掛方式整合於第二作業系統41預設的檔案管理程式或其他第三方廠商開發之檔案管理程式。由於第一程式32與第二程式52可分別以外掛的方式操作於第一作業系統21及第二作業系統41預設的檔案管理程式,故可提供使用者無縫(seamless)、直覺(straight-forward)的使用者體驗。再者,整合性檔案屬性結構30除了包含原先第二檔案屬性結構44所包含多個屬性45之外,還另包含多個延伸屬性46。其中,第一檔案屬性結構24所有、但第二檔案屬性結構44所無的屬性,可藉由延伸屬性46來加以定義,以在第二電腦系 統40中被辨識、使用。另外,每個延伸屬性46彼此不同,並與每個屬性45相異。換言之,整合性檔案屬性結構30所包含的每個屬性45及延伸屬性46並不會重複。此外,整合性檔案屬性結構30的屬性45及延伸屬性46可包含但不限於檔案58的檔名、副檔名、權限、顏色、標籤、註解、討論串、類別、建立日期及圖示等。其中,第二程式52可依據第二電腦系統40所採用的第二檔案系統42及/或第二作業系統41,得知第二檔案屬性結構44所包含多個屬性45,進而決定將第二檔案屬性結構44擴充至整合性檔案屬性結構30所需的延伸屬性46。
在一實施例中,第一程式32可透過第一作業系統21取得檔案38於第一檔案系統22下所內建的檔案屬性,亦即第一程式32可透過第一作業系統21取得第一檔案屬性結構24下之檔案38的多個屬性25。類似地,第二程式52可透過第二作業系統41取得檔案58於第二檔案系統42下所內建的檔案屬性,亦即第二程式42可透過第二作業系統41取得第二檔案屬性結構44下之檔案58的多個屬性45。以微軟公司的視窗作業系統為例,第一程式32及第二程式52可透過系統呼叫(SystemCall)(例如:ReadDirectoryChanges)取得檔案系統內建的檔案屬性;以Linus作業系統為例,第一程式32及第二程式52可透過核心函數(Kernel function)(例如:Inotify)取得檔案系統內建的檔案屬性;以iOS作業系統為例,第一程式32及第二程式52可透過應用程式介面(API)(例如:FSEvents)取得檔案系統內建的檔案屬性。關於如何取得檔案系統內建之檔案屬性的實施細節,相關技術中已提供各種不同的方案,故在此不贅述其細節。
在一實施例中,由第一檔案屬性結構24的多個屬性25與多個延伸屬性26所構成的整合性檔案屬性結構30係等同於由第二檔案屬性結構44的多個屬性45與多個延伸屬性46所構成的整合性檔案屬性結構30。請參考 第2圖,第2圖繪示了由第1圖的第一檔案屬性結構24、第二檔案屬性結構44及整合性檔案屬性結構30的屬性所構成的多個集合。其中,集合200用以表示整合性檔案屬性結構30的全部屬性所構成的集合,第一屬性集合A用以表示第一檔案屬性結構24的多個屬性25所構成的集合,而第二屬性集合B用以表示第二檔案屬性結構44的多個屬性45所構成的集合。由第2圖可看出,第一檔案屬性結構24之全部的屬性25所構成的第一屬性集合A包含於整合性檔案屬性結構30的全部屬性所構成的集合200。第二檔案屬性結構44之全部的屬性45所構成的第二屬性集合B包含於整合性檔案屬性結構30的全部屬性所構成的集合200。在本實施例中,第一屬性集合A與第二屬性集合B的聯集小於集合200。然而,在本發明其他實施例中,檔案屬性結構可以將集合200設計為等於第一屬性集合A與第二屬性集合B的聯集。
在一實施例中,當第一檔案系統22利用整合性檔案屬性結構30來記錄每個檔案38的屬性時,每個檔案38的屬性中屬於第一檔案屬性結構24的屬性25的資料會以未安裝第一程式32時第一檔案系統22所採用的方式儲存。至於每個檔案38的屬性中不屬於第一檔案屬性結構24的延伸屬性26的資料,則可以儲存於至少一個第一詮釋資訊(metadata)檔案36及/或第一資料庫34中。換言之,若所記錄的檔案38的某個屬性為第一作業系統21的第一檔案系統22所支援,則此屬性不另儲存在第一詮釋資訊檔案36或第一資料庫34中。反之,若所記錄的檔案38的某個屬性並不被第一作業系統21的第一檔案系統22所支援,則此屬性才會另儲存在第一詮釋資訊檔案36及/或第一資料庫34中。在其他實施例中,每個檔案38的所有屬性可皆儲存在至少一個第一詮釋資訊檔案36及/或第一資料庫34中。
相似地,當第二檔案系統42利用整合性檔案屬性結構30來記錄每個檔案58的屬性時,每個檔案58的屬性中屬於第二檔案屬性結構44的屬 性45的資料會以未安裝第二程式52時第二檔案系統42所採用的方式儲存。至於每個檔案58的屬性中不屬於第二檔案屬性結構44的延伸屬性46的資料,則可以以至少一個第二詮釋資訊檔案56的型式加以儲存,或是儲存在第二電腦系統40的第二資料庫54中,又或是儲存在至少一個第二詮釋資訊檔案46及第二資料庫54中。換言之,若所記錄的檔案58的某個屬性為第二作業系統41的第二檔案系統42所支援,則此屬性不另儲存在第二詮釋資訊檔案56或第二資料庫54中。反之,若所記錄的檔案58的某個屬性並不被第二作業系統41的第二檔案系統42所支援,則此屬性才會另儲存在第二詮釋資訊檔案56及/或第二資料庫54中。在其他實施例中,每個檔案58的所有屬性可皆儲存在至少一個第二詮釋資訊檔案46及/或第二資料庫54中。
在一實施例中,當進行第一電腦系統20與第二電腦系統40之間檔案屬性同步時,一方面第一電腦系統20會藉由第一程式32及第一檔案系統22,收集第一電腦系統20於整合性檔案屬性結構30下的檔案38之屬性資料Ua,並將所收集的第一電腦系統20於整合性檔案屬性結構30下的檔案38之屬性資料Ua上傳至伺服器10。另一方面,第二電腦系統40會藉由第二程式52及第二檔案系統42,收集第二電腦系統40於整合性檔案屬性結構30下的檔案58之屬性資料Ub,並將所收集的第二電腦系統40於整合性檔案屬性結構30下的檔案58之屬性資料Ub上傳至伺服器10。之後,伺服器10即可依據來自第一電腦系統20及第二電腦系統40的屬性資料Ua和Ub,同步第一電腦系統20及第二電腦系統40於整合性檔案屬性結構30下的檔案38及58之屬性資料。詳言之,伺服器10的屬性同步程式12會將第一電腦系統20及第二電腦系統40所上傳的屬性資料Ua和Ub先儲存在伺服器10的資料庫14中,而當進行檔案屬性同步時,屬性同步程式12會從此資料庫14讀取要進行屬性同步所需的屬性資料Da及Db,並將屬性資料Da及Db分別傳送至第一電腦系統20與第二電腦系統40。之後,第一程式32及第一檔案系統 22即可依據屬性資料Da更新相關檔案38的屬性,而第二程式52及第二檔案系統42可依據屬性資料Db更新相關檔案58的屬性。當完成第一電腦系統20與第二電腦系統40之間檔案屬性同步後,相對應之檔案38及58即具有相同的屬性,並可分別被第一電腦系統20與第二電腦系統40所識別與使用。更進一步地來說,藉由第一程式32及第一檔案系統22,第一電腦系統20可對在整合性檔案屬性結構30下的檔案38進行屬性資料之更新、儲存及顯示等操作。相似地,藉由第二程式52及第二檔案系統42,第二電腦系統40可對在整合性檔案屬性結構30下的檔案58進行屬性更新、儲存屬性資料及顯示屬性等操作。當完成第一電腦系統20與第二電腦系統40之間的檔案屬性同步後,倘若第一程式32及第二程式52是以外掛程式(Plug-in)或應用程式介面插入程式(API injection)等外掛方式分別整合於第一作業系統21及第二作業系統41,則第一程式32及第二程式52可藉由應用程式介面(API)來將進行完同步後的各項屬性資料分別提供給第一作業系統21及第二作業系統41。
在某些時候,屬性資料Da及Db會對應到相同的檔案但卻有不同的設定值,因而發生屬性資料衝突的情況。假設屬性資料Da先上傳至伺服器10,之後屬性資料Db才上傳至伺服器10。在這樣的情況下,倘若伺服器10判斷屬性資料Da及Db中的有同一個屬性卻個別有不同值時,則伺服器10可將由第一電腦系統20所上傳的屬性資料Ua及其關聯的檔案設定為前一版本(例如:版本20),並將屬性資料由第二電腦系統40所上傳的屬性資料Ub及其關聯的檔案設定為當前版本(例如:版本21)。接著,第一電腦系統20自伺服器10下載屬性資料Db以及相關聯的檔案,並將具有衝突屬性資料的檔案的附檔名更改為「.conflictxx」,其中xx為編號。關於屬性資料衝突之解決方案的實施細節,習知的同步方法中亦提供有其它的解決方案,故在此不贅述其細節。
在一實施例中,檔案屬性同步系統100可同時地進行檔案同步及檔案屬性同步。以下將就檔案屬性同步系統100如何進行檔案同步作說明。當第一電腦系統20的檔案38有任何變動時,第一程式32會收集第一電腦系統20於上述整合性檔案屬性結構30下的檔案38的變更內容,並將所收集的第一電腦系統20於整合性檔案屬性結構30下的檔案38的變更內容同步至伺服器10。其中,因檔案38的屬性變動是檔案38各項變動中的一種,故檔案38的變更內容可包含上述的屬性資料Da。接著,伺服器10可將接收自第一電腦系統20於整合性檔案屬性結構30下之檔案38的變更內容由伺服器10同步至第二電腦系統40,以使第二電腦系統40依據所接收到的第一電腦系統20於整合性檔案屬性結構30下之檔案38的變更內容,更新第二電腦系統40於整合性檔案屬性結構30下之檔案58的屬性資料。
此外,當第二電腦系統40的檔案58有任何變動時,第二程式52會收集第二電腦系統40於上述整合性檔案屬性結構下的檔案58的變更內容,並將所收集的第二電腦系統40於整合性檔案屬性結構下的檔案58的變更內容同步至伺服器10。其中,因檔案58的屬性變動是檔案58各項變動中的一種,故檔案58的變更內容可包含上述的屬性資料Da。接著,第一電腦系統20可自伺服器10接收第二電腦系統40於整合性檔案屬性結構下30之檔案58的變更內容,以及依據第二電腦系統40於整合性檔案屬性結構30下之檔案58的變更內容,更新第一電腦系統20於整合性檔案屬性結構30下的檔案38。
在一實施例中,伺服器10的屬性同步程式12除了可用以進行第一電腦系統20與第二電腦系統40之間的檔案屬性同步之外,屬性同步程式12另可分析由第一電腦系統20或第二電腦系統40所上傳的檔案38或58, 並依據分析結果更新檔案38或58於整合性檔案屬性結構30下的屬性資料。舉例來說,當屬性同步程式12分析出由第一電腦系統20或第二電腦系統40所上傳的檔案38或58為影像檔,而其影像長度為30至60分鐘且其運動向量(motion vector)小於一般影片的平均值時,屬性同步程式12即可自動地將此上傳的檔案38或58之屬性資料中的「標籤」屬性設定為新聞短片。其中,當計算運動向量時,可採用Block-matching、Optical flow、RANSAC等演算法以進行計算。又例如,當屬性同步程式12分析出由第一電腦系統20或第二電腦系統40所上傳的檔案38或58為照片檔且經人臉影像辨識發現其中包含有人像時,此時屬性同步程式12即可自動地將此上傳的檔案38或58之屬性資料中的「標籤」屬性設定為人像照。其中,當進行人臉影像辨識時,例如可採用Eigenface演算法進行辨識。關於如何計算運動向量、進行人臉辨識以及分析檔案是否為影像檔及照片檔的實施細節,相關技術中已提供各種不同的方案,故在此不贅述其細節。在本實施例中,經由屬性同步程式12的分析而自動被更新的檔案屬性資料可同步至第一電腦系統20及/或第二電腦系統40,以更新相關檔案38及/或58的屬性。在其他實施例中,上述依據分析結果更新檔案38或58的屬性資料的動作除了可由同步程式12進行之外,亦可改由第一程式32及第二程式52來進行。詳言之,當檔案38被上傳至伺服器10之前,第一程式32會對所上傳的檔案38進行分析,並依據分析結果更新所上傳的檔案38之屬性資料。相似地,當檔案58被上傳至伺服器10之前,第二程式52會對所上傳的檔案58進行分析,並依據分析結果更新所上傳的檔案58之屬性資料。
在一實施例中,檔案屬性同步系統100可只對具有某特定屬性的檔案進行檔案同步。詳言之,第一程式32及第二程式52可分別將第一電腦系統20及第二電腦系統40中分散在不同目錄下具有相同之特定屬性的檔案38及58彙整,並將所彙整具有相同之特定屬性的檔案38及58各自上傳至 伺服器10。此外,第一程式32及第二程式52亦可分別控制第一電腦系統20及第二電腦系統40各自從伺服器10僅下載具有上述特定屬性的檔案。舉例來說,具有「工作(work)」標籤的檔案可能存放在第一電腦系統20及第二電腦系統40下的多個目錄中,而第一程式32及第二程式52可收集這些具有「工作(work)」標籤的檔案,並將所收集的檔案上傳至伺服器10。其中,此實施例所述之「工作(work)」標籤係為上述之特定屬性之一例,這只是為了說明的目的而已,並非對本發明之限制。在其他實施例中,該特定屬性亦可為副檔名、檔案大小或權限等屬性。在其他實施例中,屬性同步程式12可將伺服器10中分散在不同目錄下具有相同之特定屬性的檔案彙整,並將所彙整具有相同之該特定屬性的檔案各自同步至第一電腦系統20及第二電腦系統40。此外,屬性同步程式12亦可拒絕接收第一電腦系統20及第二電腦系統40所上傳之不具有該特定屬性的檔案38及58。
此外,在一實施例中,檔案屬性同步系統100可依據檔案的屬性資料,將具有不同屬性的檔案儲存在伺服器10的不同的目錄。詳言之,在進行檔案同步及檔案屬性同步時,當檔案上傳至伺服器10後,屬性同步程式12可依據所接收到的檔案之屬性資料中的一屬性,將所接收到的檔案存放在該屬性所對應的目錄中。舉例來說,屬性同步程式12可將具有「工作」、「音樂」、「照片」...等不同標籤的檔案,分別儲存在伺服器10的「工作」、「音樂」、「照片」...等不同目錄下。又例如,屬性同步程式12可將具有「音訊視訊交錯(Audio Video Interleave)」、「點陣圖(Bitmap)」等不同副檔名的檔案,分別儲存在伺服器10的「影像檔」、「圖片檔」等不同目錄下。
在一實施例中,屬性同步程式12另可分析由第一電腦系統20或第二電腦系統40所上傳的檔案38或58,並依據分析結果更新檔案38或58的屬性資料,而伺服器10再依據更新後的檔案38或58之屬性資料中的一屬 性,將檔案38或58儲存在該屬性所對應的目錄下。當然,上述依據分析結果更新檔案38或58的屬性資料的動作除了可由同步程式12進行之外,亦可改由第一程式32及第二程式52來進行,而在本發明一實施例中,當使用者將所要上傳的檔案38或58拖放(drag and drop)至第一程式32或第二程式52所對應的圖示(icon)時,即可觸發第一程式32或第二程式52對所要上傳的檔案38或58進行屬性分析。此外,在本發明另一實施例,當使用者將所要上傳的檔案38或58拖放至第一電腦系統20或第二電腦系統40的特定目錄時,即可觸發第一程式32或第二程式52對所要上傳的檔案38或58進行屬性分析。
請參考第3圖,第3圖為本發明一實施例之跨平台的檔案屬性同步之方法的流程圖。此方法應用於第一電腦系統20,並包含以下步驟:步驟S310:將第一電腦系統20的第一檔案系統22所採用的檔案屬性結構由第一檔案屬性結構24擴充至整合性檔案屬性結構30;以及步驟S320:將第一電腦系統20於整合性檔案屬性結構30下之檔案38的屬性資料Ua同步至伺服器10,以容許伺服器10將接收自第一電腦系統20於整合性檔案屬性結構30下之檔案38的屬性資料Ua由伺服器10同步至第二電腦系統40,以使第二電腦系統40依據所接收到的第一電腦系統20於整合性檔案屬性結構30下之檔案38的屬性資料Ua,更新第二電腦系統40之第二檔案系統42於第二檔案屬性結構44下之檔案58的屬性資料。
在本發明一實施例中揭露了一種非暫態之電腦可讀取的儲存媒體。上述的儲存媒體用以儲存電腦程式,而此電腦程式包含電腦可執行之複數個指令,用以指示伺服器10、第一電腦系統20及第二電腦系統40執行上述跨平台的檔案屬性同步的方法。
在上述實施例中係以兩個電腦系統之間的檔案屬性同步作說明,但本發明之方法並不僅限於在兩個電腦系統之間實施,而可適用於實現三個或更多個電腦系統之間的檔案屬性同步。請再參考第1圖。在本發明另一實施例中,檔案屬性同步系統100另包含第三電腦系統60。第三電腦系統60與伺服器10建立網路鏈結,而可透過所建立的網路鏈結與伺服器10進行資料的傳遞與接收。第三電腦系統60安裝了第三作業系統61,而第三作業系統61採用了第三檔案系統62以管理第三電腦系統60中的檔案78。此外,第三檔案系統62所採用的檔案屬性結構為第三檔案屬性結構64。其中,第三檔案屬性結構64包含多個屬性65。在第三作業系統61採用第三檔案系統62的情況下,第三電腦系統60的每個檔案78都會具有第三檔案屬性結構64的多個屬性65。在本實施例中,第三檔案屬性結構64的多個屬性65與第一檔案屬性結構24的多個屬性25及/或第二檔案屬性結構44的多個屬性45不完全相同。換言之,第三檔案屬性結構64的多個屬性65與第一檔案屬性結構24的多個屬性25及/或第二檔案屬性結構44的多個屬性45可能部分相同,而部分不相同。
為了使第三電腦系統60的檔案78之屬性可被第三電腦系統60的第三檔案系統62辨識與使用,第三程式72會被安裝於第三電腦系統60,以將第三電腦系統60的第三檔案系統62所採用的檔案屬性結構由第三檔案屬性結構64擴充至整合性檔案屬性結構30。其中,第三程式72可以外掛程式(Plug-in)或應用程式介面插入程式(API injection)等外掛方式整合於第三作業系統61預設的檔案管理程式或其他第三方廠商開發之檔案管理程式。再者,整合性檔案屬性結構30除了包含原先第三檔案屬性結構64所包含多個屬性65之外,還另包含多個延伸屬性66。其中,第一檔案屬性結構24或第二檔案屬性結構44所有、但第三檔案屬性結構64所無的屬性,可藉由延伸屬性66來加以定義,以在第三電腦系統60中被辨識、使用。另外,每個延 伸屬性66彼此不同,並與每個屬性65相異。換言之,整合性檔案屬性結構30所包含的每個屬性65及延伸屬性66並不會重複。此外,整合性檔案屬性結構30的屬性65及延伸屬性66可包含但不限於檔案78的檔名、副檔名、權限、顏色、標籤、註解、討論串、類別及建立日期等。
當進行第一電腦系統20、第二電腦系統40及第三電腦系統60之間檔案屬性同步時,屬性同步程式12除了會接收第一電腦系統20及第二電腦系統40所上傳的屬性資料Ua和Ub之外,還會另接收由第三電腦系統60所上傳的屬性資料Uc,並依據屬性資料Ua、Ub及Uc,同步第一電腦系統20、第二電腦系統40及第三電腦系統60於整合性檔案屬性結構30下的檔案38、58及78的屬性資料。
詳言之,伺服器10的屬性同步程式12會將第一電腦系統20、第二電腦系統40及第三電腦系統60所上傳的屬性資料Ua、Ub及Uc先儲存在資料庫14中,而當進行檔案屬性同步時,屬性同步程式12會自資料庫14讀取要進行屬性同步所需的屬性資料Da、Db及Dc,並將屬性資料Da、Db及Dc分別傳送至第一電腦系統20、第二電腦系統40及第三電腦系統60。之後,第一程式32及第一檔案系統22即可依據屬性資料Da更新相關檔案38的屬性資料,第二程式52及第二檔案系統42可依據屬性資料Db更新相關檔案58的屬性資料,而第三程式72及第三檔案系統62可依據屬性資料Dc更新相關檔案78的屬性資料。當完成第一電腦系統20、第二電腦系統40及第三電腦系統60之間檔案屬性同步後,相對應之檔案38、58及78即具有相同的屬性,並可分別被第一電腦系統20、第二電腦系統40及第三電腦系統60所識別與使用。
請再參考第2圖。檔案屬性結構檔案屬性結構檔案屬性結構第三 屬性集合C用以表示第三檔案屬性結構64的多個屬性65所構成的集合,且第三屬性集合C包含於整合性檔案屬性結構30的全部屬性所構成的集合200。由第2圖可看出,第一屬性集合A、第二屬性集合B與第三屬性集合C的聯集小於集合200。然而,在本發明其他實施例中,檔案屬性結構可以將集合200設計為等於第一屬性集合A、第二屬性集合B與第三屬性集合C的聯集。
綜上所述,藉由本發明實施例的跨平台的檔案屬性同步的方法,不但可以將蘋果電腦公司OS X Mavericks作業系統的「檔案標記(tags)」功能及標籤資訊移轉至其他非蘋果電腦公司的作業系統,亦可實現跨平台的檔案屬性同步。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化、修飾及其組合,皆應屬本發明之涵蓋範圍。
S310及S320‧‧‧步驟

Claims (15)

  1. 一種跨平台的檔案屬性同步的方法,該方法係應用於一第一電腦系統,該方法包含下列步驟:將該第一電腦系統的一第一檔案系統的一第一檔案屬性結構擴充至一整合性檔案屬性結構;以及將該整合性檔案屬性結構下之檔案的屬性資料同步至一伺服器,以容許該伺服器將接收自該第一電腦系統之該第一電腦系統於該整合性檔案屬性結構下之檔案的屬性資料由該伺服器同步至一第二電腦系統,以使該第二電腦系統依據所接收到的該第一電腦系統於該整合性檔案屬性結構下之檔案的屬性資料,更新該第二電腦系統之一第二檔案系統於一第二檔案屬性結構下之檔案的屬性資料。
  2. 如請求項1所述之方法,其中該第二檔案屬性結構的全部屬性所構成的一第二屬性集合包含於該整合性檔案屬性結構的全部屬性所構成的一集合之中。
  3. 如請求項1所述之方法,其中該第一檔案屬性結構的全部屬性與該第二檔案屬性結構的全部屬性不完全相同。
  4. 如請求項1所述之方法,其中當該第二電腦系統於該第二檔案屬性結構下之檔案之屬性資料變更時,該第二電腦系統將該第二檔案屬性結構下之檔案之屬性資料的變更內容同步至該伺服器,該方法另包含:自該伺服器接收該第二電腦系統於該第二檔案屬性結構下之檔案之屬性資料的變更內容;以及依據該第二電腦系統於該第二檔案屬性結構下之檔案之屬性資料的變更內容,更新該第一電腦系統於該整合性檔案屬性結構下之檔案的屬 性資料。
  5. 如請求項1所述之方法,其中該第一電腦系統安裝有一第一程式,以藉由該第一程式將該第一檔案系統的檔案屬性結構由該第一檔案屬性結構擴充至該整合性檔案屬性結構。
  6. 如請求項5所述之方法,另包含:藉由該第一程式及該第一檔案系統,對該第一電腦系統於該整合性檔案屬性結構下的檔案進行屬性資料之更新、儲存及顯示的操作。
  7. 如請求項1所述之方法,其中該第二電腦系統安裝有一第二程式,以藉由該第二程式將該第二檔案系統的該第二檔案屬性結構擴充至該整合性檔案屬性結構。
  8. 如請求項7所述之方法,其中當該第二電腦系統於該整合性檔案屬性結構下之檔案之屬性資料變更時,該第二電腦系統將該整合性檔案屬性結構下之檔案之屬性資料的變更內容同步至該伺服器,該方法另包含:自該伺服器接收該第二電腦系統於該整合性檔案屬性結構下之檔案之屬性資料的變更內容;以及依據該第二電腦系統於該整合性檔案屬性結構下之檔案之屬性資料的變更內容,更新該第一電腦系統於該整合性檔案屬性結構下的檔案之屬性資料。
  9. 如請求項7所述之方法,另包含:將該第一電腦系統於該整合性檔案屬性結構下之檔案之屬性資料的變更內容同步至該伺服器,以容許該伺服器將接收自該第一電腦系統之 該第一電腦系統於該整合性檔案屬性結構下之檔案之屬性資料的變更內容由該伺服器同步至該第二電腦系統,以使該第二電腦系統依據所接收到的該第一電腦系統於該整合性檔案屬性結構下之檔案之屬性資料的變更內容,更新該第二電腦系統於該整合性檔案屬性結構下之檔案的屬性資料。
  10. 如請求項1所述之方法,另包含:分析該第一電腦系統的一檔案,並依據分析結果更新該檔案於該整合性檔案屬性結構下的屬性資料。
  11. 如請求項1所述之方法,另包含:依據該第一電腦系統於該整合性檔案屬性結構下的屬性資料,將該第一電腦系統之檔案選擇性地同步至該伺服器。
  12. 如請求項1所述之方法,其中該伺服器分析由該第一電腦系統或該第二電腦系統所上傳的一檔案,並依據分析結果更新該檔案於該整合性檔案屬性結構下的屬性資料,進而將更新後之該檔案的屬性資料同步至該第一電腦系統與該第二電腦系統。
  13. 如請求項1所述之方法,其中該伺服器自該第一電腦系統接收一檔案,並依據該檔案之屬性資料中的一屬性,將該檔案儲存於該屬性所對應的一目錄中。
  14. 如請求項1所述之方法,另包含:將該第一電腦系統之該整合性檔案屬性結構中不屬於該第一檔案屬性結構的屬性資料,儲存在一第一詮釋資訊(metadata)檔案及/或一第一 資料庫中。
  15. 一種非暫態之電腦可讀取的儲存媒體,其中該儲存媒體儲存有一電腦程式,而該電腦程式包含電腦可執行之複數個指令,用以指示一電腦系統執行如請求項1所述之方法。
TW103144373A 2014-12-18 2014-12-18 跨平台的檔案屬性同步的方法及電腦可讀取的儲存媒體 TWI546727B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW103144373A TWI546727B (zh) 2014-12-18 2014-12-18 跨平台的檔案屬性同步的方法及電腦可讀取的儲存媒體
CN201510551167.1A CN105718496A (zh) 2014-12-18 2015-09-01 跨平台的文件属性同步的方法及计算机可读取的存储媒体
US14/964,543 US20160188625A1 (en) 2014-12-18 2015-12-09 Computer-readable storage medium and method for cross-platform synchronizing attributes of files
EP15200754.8A EP3035217A1 (en) 2014-12-18 2015-12-17 Computer-readable storage medium and method for cross-platform synchronizing attributes of files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103144373A TWI546727B (zh) 2014-12-18 2014-12-18 跨平台的檔案屬性同步的方法及電腦可讀取的儲存媒體

Publications (2)

Publication Number Publication Date
TW201624264A TW201624264A (zh) 2016-07-01
TWI546727B true TWI546727B (zh) 2016-08-21

Family

ID=54850335

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103144373A TWI546727B (zh) 2014-12-18 2014-12-18 跨平台的檔案屬性同步的方法及電腦可讀取的儲存媒體

Country Status (4)

Country Link
US (1) US20160188625A1 (zh)
EP (1) EP3035217A1 (zh)
CN (1) CN105718496A (zh)
TW (1) TWI546727B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929500B (zh) * 2019-11-08 2022-07-08 腾讯科技(深圳)有限公司 文件比较方法及相关装置
CN113010479A (zh) * 2021-03-18 2021-06-22 山东英信计算机技术有限公司 一种文件管理方法、装置与介质
US20230185954A1 (en) * 2021-12-15 2023-06-15 Bank Of America Corporation Transmission of Sensitive Data in a Communication Network

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961726B1 (en) * 2000-05-25 2005-11-01 International Business Machines Corporation Method of, system for, and computer program product for storing, retrieving, and using remote host file attributes on a local file system
US6789094B2 (en) * 2000-07-25 2004-09-07 Sun Microsystems, Inc. Method and apparatus for providing extended file attributes in an extended attribute namespace
US6871245B2 (en) * 2000-11-29 2005-03-22 Radiant Data Corporation File system translators and methods for implementing the same
US6714953B2 (en) * 2001-06-21 2004-03-30 International Business Machines Corporation System and method for managing file export information
US20120150801A1 (en) * 2010-12-08 2012-06-14 Microsoft Corporation Platform agnostic file attribute synchronization
WO2013150481A1 (en) * 2012-04-05 2013-10-10 Koninklijke Philips N.V. Led light structure
EP2850761A1 (en) * 2012-05-07 2015-03-25 Telefonaktiebolaget LM Ericsson (PUBL) Object version management
JP2014010465A (ja) * 2012-06-27 2014-01-20 International Business Maschines Corporation 複数のストレージ・クラウドから実体ファイルを格納するためのストレージ・クラウドを選択する方法、並びにそのコンピュータ及びコンピュータ・プログラム
CN103532993B (zh) * 2012-07-04 2018-08-14 中兴通讯股份有限公司 基于xml的联系人自定义属性同步方法及装置
US9053108B2 (en) * 2013-02-05 2015-06-09 International Business Machines Corporation File system extended attribute support in an operating system with restricted extended attributes

Also Published As

Publication number Publication date
EP3035217A1 (en) 2016-06-22
CN105718496A (zh) 2016-06-29
TW201624264A (zh) 2016-07-01
US20160188625A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
US9734158B2 (en) Searching and placeholders
KR102128139B1 (ko) 플레이스홀더에 의한 파일 관리 기법
US10552181B2 (en) User interface extender
KR102124231B1 (ko) 플레이스홀더 및 콘텐츠 스트리밍 기법
JP6303023B2 (ja) 一時的なイベンティングに関するシステム及び方法
US9501762B2 (en) Application recommendation using automatically synchronized shared folders
KR102128138B1 (ko) 플레이스홀더에 의한 하이드레이션 및 디하이드레이션 기법
US9460107B2 (en) Filename-based inference of repository actions
US9754015B2 (en) Feature rich view of an entity subgraph
US20240241861A1 (en) Embedded folder views
TWI546727B (zh) 跨平台的檔案屬性同步的方法及電腦可讀取的儲存媒體
CN110018761B (zh) 对最近使用文件进行管理的方法、装置及终端
WO2016173136A1 (zh) 一种终端应用处理方法及其装置
CN111475467A (zh) 一种文件管理方法、云端文件管理系统及终端
US9830352B2 (en) Information processing device, information processing system, information processing method, and program
JP2023075925A (ja) ノートブックおよびパイプラインの自動的な双方向の生成および同期化
JP2023106867A (ja) エビデンス管理装置、エビデンス管理方法、プログラム、及び、記録媒体
KR20190067656A (ko) 메타정보에 따른 파일 관리 방법 및 그 시스템
JP2012098846A (ja) 情報処理装置、情報処理装置の処理方法及びプログラム。
TW201535133A (zh) 使用保留系統及使用保留方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees