TWI698754B - 雲端服務之權限管理方法及其系統 - Google Patents
雲端服務之權限管理方法及其系統 Download PDFInfo
- Publication number
- TWI698754B TWI698754B TW107143080A TW107143080A TWI698754B TW I698754 B TWI698754 B TW I698754B TW 107143080 A TW107143080 A TW 107143080A TW 107143080 A TW107143080 A TW 107143080A TW I698754 B TWI698754 B TW I698754B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- data server
- control information
- access control
- folder
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 182
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims description 73
- 238000013500 data storage Methods 0.000 claims description 35
- 230000008859 change Effects 0.000 claims description 32
- 238000007726 management method Methods 0.000 claims description 24
- 230000007246 mechanism Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 6
- 238000007689 inspection Methods 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims 3
- 230000008034 disappearance Effects 0.000 claims 2
- 238000013523 data management Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 19
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 10
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- 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
-
- 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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/457—Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本發明揭露一種於雲端資料儲存系統中管理雲端服務權限的方法。雲端資料儲存系統包括雲資料及多個資料伺服器。雲資料包括多個使用者物件檔案及全域存取控制資訊。每一資料伺服器包含存取控制強制單元,用來執行或拒絕客戶端的輸出入請求,其中存取控制強制單元內更包含區域存取控制資訊。本發明方法包括:變更雲資料內的全域存取控制資訊的內容;多個資料伺服器下載變更後的全域存取控制資訊,並依據所下載的全域存取控制資訊更新其內的區域存取控制資訊;以及多個資料伺服器依據更新後的區域存取控制資訊,處理來自客戶端的輸出入請求。
Description
本發明係在一資料儲存系統中提供一種存取雲端檔案資料的管理方法,特別是檔案資料夾(File Folder)內的檔案存取管理(File Access Management)方法。
請參考第1A圖,第1A圖係顯示先前技術中的雲端資料儲存系統(Cloud Data Storage System)10的系統方塊圖。第1A圖中的雲端資料儲存系統10包括了一雲儲存單元(Cloud Storage Unit)25與複數個資料伺服器單元(Data Server)20。
第1A圖中,該雲儲存單元25為一般市場上雲提供者(Cloud Provider)所提供給客戶的一雲資料儲存環境(即雲端環境)。該雲提供者可以是,例如:亞馬遜(Amazon)、谷歌(Google)、阿里巴巴(Alibaba)等提供客戶使用雲端儲存空間的商業組織。該雲儲存單元25內包括了一中央資料管理伺服器(Central Data Management Server)30、一雲應用程式介面(Cloud Application Programming Interface,Cloud API)35及複數個物件檔案(Object File)40。
該雲儲存單元25中的該中央資料管理伺服器30在雲端環境下為一虛擬機器(Virtual Machine,VM),該虛擬機器上執行一作業系統(Operating System,
OS)以管理該複數個位於雲端上的物件檔案40。所有的資料伺服器單元20要對雲端上的物件檔案40進行讀取或寫入動作時,須先透過雲應用程式介面35向該中央資料管理伺服器30發出讀取或寫入請求,然後透過該中央資料管理伺服器30的中央管理機制(Central Management Mechanism,CMM)處理該些讀取/寫入(Read/Write)請求,如此各資料伺服器單元20可以正確地存取該雲儲存單元25上的物件檔案40。對於各資料伺服器單元20的眾多讀取/寫入請求,該中央資料管理伺服器30的執行效能可能是整個系統效能上的瓶頸。又,該中央資料管理伺服器30內也儲存有存取控制表(Access Control List,ACL),每一資料伺服器單元20在處理客戶端電腦(Client)的讀/寫請求前,會先詢問該中央資料管理伺服器30,經該中央資料管理伺服器30檢查存取控制表後,以確認該客戶端電腦的讀/寫請求是否可以執行。
該雲儲存單元25的物件檔案40與一般作業系統下的檔型態無太大的差異,該物件檔案40的檔名可以是類似包含檔案路徑的檔名型態,透過該資料伺服器單元20解析還原可以知道該檔案與其所屬的資料夾的對應關係。該物件檔案40在該雲端資料儲存系統10中視為一次要資料(Secondary Data),該資料伺服器單元20內所儲存的資料則視為一主要資料(Primary Data)。對於該客戶端讀/寫請求所對應的一特定的檔案,當該資料伺服器單元20在其內部的儲存空間中找不到時,才會到該雲儲存單元25的物件檔案40中尋找。
在資料傳輸時,該雲儲存單元25的該雲應用程式介面(Cloud API)35係該複數個資料伺服器單元20與該雲儲存單元25間指令溝通的資料存取介面。該介面35係由雲提供者所提供,雲儲存空間的使用者需遵照其所提供的指令與規範來開發應用程式存取資料時的介面,讓使用者端所執行的應用程式可正確地自該雲儲存單元25中存取資料。
第1A圖中,該資料伺服器單元20可以是,一般具有網路功能的一伺
服器(Server)或是一網路附接儲存裝置(Network Attached Storage,NAS)或是其它具有類同功能的裝置,其內部執行一作業系統(OS),同時也連接客戶端電腦(Client,圖未示)。該資料伺服器單元20接受客戶端電腦的輸出入請求(I/O request),並據此要求雲端傳回一讀取請求(read request)所要求的資料、或是傳送一寫入請求(write request)的寫入資料至該雲儲存單元25上儲存。
當該資料伺服器單元20需要對該雲儲存單元25的物件檔案40進行讀取或寫入動作時,會透過雲應用程式介面35對該中央資料管理伺服器30詢問是否可以執行該讀取或寫入請求,其判斷基準主要是依據該中央資料管理伺服器30內部儲存的一存取控制表。各資料伺服器單元20對於雲儲存單元25上眾多的物件檔案40的詢問動作,會耗費該中央資料管理伺服器30相當多的資源與時間,使得該雲端資料儲存系統10整體的效能不佳。
此外,由於該中央資料管理伺服器30為一虛擬伺服器,雲儲存空間的使用者必須向雲儲存單元25的供應者租用該項服務,使用者必須額外支付租用虛擬伺服器的費用,也造成系統成本的增加。
請參考第1B圖,第1B圖係顯示先前技術中另一種雲端資料儲存系統10的系統方塊圖。第1B圖與第1A圖的差異處為第1B圖中不設置中央資料管理伺服器30。如此,當任一資料伺服器單元20欲從雲儲存單元25讀取物件檔案(Object File)40、或欲寫入資料至雲儲存單元25時,都不再須要透過中央資料管理伺服器30做中央式集中處理,因此可以減少須事先向中央資料管理伺服器30詢問的時間、避免中央資料管理伺服器30變成系統的瓶頸、也可以省去支付租用虛擬伺服器的費用成本;但是,這樣的做法可能會產生如第1B圖中二個資料伺服器單元20同時對該雲儲存單元25中的同一物件檔案TG(Object File TG)42寫入的錯誤。為解決此問題,先前技術的解決方法是利用「資料伺服器單元20間直接溝通」的方式,各個資料伺服器單元20間必須透過彼此間傳遞交握訊息
(handshaking message)45來溝通,確認同一時間並沒有兩個(或以上)的資料伺服器單元20欲對同一物件檔案(Object File)寫入,以避免產生寫入錯誤的情形。以第1B圖中有兩個資料伺服器單元20為例,每當其中一資料伺服器單元20需對雲儲存空間中的一物件檔案40寫入前,都必需先與另一資料伺服器單元20進行確認,以確認該另一資料伺服器單元20並未同時對該同一物件檔案40寫入。第1B圖中因僅繪出2台資料伺服器單元20,故僅需執行該兩台資料伺服器單元20間的交握訊息傳遞動作。若第1B圖中資料伺服器單元20增加至10台時,其中1台資料伺服器單元20必須對其他9台資料伺服器單元20發出交握訊息45,再得到其他9台資料伺服器單元20所回覆的交握訊息45後才能確認某一物件檔案40此時並無任何資料伺服器單元20對該物件檔案40寫入,之後該發出訊問的資料伺服器單元20才能執行對該物件檔案40的寫入。上述的說明僅針對單一個物件檔案40的一次資料存取,若當眾多個資料伺服器單元20對眾多個物件檔案40進行多次的資料存取時,則眾多資料伺服器單元20間進行的交握訊息傳遞動作的次數更是無法計數。如此,第1B圖中的雲端資料儲存系統10中,資料伺服器單元20間彼此頻繁地執行傳遞交握訊息45的行為亦將會使該雲端資料儲存系統10中的整體效能降低。
為解決上述第1A圖與第1B圖中先前技術的缺失,本案發明所提出的技術方案,可以提供一簡單有效的架構用以管理各資料伺服器單元20對雲儲存單元25的資料存取,增加系統整體的效能。
本發明之一目的係提供一種雲端資料儲存系統,用以管理雲端服務之權限,其中該雲端資料儲存系統包括:複數個資料伺服器,用以接受至少一客戶端的至少一輸出入請求並服務該輸出入請求,其中該複數個資料伺服器中
的每一更包含:一中央處理單元,用來處理該客戶端的該輸出入請求與相關資料;一記憶單元,用來暫存該客戶端的該輸出入請求指令與該相關資料;以及一存取控制強制單元,用來執行或拒絕該客戶端的該輸出入請求,其中該存取控制強制單元內包含一區域存取控制資訊;一雲資料,位於一雲儲存單元內,其中該雲資料包括:複數個使用者物件檔案,係用以提供該複數個資料伺服器存取而服務來自該客戶端的該輸出入請求,該複數個使用者物件檔案各自對應於複數個資料夾的其中之一,其中該複數個資料夾係屬於該複數個資料伺服器的檔案系統;及複數個超資料物件檔案,用以提供該複數個資料伺服器使用,其中包括一全域存取控制資訊與複數個狀態資料,該全域存取控制資訊用以記錄該複數個資料伺服器對該複數個資料夾的存取權限的對應關係,該複數個狀態資料各別用以代表該複數個資料伺服器中的某一與該複數個資料夾中的某一的對應關係;其中,當該全域存取控制資訊的內容被變更,該複數個資料伺服器中與此變更相關的一第一資料伺服器會偵測到該複數個狀態資料中與其相關的一第一狀態資料消失,因此該第一資料伺服器至該雲儲存單元下載變更後的該全域存取控制資訊、據以更新該第一資料伺服器內的該區域存取控制資訊,並根據更新後的該區域存取控制資訊處理來自該客戶端的該輸出入請求。
本發明之另一目的係提供一種於一雲端資料儲存系統中管理雲端服務的方法,該雲端資料儲存系統包括有複數個資料伺服器、一位於一雲儲存單元內之雲資料、以及連結該複數個資料伺服器與該雲資料的一網路,該方法包括:儲存複數個使用者物件檔案於該雲資料中,用以提供該複數個資料伺服器存取而服務來自一客戶端的一輸出入請求,該複數個使用者物件檔案各自對應於複數個資料夾的其中之一,其中該複數個資料夾係屬於該複數個資料伺服器的檔案系統;儲存複數個超資料物件檔案於該雲資料中,其中更包括一全域存取控制資訊與複數個狀態資料,該全域存取控制資訊用以記錄該複數個資料伺
服器對該複數個資料夾的存取權限的對應關係,該複數個狀態資料各別用以代表該複數個資料伺服器中的某一與該複數個資料夾的某一的對應關係;變更該全域存取控制資訊的內容;刪除該複數個狀態資料中的一第一狀態資料,該第一狀態資料係代表該複數個資料伺服器中的一第一資料伺服器對該複數個資料夾中的一第一資料夾的對應關係;下載變更後的該全域存取控制資訊,並據以更新該第一資料伺服器內部的一區域存取控制資訊;以及根據更新後的該區域存取控制資訊處理來自該客戶端的該輸出入請求。
10:雲端資料儲存系統
20:伺服器單元
25:雲儲存單元
30:中央資料管理伺服器
35:雲應用程式介面
40:物件檔案
42:物件檔案
45:交握訊息
80:使用者物件檔案
90:超資料物件檔案
92:全域存取控制資訊
94A,94B,94C:狀態資料
100:雲端資料儲存系統
120:雲資料
140:雲應用程式介面
200:雲儲存單元
211,212,213,214,215,216:物件檔案
300:資料伺服器
311,312,313,314,315,316:檔案
350,380:網路
400:硬體
410:中央處理單元
420:動態隨機存取記憶體
430:非揮發性記憶體
440:唯讀記憶體
450:儲存介面控制器
460:網路介面控制器
480:實體儲存裝置陣列
485:實體儲存裝置
500:客戶端電腦
510:超控制器
520:作業系統
530:存取控制強制單元
535,535A,535B,535C:區域存取控制資訊
550:雲通道服務
599A,599B:資料
555,560,562,568,570,572,580,582:資料夾
590,592,594:欄位(Column)
600,610,620,630,640,650,660,670,680,690,695:步驟
700,705,710,715,720,720A,720B:步驟
725,730,740,745,750,755,760,765,770,
775,780:步驟
800,805,810,815,,818,820,820A,820B,825,
830:步驟
835,840,845,850,855,860,865,870,875,880:步驟
900,905,910,915,920,920A,920B,925A,930A,935A:步驟
945A,950A,955A,960A:步驟
925B,930B,940C,940D:步驟
970C,975C,980C,985C,990C,995C:步驟
970D,975D,995D:步驟
1000,1010,1020,1030,1040,1050,1060,1070,1080,1090,1095:步驟
1100,1110,1120,1120A,1120B,1130,1140,1150,1160,1170,1180,1190,1195:步驟
1200,1210,1220,1230:步驟
1300,1310,1320,1330,1340,1350,1355,1360:步驟
第1A圖係依據先前技術的一雲端資料儲存系統的架構圖(一)。
第1B圖係依據先前技術的一雲端資料儲存系統的架構圖(二)。
第2圖係依據本發明的一實施例的一雲端資料儲存系統的架構圖。
第3A圖係依據本發明的一實施例的複數個物件檔案之檔名態樣及其所包含的資料夾架構圖。
第3B圖係第3A圖的實施例中各物件檔案對應至一般檔案架構下的資料夾架構圖。
第4A圖係依據本發明之一實施例的資料伺服器的硬體架構圖。
第4B圖係依據本發明之一實施例的資料伺服器的軟硬、體架構之關係圖。
第5A圖係依據本發明之一實施例的根目錄下各分公司專用的資料夾及其下的子資料夾架構關係圖(一)。
第5B圖係第5A圖的實施例中的一全域存取控制資訊的內容。
第6A圖係依據本發明之一實施例的根目錄下各分公司專用的資料夾及其下的子資料夾架構關係圖(二)。
第6B圖係第6A圖的實施例中的一全域存取控制資訊的內容。
第6C圖係第6B圖的實施例中的各區域存取控制資訊的內容。
第7圖係依據本發明之一實施例的一變更全域存取控制資訊設定的流程圖。
第8圖係依據本發明之一實施例的全域存取控制資訊設定變更後的各資料伺服器的處理流程圖。
第8A圖係第8圖中的步驟720A中的子流程的流程圖。
第8B圖係第8圖中的步驟720B中的子流程的流程圖。
第9圖係依據本發明之另一實施例的全域存取控制資訊設定變更後的各資料伺服器的處理流程圖。
第9A圖係第9圖中的每一步驟818中的子流程的流程圖。
第9B圖係第9A圖中的步驟820A的子流程的流程圖。
第9C圖係第9A圖中的步驟820B的子流程的流程圖。
第10圖係依據本發明之又一實施例的全域存取控制資訊設定變更後的各資料伺服器的處理流程圖。
第10A圖係第10圖中的步驟920A的子流程的流程圖。
第10B圖係第10圖中的步驟920B的子流程的流程圖。
第10C圖係第10B圖中的步驟940C的子流程的流程圖。
第10D圖係第10B圖中的步驟940D的子流程的流程圖。
第11圖係依據本發明之另一實施例的一變更全域存取控制資訊設定的流程圖。
第12圖係依據本發明之再一實施例的全域存取控制資訊設定變更後的各資料伺服器的處理流程圖。
第12A圖係第12圖中的步驟1120A的子流程的流程圖。
第12B圖係第12圖中的步驟1120B的子流程的流程圖。
第13圖係依據本發明的一實施例的該資料伺服器於處理客戶端輸出入請求時的流程圖。
請參考第2圖,係依據本發明的一實施例的一雲端資料儲存系統100的架構圖。第2圖中繪示的雲端資料儲存系統(Cloud Data Storage System,CDSS)100主要包含了一雲儲存單元200及複數個透過網路(network)350連接到雲儲存單元200的資料伺服器(Data Server)300。客戶端電腦(Client)500則透過網路(network)380連接到資料伺服器(Data Server)300,並透過資料伺服器300存取雲儲存單元200中的資料。
第2圖中該雲儲存單元200儲存了一群雲資料(Cloud Data)120與具有一雲應用程式介面(Cloud Application Programming Interface,Cloud API)140。該雲資料120由許多個物件檔案(Object File)所組成,該些物件檔案可以再進一步區分為兩類:使用者物件檔案(User Object File)80與超資料物件檔案(Meta Data Object File)90。其中,使用者物件檔案80係一或多個客戶端電腦500透過一或多個資料伺服器300而建立並存取的使用者資料;超資料物件檔案90係專門提供給該一或多個資料伺服器300所使用的物件檔案,其進一步可以再區分為一全域存取控制資訊(Global Access Control Information)92與複數個狀態資料(Status Data)94A、94B、94C,其中該複數個狀態資料(Status Data)94A、94B、94C各別用以代表複數個資料伺服器(Data Server)300中的某一與其一相關資料夾的對應關係。上述該全域存取控制資訊92、狀態資料94A-94C等資訊係分別以多個超資料物件檔案90呈現。依據本發明的另一實施例,上述該全域存取控制資訊92、狀態資料94A-94C等資訊係集中於一個超資料物件檔案90內呈現。
雲儲存單元200中的雲應用程式介面(Cloud API)140係用以在進行資
料傳輸時,協助該複數個資料伺服器300與該雲儲存單元200間指令溝通的資料存取介面。該雲應用程式介面140係由雲提供者(Cloud Provider)所提供,雲儲存空間的使用者需遵照其所提供的指令與規範來開發應用程式做為存取資料時的介面,讓使用者端所執行的應用程式可正確地自雲端環境中存取資料。對於第2圖中該雲端資料儲存系統100而言,該雲儲存單元200為次要的資料儲存空間。
第2圖中,該複數個資料伺服器300係透過一網路(network)350連接到該雲儲存單元200,其中該網路350可以是一網際網路或是一區域網路。該複數個客戶端電腦500係透過另一網路(network)380與該些資料伺服器300連接,其中該網路380可以是一網際網路或是一區域網路。依據本發明的另一實施例,該網路350及380可以是同一個網路。雖然第2圖中該複數個資料伺服器300之間沒有透過網路350直接連接來相互溝通;依據本發明之另一實施例,該複數個資料伺服器300之間也可以直接利用網路或其它電訊連接方式直接或間接連接溝通。
第2圖中,該複數個資料伺服器300可以是一般的伺服器,主要用於服務與其連接的客戶端電腦500並處理其所傳來的輸出入請求(I/O request)。該資料伺服器300的內部透過於一伺服器作業系統(OS)上所執行的各項的通訊協定(Protocol)及應用程式(Application),處理來自客戶端電腦500的輸出入請求(I/O request),該輸出入請求(I/O request)可能是一讀取請求,要求由該雲儲存單元200上讀回資料;或是一寫入請求,要求傳送資料至該雲儲存單元200上儲存。依據本發明的一實施例,於資料伺服器300內的儲存單元,例如記憶體、硬碟等,所儲存的內部資料被視為一暫時的快取資料(Cache Data)。當資料伺服器300接收到來自客戶端電腦500的「讀取請求」並且在內部找不到相對應的資料時,該資料伺服器300才會自雲儲存單元200上讀回其相對應的使用者物件檔案並回覆給該客戶端電腦500;當資料伺服器300接收到來自客戶端電腦500的「寫入請求」時,
會先儲存相對應的寫入資料至該資料伺服器300內,之後再將該寫入資料傳送至該雲儲存單元200上儲存。
第2圖中,客戶端電腦500可以是一般電腦或是其他的伺服器,其係對該複數個資料伺服器300發出輸出入請求(I/O request)並等待該等資料伺服器300傳回該輸出入請求(I/O request)處理後的結果。
請參考第3A圖及第3B圖。依據本發明的一實施例,第3A圖及第3B圖係該雲資料120中的物件檔案與一般作業系統內檔案系統的資料夾結構之對應關係圖。第3A圖中所繪示的6個物件檔案之檔名,經過資料伺服器300的解析轉換後,會呈現如第3B圖中的資料夾(File Folder)架構。第3A圖中的物件檔案211至216,其檔名與一般作業系統下所看到的檔案不同,在每一物件檔案最右邊的「\」之後的檔名(主檔名與附檔名)為一般在作業系統內所呈現的檔名,在物件檔案最右邊的「\」之前的一連串包含一或多個「\」的所有文字則視為該物件檔案對應於檔案系統下所存放的「路徑」。故,第3A圖內的物件檔案211中其「\US\ABC.txt」的檔名,經過該資料伺服器300解析為「根目錄下的一名稱為US資料夾內的一檔名為ABC.txt的檔案」,對應到第3B圖中即為檔案311(ABC.txt);第3A圖內的物件檔案212中其「\TW\pqr.txt」的檔名,經過該資料伺服器300解析為「根目錄下的一名稱為TW資料夾內的一檔名為qpr.txt的檔案」,對應到第3B圖中即為檔案312(pqr.txt)。第3A圖中其他的物件檔案213至216也依此轉換規則,透過該資料伺服器300分別解析而對應到第3B圖中的檔案313至檔案316。
雖然第3A圖中的物件檔案211至216,其使用「\」的符號作為該資料伺服器300辨識該物件檔案在一般作業系統下所顯示的資料夾結構關係,但依據本發明的另一實施例,該資料伺服器300辨識該物件檔案在一般作業系統下所顯示的資料夾結構關係所使用的符號並不限於「\」的符號,也可以使用例如:「@」、「!」、「\\」、「\\\」、「~~」等各種的一或多個的符號來取代該「\」符號,
只要該等符號是符合雲提供者對於檔名的規範者都可以使用。
請參考第4A圖,第4A圖係根據本發明一實施例繪示第2圖中的資料伺服器300其硬體的基本架構方塊圖。依據本發明之一實施例,該資料伺服器300的基本架構包括:一中央處理單元(CPU)410、一唯讀記憶體(ROM)440、一動態隨機存取記憶體(DRAM)420、一儲存介面控制器(Storage Interface Controller)450、一實體儲存裝置陣列(Physical Storage Device Array,PSD Array)480、一非揮發性記憶體(NVRAM)430及一網路介面控制器(Network Interface Controller,NIC)460等,上述各單元透過一或多個匯流排(Bus)來傳遞彼此間的訊息與資料。其中,實體儲存裝置陣列(PSD Array)480更包含複數個實體儲存裝置485,例如:硬碟(Hard Disk Drive,HDD)、固態硬碟(Solid State Disk,SSD)、或其它可以達到類同儲存功能的實體儲存裝置485。
第4A圖中,該中央處理單元410係為該資料伺服器300的主要核心單元,其用來執行硬體、作業系統、與應用程式間的資料處理程序。其中該中央處理單元410可為一Power PC、一x86或任何架構的CPU。該唯讀記憶體440係用來儲存該資料伺服器300開機時的基本輸出入系統(BIOS)及/或其他程式。該動態隨機存取記憶體420作為CPU指令或是各種資料的暫存之處,其可用來儲存來自客戶端電腦500的寫入資料,以等待該中央處理單元410處理,或是儲存該中央處理單元410已處理好的資料,等待儲存至該實體儲存裝置陣列480內或是透過網路介面控制器460將已處理好的資料送出。該非揮發性記憶體430可以利用快閃記憶體(Flash memory)來實現,其用來儲存存取該實體儲存裝置陣列480的輸出入請求(I/O request)執行狀態的相關資料,以備相關輸出入請求(I/O request)操作尚未做完前發生不正常電源關閉時,作檢驗使用。該儲存介面控制器450係為一儲存介面,用以將中央處理單元410執行處理後的資料儲存至實體儲存裝置陣列480內,或是自實體儲存裝置陣列480內讀取相關的資料至動態隨機存取記憶體
420內暫存,等待中央處理單元410處理。該儲存介面控制器450所採用的通訊協定可以是光纖通道(Fiber Channel,FC)、串列附接小型電腦系統介面(Serial Attached SCSI,SAS)、串列先進技術接取(Serial ATA,SATA)或是任何適用的傳輸協定。該實體儲存裝置陣列480係由多個實體儲存裝置485所組成,用來提供該資料伺服器300儲存資料的空間。依據本發明的另一實施例,當該資料伺服器300不提供資料的儲存空間時,則該實體儲存裝置陣列480可以省略。該網路介面控制器460對外連接到一網路,其係將中央處理單元410處理後的資料或是訊息透過網路傳給網路上的其他裝置、或是將該網路上其他裝置的資料傳送至動態隨機存取記憶體420內暫存。
請參考第4B圖,第4B圖係根據本發明一實施例繪示第2圖中的資料伺服器300其軟、硬體的架構關係圖。第4B圖中該資料伺服器300的軟體係架構於硬體400之上,該硬體400組織架構如第4A圖中所示的架構。
根據第4B圖所示之實施例,在資料伺服器300的硬體400與作業系統(OS)520之間有一超控制器(Hypervisor)510,亦可稱為虛擬機器監視器(Virtual Machine Monitor,VMM),該超控制器(Hypervisor)510(或VMM)可以用軟體、韌體或硬體的方式實現。該Hypervisor 510提供一虛擬的作業平台供一或多個作業系統(OS)共用該硬體400上的資源,因此該Hypervisor 510也可以視為第4B圖中該作業系統520的「元作業系統」(Pre Operating System),其主要用來協調及分配運行於該資料伺服器300上的多個作業系統的硬體400資源。在不中斷各作業系統運轉的情況下,該超控制器510可以自動地增加或減少其中一作業系統可以運用的硬體資源,例如:所分配的CPU、記憶體空間、網路介面、硬碟儲存空間等硬體資源,使得各作業系統間的工作負載(workload)接近平衡。雖然第4B圖中僅繪出一作業系統520,但實際上運行於該Hypervisor 510上的作業系統可以是多個。依據本發明的另一實施例,若該資料伺服器300僅需要單一個作業系統時,
則該超控制器510可以省略。
第4B圖中,該作業系統520可以是一般常見的作業系統,例如:Windows、Linux、Solaris等,該作業系統520提供多工(Multi-Task)、分時(Time Sharing)的作業環境,讓多個應用程式與程序可以同時執行。第4B圖中,在該作業系統520上分別執行一存取控制強制單元(Access Control Enforcement Unit)530及一雲通道服務(Cloud Gateway Service)550的應用程式。該存取控制強制單元530係執行第2圖中該客戶端電腦500所發出的輸出入請求(I/O request)的一軟體模組。該存取控制強制單元530是否會執行或是拒絕該客戶端電腦500所發出的輸出入請求(I/O request),是參考該存取控制強制單元530內儲存的一區域存取控制資訊(Local Access Control Information)535而決定。當該客戶端電腦500所發出的輸出入請求(I/O request)符合該區域存取控制資訊535內的設定(setting)時,該存取控制強制單元530會執行該客戶端電腦500的輸出入請求(I/O request),否則會拒絕執行該客戶端電腦500的輸出入請求(I/O request)。如此,以達到第2圖中該複數個資料伺服器300對該雲資料120的資料存取管理(Data Access Management)的目的。該Cloud Gateway Service 550係作為該存取控制強制單元530對外與雲資料120(如第2圖所示)之間的一中介服務程式,其接受該存取控制強制單元530的指令對該雲資料120進行物件檔案的存取。
請再參考第2圖,由於本發明不透過設置於雲儲存單元200中之虛擬機器做為資料存取的中央管理機制(Central Management Mechanism,CMM),而是讓各資料伺服器300直接存取雲儲存單元200中的資料;也就是說,各個資料伺服器300對雲資料120做資料存取時,各個資料伺服器300之間不需要透過中央管理機制來管理資料存取的權限。依據本發明的一實施例,雲端上或是網路上並未設置一中央資料管理伺服器(Central Data Management Server),因此各個資料伺服器300之間必須透過一「資料存取管理機制」,方能避免該等資料伺服器300
同時對雲資料120中的同一物件檔案寫入,以至於發生資料混亂或寫入錯誤。依據本發明的一實施例,該資料存取管理機制的基本概念包括:(1)該雲端資料儲存系統100在該雲資料120中設置一記錄全域存取控制資訊(Global Access Control Information)的物件檔案92,該全域存取控制資訊92的內容,於本發明之一實施例,如第5B圖所示,其內記錄各資料伺服器300與其相關的資料夾之存取權限的對應關係;(2)各資料伺服器300自該雲儲存單元200中下載該全域存取控制資訊92檔案,並依據該全域存取控制資訊92的內容,各自更新資料伺服器300內部的一區域存取控制資訊(Local Access Control Information),如第4B圖中所示的該區域存取控制資訊535;(3)針對Client 500對各資料伺服器300所發出的輸出入請求(I/O request),各資料伺服器300依據本身的區域存取控制資訊535設定資訊,判斷其是否可以執行該輸出入請求(I/O request),若否,則拒絕該輸出入請求(I/O request);若是,則執行該輸出入請求(I/O request)。透過上述的「資料存取管理機制」,讓第2圖中複數個資料伺服器300在處理客戶端電腦500對雲儲存單元200中的輸出入請求(I/O request)時,不會發生同時寫入資料到使用者物件檔案80的錯誤情形。依據本發明的一實施例,上述本發明的「資料存取管理機制」也同時解決如第1A圖與第1B圖中習知技術的問題。
請同時參考第5A圖及第5B圖,依據本發明之一實施例,第5A圖係繪示在雲儲存單元200之根目錄(Root Directory)555下各分公司專用的資料夾(File Folder)與其下子資料夾的架構關係圖。第5B圖所繪示的表格係為對應於第5A圖中各個資料夾與子資料夾的架構關係的一全域存取控制資訊92的示意圖。
依據本發明之一實施例,第5A圖所繪示之根目錄555下包含3個資料夾,分別為一名為“Taipei”的資料夾560、一名為“New York”的資料夾570及一名為“London”的資料夾580,其分別表示供台北分公司、紐約分公司、倫敦分公司存放資料之用。其中,該資料夾Taipei 560內進一步包含多層的子資料夾(Sub File
Folder),例如:A、B、C、D、E、US MKT及Inventory等各子資料夾;該資料夾New York 570內進一步包含多層的子資料夾,例如:A、B、C及Inventory等各子資料夾;該資料夾London 580內進一步包含多層的子資料夾,例如A、B、C及Inventory等各子資料夾。假設各分公司對於其下所屬的資料夾都有「讀與寫」(或完全控制)的權限,但對於其他分公司內名為Inventory的子資料夾僅有「讀」的權限,例如:台北分公司對於資料夾Taipei 560及其下所包含的各層子資料夾都有「讀寫」的權限,但對於資料夾New York 570下的Inventory子資料夾572、資料夾London 580下的Inventory子資料夾582卻都僅有「讀」的權限;紐約分公司對於資料夾New York 570及其下所包含的各層子資料夾都有「讀寫」的權限,但對於資料夾Taipei 560下的Inventory子資料夾562、資料夾London 580下的Inventory子資料夾582卻都僅有「讀」的權限;倫敦分公司對於資料夾London 580及其下所包含的各層子資料夾都有「讀寫」的權限,但對於資料夾New York 570下的Inventory子資料夾572、資料夾Taipei 560下的Inventory子資料夾562卻都僅有「讀」的權限。
請參考如第2圖中所示的方塊圖,假設資料伺服器A 300的身分識別(Identity,ID)為Data_Server_A;資料伺服器B 300的身分識別為Data_Server_B;資料伺服器C 300的身分識別為Data_Server_C。台北分公司透過該資料伺服器A 300上傳相關資料至該雲儲存單元200或自該雲儲存單元200下載相關資料至該資料伺服器A 300;紐約分公司透過該資料伺服器B 300上傳相關資料至該雲儲存單元200或自該雲儲存單元200下載相關資料至該資料伺服器B 300;倫敦分公司透過該資料伺服器C 300上傳相關資料至該雲儲存單元200或自該雲儲存單元200下載相關資料至該資料伺服器C 300。由於本發明不透過設置於雲儲存單元200中之虛擬機器做為資料存取的中央管理機制(Central Management Mechanism),因此各地分公司透過不同的資料伺服器來對雲儲存單元200進行資料存取時,須要共同
遵循同一機制(mechanism),如第5B圖中的全域存取控制資訊92的設定(setting),用來規範各資料伺服器300對於該雲資料120的存取,以避免屬於其中一分公司本身的資料卻被其他的分公司所讀取、修改、刪除。
請參考第5B圖,第5B圖中,係繪示該全域存取控制資訊92的內容,其內容係對應至第5A圖中各分公司專用的資料夾設定。該全域存取控制資訊92的內容可以採「正面表列」的方式來設定,即所有資料伺服器與雲端資料夾/路徑間的權限設定都須記錄於該全域存取控制資訊92內做為資料存取的規範,若沒有記錄就沒有相關規範。依據本發明的另一實施例,該全域存取控制資訊92的內容亦可採「負面表列」的方式來設定,即只記錄“不可”實施的規範於該全域存取控制資訊92內,沒有記錄者則表示沒有存取限制。依據本發明的再一實施例,該全域存取控制資訊92的內容可以同時採取「正面表列」與「負面表列」的方式來記錄相對應的存取管理。依據本發明的一實施例,第5B圖中,該全域存取控制資訊92的內容為複數個記錄項目(entry),該複數個記錄項目(entry)可以組成一表格(如第5B圖所示範例)或只是一連串的資料(圖中未示),或是其它型式的記錄方式,只要能夠清楚記錄所有資料伺服器對相關資料夾的存取權限的對應關係即可。其中每一記錄項目(entry)至少包含有一資料伺服器身分識別(Data Server ID)的欄位590、一資料夾名稱(Folder Name)的欄位592及一存取權限(Access Right)的欄位594等設定資訊。
第5B圖中,該Data Server ID欄位590所指的是第2圖中各資料伺服器300的身分識別,以第5A圖為例,資料伺服器A 300的身分識別為Data_Server_A;資料伺服器B 300的身分識別為Data_Server_B;資料伺服器C 300的身分識別為Data_Server_C。該Folder Name欄位592所指的是如第5A圖中其中一資料夾的名稱,該資料夾名稱的表示必須從根目錄至所指定的資料夾間的「完整路徑」,例如:當要設定第5A圖中資料夾Taipei 560時,即以「\Taipei」表示;
當要設定第5A圖中資料夾US MKT時,即以「\Taipei\A\C\US MKT」表示。上述該「\Taipei」與「\Taipei\A\C\US MKT」即表示該根目錄至所指定資料夾間的「完整路徑」。該Access Right欄位594表示該伺服器身分識別欄位590所指的資料伺服器300對該Folder Name欄位592內記錄的資料夾所具有的權限設定,該權限設定,於本發明之一實施例,可以是「Read and Write」及「Read Only」,或再包括其他權限設定,例如:「Modify」及「List」。該「Read and Write」權限設定是指:所設定的資料夾,包含其下所屬的所有子資料夾,其對應的資料伺服器300對其可以同時有「Read」與「Write」的存取權限;該「Read Only」權限設定是指:所設定的資料夾,包含其下所屬的子資料夾,其對應的資料伺服器300對其只能有「Read」的權限,沒有「Write」的權限;「Modify」權限設定是指:所設定的資料夾,包含其下所屬的子資料夾,其對應的資料伺服器300對其有「修改」的權限,此一修改的權限可能包含讀取、寫入、刪除等可以對該資料夾內容進行修改的權限;「List」權限設定是指:所設定的資料夾,包含其下所屬的子資料夾,其對應的資料伺服器300對其有「列出資料夾內容」的權限。必須注意的是,為避免產生資料存取的衝突,「不同的資料伺服器300」對「同一個資料夾」設定其存取權限時,於本發明之一實施例,只能有一個資料伺服器300對該資料夾可以有較高的存取權限,例如:「Read and Write」及/或「Modify」,其他的資料伺服器300對該資料夾的存取權限只可以設定為較低的存取權限,例如:「Read Only」及/或「List」。此外,當某一較上層的資料夾(母資料夾)的存取權限被設定後,該母資料夾其下所有的子資料夾會繼承與該母資料夾相同的存取權限。於本發明之一實施例,若要使該某一子資料夾的存取權限設定與其母資料夾不相同時,該子資料夾的存取權限可以再另外設定。
根據第5A圖中的例示,假設台北分公司對應的資料伺服器A被設定為可以對資料夾Taipei 560及其內所有子資料夾內的檔案做讀出與修改,也就是
說,台北分公司對於資料夾Taipei 560及其內所有子資料夾都有「Read and Write」的權限。據此,第5B圖中,該全域存取控制資訊92內有關資料伺服器A 300與資料夾Taipei 560的設定為:在伺服器身分識別的欄位590中填入代表「Data_Server_A」的資料,在Folder Name的欄位592中填入代表「\Taipei」的資料,在Access Right的欄位594中填入代表「Read and Write」的資料。又,因台北分公司對於紐約分公司的Inventory資料夾、倫敦分公司的Inventory資料夾都只有「讀」的權限,故第5B圖中,該全域存取控制資訊92內有關資料伺服器A 300與資料夾New York\Inventory 572的設定為:該伺服器身分識別欄位590中填入代表「Data_Server_A」的資料,該Folder Name欄位592中填入代表「\New York\Inventory」的資料,該Access Right欄位594中填入代表「Read Only」的資料。同理,該全域存取控制資訊92內有關該資料伺服器A 300與該資料夾London\Inventory 582的設定為:該Data Server ID欄位590中填入代表「Data_Server_A」的資料,該Folder Name欄位592中填入代表「\London\Inventory」的資料,該Access Right欄位594中填入代表「Read Only」的資料。以此類推,假設第5A圖中紐約分公司、倫敦分公司分別透過資料伺服器B 300、資料伺服器C 300上傳/下載雲儲存單元200的資料且分別存取各自的資料夾New York 570及London 580,故第5B圖中會有其相對應的設定,例如:第4列針對資料夾New York 570的權限設定、以及第7列針對資料夾London 580的權限設定。又,因設定紐約分公司、倫敦分公司只能「讀取」其他分公司中的Inventory資料夾,故第5B圖中也有如第5-6列、第8-9列中相對應的設定。
第5B圖繪示的全域存取控制資訊92中,與「Data_Server_A」相關的記錄項目(entry)有3筆,該3筆記錄項目(entry)以虛線方框596圈起來,該虛線方框596所圈起的記錄項目(entry)可視為對應到資料伺服器A 300內所記錄的區域存取控制資訊535。同樣地,第5B圖繪示的全域存取控制資訊92中與
「Data_Server_B」、「Data_Server_C」相關的記錄項目(entry)也分別有3筆,其分別以虛線方框597、虛線方框598圈起來表示;也就是說,虛線方框597、虛線方框598所圈起的記錄項目(entry)分別對應到資料伺服器B 300、資料伺服器C 300內記錄的區域存取控制資訊535。每一資料伺服器300的區域存取控制資訊535只有記錄與其本身相關資料夾的存取權限設定,因此,各資料伺服器300對於處裡來自客戶端電腦500的輸出入請求(I/O request)時,資料伺服器300只須依據本身記錄的區域存取控制資訊535判斷是否執行該客戶端電腦500的輸出入請求(I/O request),可以縮短判斷時間,增進該雲端資料儲存系統100的效能。
雖然第5A圖中繪示的全域存取控制資訊92與第4B圖中繪示的區域存取控制資訊535是以表格的方式呈現,但是依據本發明的另一實施例,該全域存取控制資訊92與該區域存取控制資訊535也可以用文字、符號或其他的表達方法來記錄。又,第2圖中該雲資料120中該全域存取控制資訊92為一物件檔案,同時也為一超資料,僅供該資料伺服器300存取管理使用。
第5A圖中,分別以三個虛線框圈起台北分公司、紐約分公司、倫敦分公司各自具有較高存取權限(例如:「Read and Write」及/或「Modify」)的資料夾;亦可稱該些被圈起的資料夾屬於各個不同的分公司所管轄。當台北分司所屬的資料夾Taipei 560下的子資料夾US MKT 568須要將其較高的存取權限轉移給其它分公司時(例如:紐約分公司),此時需要執行該全域存取控制資訊92的「設定改變程序」,以使得該子資料夾US MKT 568較高的存取權限(例如:「Read and Write」及/或「Modify」)由該台北分公司轉移到該紐約分公司。當子資料夾US MKT 568的較高存取權限(例如:「Read and Write」)由台北分公司轉移到紐約分公司後,台北分公司對於該子資料夾US MKT 568的存取權限則會降階變成只有「Read Only」的權限。以上所述之轉變後的結果,如第6A圖與第6B圖中所示。其中,第6A圖繪示原屬於台北分公司管轄的資料夾的子資料夾US MKT 568,其管轄權
被單獨轉移到紐約分公司之後的資料夾架構關係圖;第6B圖繪示全域存取控制資訊92的設定改變後的內容,與第5B圖相較第6B圖新增兩筆新記錄項目以記錄以上更動,如第6B圖中粗框599A與粗框599B所示。
請再次參考第6A圖與第6B圖。根據第6A圖,因設定將子資料夾US MKT 568的較高存取權限(例如:「Read and Write」)由台北分公司轉移至紐約分公司,且基於本發明的一處理原則:『為避免產生資料存取的衝突,不同的資料伺服器300對同一個資料夾設定其存取權限時,在同一時間(時期)只有一個資料伺服器300對該資料夾可以有較高的存取權限,例如:「Read and Write」及/或「Modify」,其他的資料伺服器300對該資料夾的存取權限只可以設定為較低的存取權限,例如:「Read Only」』。故,台北分公司對於子資料夾US MKT 568的存取權限不能再維持為原來的「Read and Write」,只能修改為「Read Only」的設定。又原來子資料夾US MKT 568的預設存取權限是繼承其母資料夾Taipei 560的設定,因此第5B圖所示的全域存取控制資訊92中並無特別針對子資料夾US MKT 568記錄其權限設定。但若子資料夾不依照預設值繼承母資料夾之權限設定時,全域存取控制資訊92中必須新增該子資料夾(如子資料夾US MKT 568)的設定,如第6B圖中的599A的設定記錄:Data_Server_A對子資料夾US MKT 568的存取權限設定為「Read Only」;相對地,子資料夾US MKT 568的較高存取權限移轉給紐約分公司,因此全域存取控制資訊92中必須新增此一設定,記錄Data_Server_B對子資料夾US MKT 568的存取權限設定為「Read and Write」,如第6B圖中的599B的設定記錄。依據本發明的另一實施例,第6A圖中台北分公司所在的資料伺服器A 300與紐約分公司所在的資料伺服器B 300擁有對子資料夾US MKT 568較高存取權限(例如:「Read and Write」及/或「Modify」)的時間係不同、不重疊、互斥或分開的。例如:設定台北分公司所在的資料伺服器A 300在每一天的台北時間8:00至20:00時擁有對子資料夾US MKT 568的Read and Write存取權限,且設
定紐約分公司所在的資料伺服器B 300在每一天的台北時間20:00至8:00擁有對子資料夾US MKT 568的Read and Write存取權限。對於一特定資料夾(例如:US MKT 568),透過排程(schedule)設定其較高的存取權限(例如:「Read and Write」及/或「Modify」)在不同時間(時段)分派給不同資料伺服器300使用,使得複數個資料伺服器300可以在不同時間(時段)輪流享有對該特定資料夾的較高的存取權限(例如:「Read and Write」及/或「Modify」)。然而,此一以排程(schedule)設定存取權限的方式仍須遵守上述之處理原則:『為避免產生資料存取的衝突,不同的資料伺服器300對同一個資料夾設定其存取權限時,在同一時間(時期)只有一個資料伺服器300對該資料夾可以有較高的存取權限,例如:「Read and Write」及/或「Modify」,其他的資料伺服器300對該資料夾的存取權限只可以設定為較低的存取權限,例如:「Read Only」』。因此,以上範例中的資料伺服器A 300(台北分公司)與資料伺服器B 300(紐約分公司)擁有對子資料夾US MKT 568的較高存取權限(例如:「Read and Write」)各自被限制在與對方互不重疊的一段時間,在此時間(時段)之外對子資料夾US MKT 568則僅有Read Only的權限。
請參考第6C圖,第6C圖中係繪示各資料伺服器300內部的區域存取控制資訊535的內容。第6C圖中包含了該資料伺服器A 300內的區域存取控制資訊535A、資料伺服器B 300內的區域存取控制資訊535B及資料伺服器C 300內的區域存取控制資訊535C。第6C圖中,該三個區域存取控制資訊535A、535B、535C的記錄內容皆在第6B圖之該全域存取控制資訊92中可以找到相同的記錄,所差異的只是區域存取控制資訊535A、535B、535C只記錄各資料伺服器300本身相關的權限設定,而全域存取控制資訊92則包括各區域存取控制資訊535的設定記錄。表格535A中,該欄位590的Data Server ID中只記錄代表「Data_Server_A」的資料;表格535B中,該欄位590的Data Server ID中只記錄代表「Data_Server_B」的資料;表格535C中,該欄位590的Data Server ID中只記錄代表「Data_Server_C」
的資料。因Data_Server_A、Data_Server_B、及Data_Server_C的Data Server ID分別對應到該資料伺服器A 300、該資料伺服器B 300及該資料伺服器C 300,故可知該表格535A、該表格535B及該表格535C分別為該資料伺服器A 300、該資料伺服器B 300及該資料伺服器C 300內部的區域存取控制資訊535。因第6B圖中該全域存取控制資訊92的內容包含了第6C圖中每一區域存取控制資訊535的內容,故,依據本發明的另一實施例,該每一資料伺服器300內的區域存取控制資訊535可以用該全域存取控制資訊92來套用,不用再經過篩選。
依據本發明的一實施例,對於第2圖中雲資料120的全域存取控制資訊92的內容,需要透過管理者來修改。管理者可以透過該資料伺服器A 300、該資料伺服器B 300、該資料伺服器C 300其中任何一台資料伺服器來修改雲資料120中的全域存取控制資訊92。依據本發明的另一實施例,除了該資料伺服器300以外,管理者也可透過其他的電腦來修改該全域存取控制資訊92的設定內容。該管理者修改該全域存取控制資訊92的設定內容的流程如第7圖中的流程圖。
請參考第7圖,依據本發明的一實施例,第7圖係繪示管理者變更全域存取控制資訊92內容的流程圖。該流程開始於步驟600。
步驟600中,係該管理者登入雲端。由於管理者可以透過任一的資料伺服器300修改該雲資料120中的該全域存取控制資訊92,故管理者透過執行該資料伺服器300內的一管理程式(圖未示)來修改該雲資料120中該全域存取控制資訊92的內容。該管理程式被設計為透過一使用者介面(User Interface,UI)來執行修改該全域存取控制資訊92的內容。
步驟610中,係該管理程式確認該管理者的身份。此步驟係避免該全域存取控制資訊92被管理者身份以外的其他人執行不當的修改。當該管理程式被執行後,於本發明之一實施例,該管理程式會自動從該雲儲存單元200中下載
該管理者的管理密碼,管理者必須輸入正確的管理者密碼才能執行後續對該全域存取控制資訊92的設定,否則無法進入全域存取控制資訊92的管理畫面進行任何設定修改或變更。依據本發明的另一實施例,該管理者必須同時輸入正確的帳號及密碼方可執行該全域存取控制資訊92後續的變更設定。
步驟620中,係該管理程式藉由密碼的正確性來判斷該管理者的身份是否正確,若是,則執行步驟630,若否,則回到步驟610,繼續輸入該管理者的密碼以確認該管理者的身份。依據本發明的一實施例,該管理者的密碼在連續錯誤的情況下並不會影響管理者繼續登入。依據本發明的另一實施例,對於該管理者的密碼連續輸入錯誤3次時,該管理程式會自動終止該全域存取控制資訊92的登入程序。
步驟630中,係該資料伺服器300透過該管理程式讀取並顯示雲端上的全域存取控制資訊的內容。透過該管理程式中的使用者介面(UI),該全域存取控制資訊92的內容被顯示於該使用者介面(UI)上。該全域存取控制資訊92的設定畫面,於本發明之一實施例,可以如第6A圖、第6B圖中所繪示的表格。依據本發明的另一實施例,該全域存取控制資訊92的設定畫面係以文字或符號的方式來呈現。當該全域存取控制資訊92的內容被顯示於該使用者介面上時,該管理者可以對其中的任何欄位來作修改,或是新增任何的設定。
步驟640中,係該管理程式判斷該全域存取控制資訊92的內容是否被更改,若否,則結束該全域存取控制資訊92的設定流程。若是,則繼續執行步驟650的判斷。
步驟650中,係該管理程式檢查並確認該全域存取控制資訊92的設定變更後是否有衝突?基於本發明的一處理原則:為避免產生資料存取的衝突,不同的資料伺服器300對同一個資料夾設定其存取權限時,只有一個資料伺服器300對該資料夾可以有較高的存取權限,例如:「Read and Write」及/或「Modify」,
其他的資料伺服器300對該資料夾的存取權限只可以設定為較低的存取權限,例如:「Read Only」及/或「List」。因此,當不同的資料伺服器300對同一資料夾的存取權限同時為「Read and Write」時便會產生衝突,該管理程式對於設定變更時產生衝突的情況是不允許的,若該管理程式確認該全域存取控制資訊92的設定變更後有衝突時,則執行步驟660,否則,執行步驟680。
步驟660中,係該管理程式顯示設定衝突的警示。當該管理程式確認該全域存取控制資訊92的設定有衝突時,該管理程式會顯示一設定衝突的警示,以提醒管理者目前的設定有發生衝突的情形。
步驟670中,係該管理者重新設定有衝突的部分。當該管理程式顯示設定有衝突時,該管理程式會將游標停留在設定發生錯誤的那一筆記錄項目上,管理者必須更改發生錯誤的部分。步驟670執行後,該管理程式會回到步驟650中再次檢查並判斷,直到所有的設定衝突都不存在。
步驟680中,係該管理程式將更新後的全域存取控制資訊92儲存於雲端上。當管理者透過使用者介面確定更改全域存取控制資訊92上的設定後,該管理程式透過登入時的資料伺服器300並以寫覆(overwrite)的方式將該全域存取控制資訊92的設定儲存於雲端,同時產生一設定記錄檔(Log File)儲存於該雲端上。該設定記錄檔可以顯示該全域存取控制資訊92的所有修改歷程的記錄,其中包括修改日期/時間、資料伺服器的身分識別名稱與發生權限變化的資料夾名稱、修改權限變化等記錄。
步驟690中,係該管理程式對於因全域存取控制資訊92設定改變而受到影響的資料伺服器300,刪除其雲端上相對應的狀態資料(Status Data)。當某一資料夾的存取權限與某一資料伺服器300產生一對應關係時,於雲端上會存在一記錄該對應關係的一狀態資料,例如:第2圖中的94A、94B與94C。因與一資料伺服器300有對應關係的資料夾可能會有很多個,故用來記錄該些對應關係的狀
態資料可能也會很多個。一旦雲端上用來記錄該些對應關係的狀態資料中的某一或某些消失時,表示與其相關的資料伺服器300對於關聯資料夾的存取權限已經被改變,因此,該資料伺服器300必須自雲端上下載新的全域存取控制資訊92,並據以變更該資料伺服器300內部的區域存取控制資訊535,然後以變更後的存取權限設定來處理客戶端電腦500的輸出入請求(I/O request)。當雲端上一記錄「某一資料伺服器300與某一/某些資料夾的存取權限的對應關係」的狀態資料消失時,會觸發該資料伺服器300對本身的區域存取控制資訊535進行更新程序。當該資料伺服器300對本身的區域存取控制資訊535更新完成,該資料伺服器300會上傳一記錄新的對應關係的狀態資料至雲端上。依據本發明的另一個實施例,每一資料伺服器300與相對應資料夾的存取權限的對應關係都記錄於同一狀態資料內,一旦該資料伺服器300的其中一個相對應資料夾的存取權限改變時,則該資料伺服器300位於雲端上的狀態資料會被刪除,該資料伺服器300所有相對應的資料夾的存取都會被影響,會觸發該資料伺服器300對於本身的區域存取控制資訊535進行更新程序,之後該資料伺服器300上傳一記錄新的對應關係的狀態資料至雲端上。
步驟695中,係該管理程式持續監控雲端上的狀態資料狀態,直到相關的Data Server完成上傳其新的狀態資料至雲端。對於管理者執行該全域存取控制資訊92內其中一資料夾存取權限的變更,該管理程式必須持續的監控因該資料夾存取權限變更而受影響的資料伺服器300是否已經上傳其新的狀態資料至雲端,直到所有受影響的資料伺服器300都上傳其與相對應資料夾的新的狀態資料至雲端為止。步驟695執行完畢後即結束管理者變更該全域存取控制資訊92內容的程序。
請參考第8圖、第8A圖、第8B圖,依據本發明的一實施例,第8圖、第8A圖、第8B圖整體係繪示管理者在修改全域存取控制資訊92的設定後,各個
資料伺服器300因應該修改的處理程序。第8圖、第8A圖、第8B圖整體所繪示的實施例是由第2圖中的資料伺服器300所執行,用以因應全域存取控制資訊92的設定發生變動後的處理流程。此處理流程可能是由第2圖中的任一資料伺服器300所執行,只要該資料伺服器300偵測到其在雲端資料儲存系統100的相關資料夾設定已經有所變更。第8圖、第8A圖、第8B圖之處理流程並不受限於只適用管理者用以變更全域存取控制資訊92的設定時所透過的一特定的資料伺服器300。第8圖、第8A圖、第8B圖整體所繪示的流程,僅針對全域存取控制資訊92的其中一個資料夾發生存取權限設定改變來說明。第8圖、第8A圖、第8B圖整體繪示的流程代表:當一資料夾的存取權限改變後,與此改變有關的每一資料伺服器300皆須執行此一處理程序。該處理流程開始於步驟700。
步驟700中,係資料伺服器300定期檢查雲端上與本身相關的狀態資料是否存在;其中,「與本身相關的狀態資料」係指記錄該資料伺服器300與某一(或某些)資料夾的存取權限有對應關係的狀態資料。依據本發明的一實施例,資料伺服器300會以固定的時間間隔(例如:每10秒一次的頻率),反覆地檢查雲端上與該資料伺服器300相關的狀態資料是否存在。依據本發明的另一實施例,資料伺服器300檢查與其相關的狀態資料並非受限於固定的時間間隔,可以是變動的時間間隔(例如:相隔任何長度的一段時間)。由於管理者變更全域存取控制資訊92的設定是透過前述的管理程式來執行,當其中的一資料夾的存取權限改變後,該管理程式會刪除雲端上記錄相關對應關係的狀態資料(Status Data)。例如:假設變更全域存取控制資訊92的設定內容是將某一資料夾較高的存取權限(例如:「Read and Write」)由資料伺服器A 300轉移到資料伺服器B 300,於本發明之一實施例,則管理程式會將記錄相關對應關係的「資料伺服器A 300對該資料夾」與「資料伺服器B 300對該資料夾」的狀態資料都刪除。於本發明之另一實施例,亦可以只刪除記錄「資料伺服器B 300對該資料夾」之對應關係的狀態
資料,因為資料伺服器B 300在此一變更全域存取控制資訊92設定中是獲得較高的存取權限。由於該全域存取控制資訊92內所記錄的資料伺服器300與資料夾之存取權限的對應關係可能相當多個,所以雲端上可能會有相當多個的狀態資料與該資料伺服器300相對應。本發明的實施例中係以每次單一個資料夾的設定發生變化舉例說明與該資料夾有關的各資料伺服器300的處理程序。步驟700中,該資料伺服器300必須定期且反覆的檢查雲端上與該資料伺服器300相關的狀態資料是否存在,進而判斷與該資料伺服器300對應的資料夾的存取權限設定是否有發生變化。
步驟705中,係該資料伺服器300判斷雲端上與其相關的狀態資料是否不存在?若否,表示與該資料伺服器300相關的所有狀態資料仍存在,則執行步驟710。若是,表示與該資料伺服器300相關的至少一狀態資料不存在,則執行步驟715。
步驟710中,係資料伺服器300依據其內部原本區域存取控制資訊535正常處理客戶端電腦500的輸出入請求。當資料伺服器300判斷其雲端上所有對應的狀態資料存在時,表示與該資料伺服器300相關的資料夾的存取權限並未被修改。故,步驟710中,資料伺服器300會依照原本內部的區域存取控制資訊535設定的管理規則來處理該客戶端電腦500的輸出入請求(I/O request)。請參考第5B圖,假設一客戶端電腦500透過資料伺服器B 300來存取雲端上的資料,且假設其所發出輸出入請求為:「讀取Taipei資料夾下的Inventory子資料夾內的一list_all.dat」。由於第5B圖中,第5列的內容顯示Data_Server_B與\Taipei\Inventory子資料夾的存取權限為「Read Only」,故該客戶端電腦500所發出的「讀取Taipei資料夾下的Inventory內的一list_all.dat」完全符合第5B圖中第6列所設定的管理規則,所以該資料伺服器B 300會執行「讀取雲端上\Taipei\Inventory\list_all.dat的物件檔案」的動作,並將該\Taipei\Inventory\list_all.dat的內容回覆給該客戶端電腦
500。又,若該客戶端電腦500所發出的輸出入請求與該資料伺服器B 300內部該區域存取控制資訊535所設定的管理規則不相符時,則該資料伺服器B 300會拒絕該客戶端電腦500本次所發出的輸出入請求。由於該資料伺服器300檢查與本身相對應的資料夾的狀態資料是存在,所以步驟710中,該資料伺服器依據其原本區域存取控制資訊535正常處理客戶端電腦500的輸出入請求,之後便跳回步驟700中。
步驟715中,係資料伺服器300下載雲端上的全域存取控制資訊92至該資料伺服器300內。當資料伺服器300偵測到雲端上與其相關的狀態資料不存在時,表示管理者有修改全域存取控制資訊92中與該資料伺服器300與其相對應的資料夾的存取權限的設定;也就是說,在那個時間點,該資料伺服器300內部的區域存取控制資訊535已經與雲端上的全域存取控制資訊92中關於該資料伺服器300的權限設定不一致,故該資料伺服器300必須下載雲端上新的全域存取控制資訊92以更新本身的區域存取控制資訊535,並以更新後的區域存取控制資訊535的設定規則來處理客戶端電腦500的輸出入請求。
步驟720中,係資料伺服器300判斷新的全域存取控制資訊92中與該資料伺服器300相關且發生設定改變的資料夾是否被賦予更高的存取權限。若判斷結果為「否」,則執行步驟720A對應的一720A子流程。若判斷結果為「是」,則執行步驟720B對應的一720B子流程。該720A子流程係顯示於第8A圖中;該720B子流程係顯示於第8B圖中。
依據本發明的一實施例,假設資料伺服器300對某一資料夾的存取權限只有「Read Only」及「Read and Write」兩種。據此,步驟720中所謂的「修改的資料夾被賦予更高的權限」指的是:資料伺服器300比較步驟715中下載的該全域存取控制資訊92與本身內部的區域存取控制資訊535後,發現該資料伺服器300對某一資料夾的存取權限由「Read Only」改為「Read and Write」的情況。依
據本發明的一實施例,凡是一資料伺服器300對某一資料夾的存取權限由「Read Only」升為「Read and Write」,則必有另一資料伺服器300對該資料夾的存取權限由「Read and Write」降為「Read Only」。此時,權限升階的資料伺服器300必須先等待另一權限降階的資料伺服器300完成對該資料夾存取權限變更的處理流程;也就是說,權限升階的資料伺服器300必須先等待權限降階的資料伺服器300將其較高的權限釋放出來,之後,該權限升階的資料伺服器300才能開始執行其本身對該資料夾存取權限變更的處理流程,而獲取較高的存取權限。相對地,權限降階的資料伺服器300可不須等待其它資料伺服器300釋放權限,可以直接執行其本身對該資料夾存取權限變更的處理流程,然後根據降階後的新權限處理客戶端電腦500的輸出入請求(I/O request)。
請參考第8A圖,依據本發明的一實施例,第8A圖係繪示第8圖的步驟720A的子流程的流程圖。當第8圖中,步驟720判斷「修改的資料夾被賦予更高階的權限」的結果為「否」時,則進入步驟720A,以執行第8A圖的子流程。第8A圖中的子流程開始於步驟725A。
步驟725A中,係顯示資料伺服器300根據所下載之全域存取控制資訊92,更新本身的區域存取控制資訊535。當流程執行至步驟725A時,表示新的全域存取控制資訊92設定中,與該資料伺服器300相關的某一資料夾的存取權限被降階,例如:由「Read and Write」降為「Read Only」。因為是權限降階的狀況,於本發明之一實施例,該資料伺服器300可以不用等待其他的資料伺服器300將其較高的權限釋放出來,而可以直接執行該資料伺服器300本身對該資料夾存取權限變更的處理流程。依據本發明的另一實施例,由於資料伺服器300的區域存取控制資訊535的設定僅是全域存取控制資訊92的一部份,故當下載新的全域存取控制資訊92後,亦可直接使用該全域存取控制資訊92來做為資料伺服器300內的區域存取控制資訊535,不需要進一步篩選出關於該資料伺服器300的設定。
步驟730中,係顯示資料伺服器300中斷其與客戶端電腦500的連線。此時,資料伺服器300對某一資料夾的存取權限是降階的情況,例如:由「Read and Write」降為「Read Only」。依據本發明的一實施例,凡是資料伺服器300對某一資料夾的存取權限是降階的情形時,該資料伺服器300會中斷其與所有客戶端電腦500的連線。又,依據本發明另一個實施例,對於與該資料伺服器300連線的客戶端電腦500中的某些,若其輸出入請求與發生存取權限變動的資料夾毫無關係時,則該資料伺服器300不需要中斷與該些不受影響的客戶端電腦500的連線。
又,若資料伺服器300對某一資料夾的存取權限是降階的情形,表示該資料伺服器300對某一資料夾的存取權限原本是較高的存取權限,例如:「Read and Write」。因此,在權限轉換的階段,該資料伺服器300可能正在進行某客戶端電腦500對該資料夾內某一(或某些)檔案的寫入作業,或者已暫先前寫入作業的寫入資料。因該些暫存的寫入資料尚未傳送到雲端上儲存,故可以視為一快取資料(Cache Data),該資料伺服器300必須將該快取資料上傳至雲端儲存。
步驟735中,係資料伺服器300檢查內部是否有快取資料需先上傳至雲端。若是,則執行步驟740,若否,則執行步驟760。同前述,因資料伺服器300對於資料夾的存取權限是降階的情況,故在權限轉換的階段,資料伺服器300內可能存在一尚未傳送至雲端儲存的寫入資料(即快取資料)。資料伺服器300在做資料夾的存取權限更新過程中,必須判斷內部是否有尚未傳送至雲端儲存的快取資料。
步驟740中,係資料伺服器300上傳代表該資料伺服器300目前在「轉換中」的訊息至雲端。此步驟的作用主要係讓須要等待該資料伺服器300完成其存取權限變更流程的其它資料伺服器300,可以了解該資料伺服器300的權限變更的狀態。鑑於該資料伺服器300須要上傳至雲端儲存的快取資料的資料量可能
很大、上傳至雲端上儲存可能須花費很多的時間。為避免在可能的冗長上傳時間中,其它資料伺服器300誤判該資料伺服器300為當機的情況下,該資料伺服器300在上傳其快取資料前,可以先傳送一「轉換中」的訊息至雲端,以提供其它資料伺服器300來判讀該資料伺服器300目前的狀態。
步驟745中,係資料伺服器300上傳其內部須與雲端同步的快取資料至雲端儲存。如前述,該快取資料的資料量可能很大,故該快取資料傳送至雲端儲存所花費的時間,視該快取資料的資料量而定。
步驟750中,係資料伺服器300判斷其快取資料上傳至雲端的作業是否完成。若是,則執行步驟755,若否,則回到步驟745,繼續執行資料伺服器300上傳其內部須與雲端同步的快取資料至雲端儲存的作業。
步驟755中,係資料伺服器300上傳一新的狀態資料至雲端,並刪除雲端上代表該資料伺服器300正在上傳快取資料的「轉換中」訊息;其中,該新的狀態資料顯示資料伺服器300對相關資料夾的新的存取權限。依據本發明的一實施例,當資料伺服器300完成其快取資料的上傳後,可以透過刪除其位於雲端上的「轉換中」的訊息來通知其他的資料伺服器300知悉該資料伺服器300已經完成上傳快取資料。此外,因此時該資料伺服器300已經完成其內部的區域存取控制資訊535的更新,故該資料伺服器300上傳一新的狀態資料至雲端上,以表示該資料伺服器300的區域存取控制資訊535已經與雲端上的全域存取控制資訊92同步。在該步驟755執行完畢之後即結束該720A的子流程。
再回到前述步驟735,步驟735中,當其判斷的結果為否時,則執行步驟760。
步驟760中,係資料伺服器300上傳一新的狀態資料至雲端,該新的狀態資料代表資料伺服器300已經完成對相關資料夾的存取權限變更程序。流程至步驟760表示:資料伺服器300沒有任何快取資料須要上傳至雲端,且該資料
伺服器300已經完成其內部區域存取控制資訊535的更新;故該資料伺服器300必須上傳一新的狀態資料至雲端上,以表示該資料伺服器300的區域存取控制資訊535已經與雲端上的全域存取控制資訊92同步。在該步驟760執行完畢之後即結束該720A的子流程。
請參考第8B圖,依據本發明的一實施例,第8B圖係繪示第8圖的步驟720B的子流程的流程圖。當第8圖中,步驟720判斷「修改的資料夾被賦予更高階的權限」的結果為「是」時,則進入步驟720B,以執行第8B圖的子流程。第8B圖中的子流程開始於步驟765。
前述第8圖的步驟720中。當其判斷結果為是時,表示資料伺服器300判斷相關的資料夾有被賦予更高的存取權限,例如:資料夾的存取權限由「Read Only」改為「Read and Write」,此時則執行步驟765。
步驟765中,係資料伺服器300監控其它相關資料伺服器300是否已經上傳其新的狀態資料至雲端;其中,「其它相關資料伺服器300」是指與資料夾存取權限改變有關的資料伺服器300,在步驟765中尤其是指「應該要將特定資料夾的較高存取權限釋放出來的資料伺服器300」。如前所述:當資料伺服器300對一資料夾的存取權限升階時,例如:由「Read Only」改為「Read and Write」,該資料伺服器300必須先等待其他相關資料伺服器300將權限釋放出來,之後,該資料伺服器300再執行對該特定資料夾的存取權限的變更程序,然後才能開始以較高的存取權限處理客戶端電腦500對該特定資料夾的輸出入請求(I/O request);其中,其他相關資料伺服器300將權限釋放出來的做法可以是:完成其對該特定資料夾的存取權限變更程序並上傳一新的狀態資料至雲端上。故步驟765中,資料伺服器300需要監控與資料夾的存取權限改變有關的其他相關資料伺服器300是否已經上傳其對應於該資料夾的一新的狀態資料至雲端上,以確認其他相關的資料伺服器300已經完成其對該資料夾的存取權限的變更程序。
步驟770中,係資料伺服器300判斷其他相關資料伺服器300是否已經上傳其與該資料夾相對應的一新的狀態資料至雲端?若否,則回到步驟765繼續等待,若是,則執行步驟775。如步驟765中所述,該資料伺服器300係透過檢查雲端上是否出現其他相關資料伺服器300上傳的新狀態資料,來確認其他相關資料伺服器300是否已經完成其對該資料夾的存取權限的變更程序。
步驟775中,係資料伺服器300根據所下載的全域存取控制資訊92更新本身的區域存取控制資訊535。因該資料伺服器300此時對於某一資料夾的存取權限是升階的情況,例如:由「Read Only」升為「Read and Write」,且其他相關資料伺服器300已經完成該特定資料夾的存取權限變更程序,故此時該資料伺服器300可以開始執行其本身對於該資料夾的存取權限的變更程序。步驟775中,資料伺服器300根據步驟715所下載的全域存取控制資訊92更新本身的區域存取控制資訊535。依據本發明的另一實施例,由於資料伺服器300的區域存取控制資訊535的設定僅是全域存取控制資訊92的一部份,故當下載新的全域存取控制資訊92後,亦可直接使用該全域存取控制資訊92來做為資料伺服器300的區域存取控制資訊535,不需要進一步篩選出關於該資料伺服器300的設定。
步驟780中,係資料伺服器300上傳一新的狀態資料至雲端;其中,該新的狀態資料代表資料伺服器300已經完成對該特定資料夾的存取權限變更程序。因該資料伺服器300在該全域存取控制資訊更新前對於存取權限發生變化的該資料夾的存取權限可能僅有「Read Only」,故該資料伺服器300此時內部應該不會存在需上傳至雲端同步的快取資料,故此情況下該資料伺服器300不用上傳任何快取資料至雲端上。又,該資料伺服器300已經完成其內部該區域存取控制資訊的更新,故該資料伺服器300必須上傳與該特定資料夾相對應的一新的狀態資料至雲端上,以表示該資料伺服器300的區域存取控制資訊535已經與雲端上的該全域存取控制資訊92同步。步驟780執行完畢,即結束該步驟720B的子
流程,同時該資料伺服器300執行至此步驟,也已經完成該資料伺服器300與其相對應的資料夾存取權限的更新程序。
上述步驟720A或是步驟720B的子流程中,一旦資料伺服器300的區域存取控制資訊535更新完畢後,在任何的步驟(時間點)中,該資料伺服器300都可以再接受該客戶端電腦500對其的連線,不管該資料伺服器300是否曾中斷該客戶端電腦500的連線。該資料伺服器300依據更新後的區域存取控制資訊535處理該客戶端電腦500的輸出入請求。
請參考第9圖、第9A圖、第9B圖、第9C圖,依據本發明的另一實施例,第9圖、第9A圖、第9B圖、第9C圖整體係繪示管理者在修改該全域存取控制資訊92的設定後,各個資料伺服器300因應該修改的另一處理程序。與前述之第8圖、第8A圖、第8B圖相較,第9圖及第9A圖對應於第8圖,第9B圖對應於第8A圖,第9C圖對應於第8B圖。第8圖、第8A圖、第8B圖代表的第一實施例與第9圖、第9A圖、第9B圖、第9C圖代表的第二實施例,流程內容有許多相似之處,第二實施例相較於第一實施例的主要不同處是:可以讓全域存取控制資訊92中有「一個以上資料夾」同時進行存取權限設定的變更。第9圖、第9A圖、第9B圖、第9C圖代表的第二實施例可以是由第2圖中的任一資料伺服器300所執行,只要該資料伺服器300偵測到其在雲端資料儲存系統100的相關資料夾設定已經有所變更。
第9圖中之步驟800、步驟805、步驟810、步驟815係各別對應到第8圖之步驟700、步驟705、步驟710、步驟715,其流程細節請參考前文中關於第8圖之步驟700、步驟705、步驟710、步驟715的說明,因此在此不再加以贅述。當第9圖之流程走到步驟818時,由於本實施例可以讓多個資料夾同時「各自獨立進行」存取權限設定的變更,因此,針對每一發生存取權限設定變化的資料夾,皆有一對應的步驟818所代表的子流程,且該些子流程是以「資料夾各自獨立處理」的方式進行。如第9圖中繪示有多個「針對Folder 1」、「針對Folder 2」....
「針對Folder N」的子流程818各自獨立進行,其中該Folder 1、Folder 2....Folder N表示多個存取權限發生變化的資料夾代號。每一Folder子流程818的內容詳如第9A圖所示。第9A圖中之步驟820、步驟820A、步驟820B係各自對應第8圖之步驟720、步驟720A、步驟720B,其流程細節請參考前文中關於第8圖之步驟720、步驟720A、步驟720B的說明,因此在此不再加以贅述。總而言之,每一子流程818中更針對其對應資料夾的存取權限變化,在步驟820判斷:其對應資料夾是否被賦予更高的權限?若判斷結果為「否」,則執行步驟820A對應的一820A子流程。若判斷結果為「是」,則執行步驟820B對應的一820B子流程。該820A子流程係顯示於第9B圖中;該820B子流程係顯示於第9C圖中。
第9B圖中該820A子流程與第8A圖中的720A子流程相當接近,第9B圖中的步驟825A、步驟835、步驟840、步驟845、步驟850、步驟855、步驟860係各自對應到第8A圖之步驟725A、步驟735、步驟740、步驟745、步驟750、步驟755、步驟760,其流程細節請參考前文中相關說明,因此在此不再加以贅述。第9B圖與第8A圖相較,因為第9B圖代表的第二實施例允許複數個不同資料夾同時發生存取權限設定改變,且對複數個不同資料夾的設定改變是以「各自獨立處理」的方式來進行,故與該些發生存取權限變化的資料夾所連線的客戶端電腦500可以是不同的。所以第9B圖中之步驟830,資料伺服器300可以各別地中斷發生存取權限設定改變的資料夾與其客戶端電腦500的連線。也就是說,步驟830中,對於資料伺服器300中斷客戶端電腦500連線所指的客戶端電腦對象,可以只針對與其中一特定資料夾連線的客戶端電腦500。同理,第9C圖中該820B子流程及第8B圖中的720B子流程相當接近,第9C圖中的步驟865、步驟870、步驟875、步驟880係各自對應到第8B圖之步驟765、步驟770、步驟775、步驟780,其流程細節請參考前文中相關說明,因此在此不再加以贅述。
請參考第10圖、第10A圖、第10B圖、第10C圖、第10D圖,依據本發
明的另一實施例,第10圖、第10A圖、第10B圖、第10C圖、第10D圖整體係繪示管理者在修改該全域存取控制資訊92的設定後,各個資料伺服器300因應該修改的另一處理程序。與前述之第9圖、第9A圖、第9B圖、第9C圖相較,第10圖、第10A圖、第10B圖、第10C圖、第10D圖代表的第三實施例,同樣的是可以讓全域存取控制資訊92中有「一個以上資料夾」同時進行存取權限設定的變更。但是不同地,第10圖、第10A圖、第10B圖、第10C圖、第10D圖代表的第三實施例的處理程序並不是以「資料夾各自獨立處理」的方式來處理每一產生存取權限變化的資料夾;反之,是一起考量所有產生存取權限變化的資料夾並一起處理。第10圖、第10A圖、第10B圖、第10C圖、第10D圖代表的第三實施例可以是由第2圖中的任一資料伺服器300所執行,只要該資料伺服器300偵測到其在雲端資料儲存系統100的相關資料夾設定已經有所變更。
第10圖中之步驟900、步驟905、步驟910、步驟915係各別對應到第8圖之步驟700、步驟705、步驟710、步驟715,其流程細節請參考前文中關於第8圖之步驟700、步驟705、步驟710、步驟715的說明,因此在此不再加以贅述。當第10圖之流程走到步驟920時,由於本實施例是一起處理多個資料夾的存取權限設定的變更,因此資料伺服器300須一起綜合考量新的全域存取控制資訊92中與該資料伺服器300相關且發生設定改變「多個資料夾」中的「任一資料夾」是否被賦予更高的存取權限。若判斷結果為「否」,則執行步驟920A對應的一920A子流程。若判斷結果為「是」,則執行步驟920B對應的一920B子流程。該920A子流程係顯示於第10A圖中;該920B子流程係顯示於第10B圖中。
第10A圖中的步驟925A、步驟930A、步驟935A、步驟940A、步驟945A、步驟950A、步驟955A、步驟960A係各自對應到第8A圖之步驟725A、步驟730、步驟735、步驟740、步驟745、步驟750、步驟755、步驟760,其流程細節請參考前文中相關說明,因此在此不再加以贅述。第10A圖繪示的920A子流程係針對
第10圖的步驟920中「判斷『多個資料夾』中的『任何資料夾』是否被賦予更高的存取權限」的結果為「否」時的處理流程。當處理流程由該步驟920A進入第10A圖時,表示該些存取權限有被更改的「多個資料夾」其存取權限都是由「較高的權限」降為「較低的權限」。也就是說,進入920A子流程表示新的全域存取控制資訊92設定中,與該資料伺服器300相關的多個資料夾的權限皆被降階,例如:由「Read and Write」降為「Read Only」。因此,須要判斷該資料伺服器300中是否還有未同步上傳至雲端的快取資料。此外,步驟930A中有關「資料伺服器300中斷與客戶端電腦500的連線」的處理方式也是與第8圖之步驟730一致:資料伺服器300會中斷其與所有客戶端電腦500的連線,無論該些客戶端電腦500是否與發生存取權限更改的多個資料夾有關連。
請參考第10B圖,依據本發明的一實施例,第10B圖係繪示第10圖的920B的子流程的流程圖。第10B圖中的920B子流程係針對該第10圖的步驟920中「判斷『多個資料夾』中的『任何資料夾』是否被賦予更高的存取權限」的結果為「是」時的處理流程。當處理流程由步驟920B進入第10B圖時,表示該些存取權限有被更改的「多個資料夾」中「至少有一個資料夾」其存取權限是由「較低的權限」升為「較高的權限」。也就是說,與該資料伺服器300相關且有權限變更的多個資料夾中,至少有一個資料夾的權限被升階,例如:由「Read Only」升為「Read and Write」;同時,也有可能有其它資料夾的權限被降階,例如:由「Read and Write」降為「Read Only」。在此情況下,資料伺服器300須要同時考量到上述二種情況(資料夾權限升階與降階)並加以處理。於本發明之一實施例中,資料伺服器300係將以上二種情況以「分開獨立」的方式同時處理。第10B圖中的步驟925B、步驟930B係各自對應到第8A圖之步驟725A、步驟730,其流程細節請參考前文中相關說明,因此在此不再加以贅述。當第10B圖中的步驟930B執行完後,接著二步驟940C、940D係以「分開獨立」的方式,分別對以上二種
情況(資料夾權限升階與降階)來處理。其中,步驟940C所對應的940C子流程,其係用以處理資料夾降階的部分;而步驟940D所對應的940D子流程,其係用以處理資料夾升階的部分。請注意,對某一資料伺服器300而言,當流程由第10圖的步驟920B進入第10B圖時,表示與該資料伺服器300相關且存取權限有被更改的「多個資料夾」中「至少有一個資料夾」其存取權限是由「較低的權限」升為「較高的權限」。如此意味,可能有一或數個資料夾的存取權限升階,其它降階;或是第二種情況,所有與該資料伺服器300相關且存取權限有被更改的多個資料夾皆是升階。若是以上第二種情況(皆升階),則對該資料伺服器300而言,不須進入步驟940C並執行其對應的第10C圖。
請同時參考第10C圖與第10D圖,第10C圖中的步驟990C、步驟995C、步驟970C、步驟975C、步驟980C、步驟985C係各自對應到第8A圖之步驟735、步驟760、步驟740、步驟745、步驟750、步驟755,其流程細節請參考前文中相關說明,因此在此不再加以贅述。同理,第10D圖中的步驟970D、步驟975D、步驟995D係各自對應到第8B圖之步驟765、步驟770、步驟780,其流程細節請參考前文中相關說明,因此在此不再加以贅述。
請參考第11圖,依據本發明的另一實施例,第11圖係繪示管理者變更全域存取控制資訊92內容的另一流程圖。對於該全域存取控制資訊92的修改,管理者可以透過第2圖中的資料伺服器A 300、資料伺服器B 300、資料伺服器C 300其中任何一台資料伺服器來修改位於雲儲存單元200中的該全域存取控制資訊92。本實施例中,該全域存取控制資訊92仍儲存於雲端上,但與第7圖中的實施例不相同的地方是:雲端上並不儲存與各個資料伺服器300相對應的資料夾的狀態資料。也就是說,於本實施例中,各個資料伺服器300並不透過判定雲端上與其相關的狀態資料是否存在而得知相對應的資料夾的權限是否有變更,也不須藉由上傳「轉換中」的訊息至雲端而通知其他資料伺服器300自己的狀
態,而是採用透過第2圖中的網路350或是網路380直接溝通訊息。第11圖中,該流程開始於步驟1000。
步驟1000中,係該管理者登入雲端。其細節請參考第7圖中步驟600的說明。
步驟1010中,係該管理程式確認該管理者身份。其細節請參考第7圖中步驟610的說明。
步驟1020中,係該管理程式藉由密碼的正確性來判斷該管理者的身份是否正確,若是,則執行步驟1030,若否,則回到步驟1010。其細節請參考第7圖中步驟620的說明。
步驟1030中,係該資料伺服器300透過該管理程式讀取並顯示雲端上的全域存取控制資訊的內容。其細節請參考第7圖中步驟630的說明。
步驟1040中,係該管理程式判斷該全域存取控制資訊92的內容是否被更改,若否,則結束該全域存取控制資訊92的設定流程。若是,則繼續執行步驟1050的判斷。
步驟1050中,係該管理程式檢查並確認該全域存取控制資訊92的設定變更後是否有衝突?若設定變更後有衝突時,則執行步驟1060,否則,執行步驟1080。其細節請參考第7圖中步驟650的說明。
步驟1060中,係該管理程式顯示設定衝突的警示。其細節請參考第7圖中步驟660的說明。
步驟1070中,係該管理者重新設定有衝突的部分。其細節請參考第7圖中步驟670的說明。
步驟1080中,係該管理程式將更新後的的全域存取控制資訊92儲存於雲端上。其細節請參考第7圖中步驟680的說明。
步驟1090中,係該管理程式通知受影響的資料伺服器300該全域存取控制資訊92已經被改變。本實施例中,因資料伺服器300間係透過網路直接溝通且該管理程式於其中一資料伺服器300上執行,故該管理程式透過網路直接通知因資料夾的存取權限改變而受影響的資料伺服器300雲端上的全域存取控制資訊92已經被改變。受影響的資料伺服器300接收到以上訊息後,必須至雲端上下載新的全域存取控制資訊92,並據此進行其內部區域存取控制資訊535的更新流程。依據本發明的一實施例,該管理程式通知受影響的資料伺服器300後,會再收到該受影響的資料伺服器300的回覆訊息,以確認該受影響的資料伺服器300知悉該全域存取控制資訊92已經被改變。
步驟1095中,係該管理程式持續監控受影響的資料伺服器300,直到所有受影響的資料伺服器300傳回其區域存取控制資訊535已完成更新的訊息。本實施例中,該管理程式對於受影響的資料伺服器300是否已經完成其區域存取控制資訊535的更新的流程,並不透過偵測「受影響的資料伺服器300是否已經上傳相關資料夾的狀態資料至雲端上」來確認受影響的資料伺服器300已完成區域存取控制資訊535的更新程序,而是透過該等資料伺服器300直接回覆該管理程式來達成。步驟1095執行完畢後即結束該全域存取控制資訊92內容的修改程序。依據本發明的另一實施例,在該管理程式透過其中一資料伺服器300通知全域存取控制資訊92已經被改變後,即結束該全域存取控制資訊92內容的修改流程,該管理程式不會監控受影響的資料伺服器300。
請參考第12圖、第12A圖、第12B圖,依據本發明的一實施例,第12圖、第12A圖、第12B圖整體係繪示管理者在修改全域存取控制資訊92的設定後,各個資料伺服器300因應該修改的處理程序。第12圖、第12A圖、第12B圖整體所繪示的實施例是由第2圖中的資料伺服器300所執行,用以因應全域存取控制資訊92的設定發生變動後的處理程序。此處理程序可能是由第2圖中的任一資料伺
服器300所執行,只要該資料伺服器300偵測到其在雲端資料儲存系統100的相關資料夾設定已經有所變更。第12圖、第12A圖、第12B圖之處理流程並不受限於只適用管理者用以變更全域存取控制資訊92的設定時所透過的一特定的資料伺服器300。第12圖、第12A圖、第12B圖整體所繪示的流程,僅針對全域存取控制資訊92的其中一個資料夾發生存取權限設定改變來說明。第12圖、第12A圖、第12B圖整體繪示的流程代表:當一資料夾的存取權限改變後,與此改變有關的每一資料伺服器300皆須執行此一處理程序。該處理流程開始於步驟1100。
步驟1100中,係資料伺服器300收到管理程式的全域存取控制資訊92更新通知,因此資料伺服器300知道與其相關的資料夾的存取權限已經被改變,須要進行其內部的區域存取控制資訊535的更新程序。由於該全域存取控制資訊92內所記錄的資料伺服器300與資料夾之存取權限的對應關係可能相當多個,但本實施例中係以每次單一個資料夾的設定發生變化舉例說明與該資料夾有關的各資料伺服器300的處理程序。資料伺服器300在收到管理程式的全域存取控制資訊92更新通知後,可以回覆管理程式其已經收到通知,意味接受通知的資料伺服器300已經知悉全域存取控制資訊92已經發生變化。若與某一資料伺服器300相關的資料夾的存取權限皆沒有變化時,意味該資料伺服器300不需要更新其內部的區域存取控制資訊535。此時,管理程式可以不對該資料伺服器300發送全域存取控制資訊92更新通知,而該資料伺服器300則繼續依據原本的區域存取控制資訊535處理來自客戶端電腦500的輸出入請求。
步驟1110中,係資料伺服器300下載雲端上的全域存取控制資訊92至該資料伺服器300內。當該資料伺服器300收到全域存取控制資訊的更新通知時,表示管理者有修改全域存取控制資訊92中與該資料伺服器300相關的資料夾的存取權限(Access Authority)的設定。也就是說,在那個時間點,該資料伺服器300內的區域存取控制資訊535已經與新的全域存取控制資訊92中關於該資料伺
服器300的部分不一致,故該資料伺服器300必須下載雲端上新的全域存取控制資訊92。於本發明之一實施例,該資料伺服器300會先更新內部的區域存取控制資訊535,並以更新後的區域存取控制資訊535記載的設定處理來自客戶端電腦500的輸出入請求。於本發明之另一實施例,該資料伺服器300直接以新的全域存取控制資訊92內與該資料伺服器300有關的規則來處理客戶端電腦500的輸出入請求。
步驟1120中,係資料伺服器300判斷新的全域存取控制資訊92中與該資料伺服器300相關且發生設定改變的資料夾是否被賦予更高的存取權限。若判斷結果為「否」,則執行步驟1120A對應的一1120A子流程。若判斷結果為「是」,則執行步驟1120B對應的一1120B子流程。該1120A子流程係顯示於第12A圖中;該1120B子流程係顯示於第12B圖中。
依據本發明的一實施例,假設資料伺服器300對某一資料夾的存取權限只有「Read Only」及「Read and Write」兩種。據此,步驟1020中所謂的「修改的資料夾被賦予更高的權限」指的是:資料伺服器300比較步驟1110中下載的該全域存取控制資訊92與本身內部的區域存取控制資訊535後,發現該資料伺服器300對某一資料夾的存取權限由「Read Only」改為「Read and Write」的情況。依據本發明的一實施例,凡是一資料伺服器300對某一資料夾的存取權限由「Read Only」升為「Read and Write」,則必有另一資料伺服器300對該資料夾的存取權限由「Read and Write」降為「Read Only」。此時,權限升階的資料伺服器300必須先等待另一權限降階的資料伺服器300完成對該資料夾存取權限變更的處理流程;也就是說,權限升階的資料伺服器300必須先等待權限降階的資料伺服器300將其較高的權限釋放出來,並且,權限降階的資料伺服器300透過網路通知權限升階的資料伺服器300其已經完成對該資料夾存取權限變更流程,此後權限升階的資料伺服器300才能開始執行其本身對該資料夾存取權限變更的處
理流程,而獲取較高的存取權限。相對地,權限降階的資料伺服器300可不須等待其它資料伺服器300釋放權限,可以直接執行該資料伺服器300本身對該資料夾存取權限變更的處理流程。最後該資料伺服器300亦透過網路通知其它資料伺服器300已經完成對該資料夾存取權限變更流程。
請參考第12A圖,依據本發明的一實施例,第12A圖係繪示第12圖的步驟1120A的子流程的流程圖。當第12圖中,步驟1120判斷「修改的資料夾被賦予更高階的權限」的結果為「否」時,則進入步驟1120A,以執行第12A圖中的子流程。第12A圖中的子流程開始於步驟1130。
步驟1130中,係資料伺服器300根據所下載之全域存取控制資訊92,更新本身的區域存取控制資訊535。當流程執行至步驟1130時,表示新的全域存取控制資訊92設定中,與該資料伺服器300相關的某一資料夾的存取權限被降階,例如:由「Read and Write」降為「Read Only」。因為是權限降階的狀況,於本發明之一實施例,該資料伺服器300可以不用等待其他的資料伺服器300將其較高的權限釋放出來,而可以直接執行該資料伺服器300本身對該資料夾存取權限變更的處理流程。依據本發明的另一實施例,由於資料伺服器300的區域存取控制資訊535的設定僅是全域存取控制資訊92的一部份,故當下載新的全域存取控制資訊92後,亦可直接使用該全域存取控制資訊92來做為資料伺服器300內的區域存取控制資訊535,不需要進一步篩選出關於該資料伺服器300的設定。
步驟1140中,係資料伺服器300中斷其與客戶端電腦500的連線。此時,資料伺服器300對某一資料夾的存取權限是降階的情況,例如:由「Read and Write」降為「Read Only」。依據本發明的一實施例,凡是資料伺服器300對某一資料夾的存取權限是降階的情形時,該資料伺服器300會中斷該其與所有客戶端電腦500的連線。又,依據本發明另一個實施例,對於與該資料伺服器300連線的客戶端電腦500中的某些,若其輸出入請求與發生存取權限變動的資料夾毫無
關係時,則該資料伺服器300不需要中斷與該些不受影響的客戶端電腦500的連線。
又,若資料伺服器300對某一資料夾的存取權限是降階的情形,表示該資料伺服器300對某一資料夾的存取權限原本是較高的存取權限,例如:「Read and Write」。因此,在權限轉換的階段,該資料伺服器300內可能正在進行某客戶端電腦500對該資料夾內某一(或某些)檔案的寫入作業,或者已暫存先前寫入作業的寫入資料。因該些暫存的寫入資料尚未傳送到雲端上儲存,故可以視為一快取資料,該資料伺服器300必須將該快取資料上傳至雲端儲存。
步驟1150中,係資料伺服器300檢查內部是否有快取資料需先上傳至雲端。若是,則執行步驟1160,若否,則執行步驟1195。同前述,因資料伺服器300對於資料夾的存取權限是降階的情況,故在權限轉換的階段,資料伺服器300內可能存在一尚未傳送至雲端儲存的寫入資料(即快取資料)。資料伺服器300在做資料夾的存取權限的更新過程中,必須判斷是否有尚未傳送至雲端儲存的快取資料。
步驟1160中,係資料伺服器300透過網路傳送「轉換中」的訊息通知其他相關的資料伺服器。此步驟的作用讓須要等待該資料伺服器300完成其存取權限變更流程的其它資料伺服器300,可以了解該資料伺服器300的權限變更的狀態。鑑於該資料伺服器300須要上傳至雲端儲存的快取資料的資料量可能很大、上傳至雲端上儲存可能須花費很多的時間。為避免在可能的冗長上傳時間中,其它資料伺服器300誤判該資料伺服器300為當機的情況下,該資料伺服器300在上傳其快取資料前,可以先透過網路傳送一「轉換中」的訊息至該其他相關的資料伺服器300,以使得其他資料伺服器300知悉該資料伺服器300目前的狀態。
步驟1170中,係資料伺服器300上傳其內部須與雲端同步的快取資
料至雲端儲存。如前述,該快取資料的資料量可能很大,故該快取資料傳送至雲端儲存所花費的時間,視該快取資料的資料量而定。
步驟1180中,係資料伺服器300判斷其快取資料上傳至雲端的作業是否完成。若是,則繼續執行步驟1190,若否,則回到步驟1170繼續執行資料伺服器300上傳其內部須與雲端同步的快取資料至雲端儲存的作業。
步驟1190中,係資料伺服器300透過網路傳送「已完成更新」的訊息通知其他相關的資料伺服器300與該管理程式知悉。依據本發明的一實施例,當該資料伺服器300完成其快取資料的上傳後,可以視為其已經完成本身之區域存取控制資訊535的更新程序。該資料伺服器300可以透過網路讓該其他相關的資料伺服器300及該管理程式知悉此情況,故該資料伺服器300透過網路傳送「已完成更新」的訊息通知其他相關的資料伺服器300與該管理程式。在步驟1190執行完畢後,即結束該步驟1120A的子流程,同時該資料伺服器300執行至此步驟,也已經完成該資料伺服器300與其相對應的資料夾存取權限的更新程序。
再回到前述步驟1150,步驟1150中,當其判斷的結果為否時,則執行步驟1195。
步驟1195中,係資料伺服器300透過網路傳送「已完成更新」的訊息通知其他相關的資料伺服器300與該管理程式知悉。當流程進行到步驟1195時表示:該資料伺服器300沒有任何快取資料必須上傳至雲端,且該資料伺服器300已經完成其內部區域存取控制資訊535的更新。因此,該資料伺服器300透過網路傳送「已完成更新」的訊息通知其他相關的資料伺服器300與該管理程式知悉,以表示該資料伺服器300的區域存取控制資訊535已經與雲端上的全域存取控制資訊92同步。在步驟1195執行完畢之後,即結束1120A的子流程,此時表示:資料伺服器300已經完成本身與相對應的資料夾存取權限的更新程序。
請參考第12B圖,依據本發明的一實施例,第12B圖係繪示第12圖的
步驟1120B的子流程的流程圖。當第12圖中,步驟1120判斷「修改的資料夾被賦予更高階的權限」的結果為「是」時,則進入步驟1120B,則執行第12B圖的子流程。第12B圖中的子流程開始於步驟1200。
前述第12圖的步驟1120中,當其判斷結果為「是」時,表示資料伺服器300判斷相關的資料夾有被賦予更高的存取權限,例如:資料夾的存取權限由「Read Only」改為「Read and Write」,此時則執行步驟1120B的子流程。
步驟1200中,係資料伺服器300監控其它相關資料伺服器300是否已經透過網路傳回「已完成更新」的訊息;其中,「其它相關資料伺服器300」是指與資料夾存取權限改變有關的資料伺服器300,在步驟1200中尤其是指「應該要將特定資料夾的較高存取權限釋放出來的資料伺服器300」。如前所述:當資料伺服器300對一資料夾的存取權限升階時,例如:由「Read Only」改為「Read and Write」,該資料伺服器300必須先等待其他相關資料伺服器300將權限釋放出來,之後,該資料伺服器300再執行對該特定資料夾的存取權限的變更程序,然後才能開始以較高的存取權限處理客戶端電腦500對該特定資料夾的輸出入請求(I/O request);其中,其他相關資料伺服器300將權限釋放出來的做法可以是:完成其對該特定資料夾的存取權限變更程序並發出「已完成更新」的訊息至其他相關資料伺服器300。故步驟1200中,資料伺服器300需要監控與資料夾的存取權限改變有關的其他相關資料伺服器300是否傳回該「已完成更新」的訊息,以確認其他相關的資料伺服器300已經完成其對該資料夾的存取權限的變更程序。
步驟1210中,係資料伺服器300判斷其他相關的資料伺服器300是否已經傳回該「已完成更新」的訊息。若否,則回到步驟1200繼續等待,若是,則執行步驟1220。
步驟1220中,係資料伺服器300根據所下載的全域存取控制資訊92
更新本身的區域存取控制資訊535。因該資料伺服器300此時對於某一資料夾的存取權限是升階的情況,例如:由「Read Only」升為「Read and Write」,其他相關資料伺服器300已經完成該特定資料夾的存取權限變更程序,故此時該資料伺服器300可以開始執行其本身對於該資料夾的存取權限的變更程序。步驟1220中,該資料伺服器300根據步驟1110所下載的全域存取控制資訊92更新本身的區域存取控制資訊535。依據本發明的另一實施例,由於資料伺服器300的區域存取控制資訊535的設定僅是全域存取控制資訊92的一部份,故當下載新的全域存取控制資訊92後,亦可直接使用該全域存取控制資訊92來做為資料伺服器300內的區域存取控制資訊535,不需要進一步篩選出關於該資料伺服器300的設定。
步驟1230中,係資料伺服器300透過網路傳送「已完成更新」的訊息至該管理程式。因該資料伺服器300在該全域存取控制資訊更新前對於存取權限發生變化的某一資料夾的存取權限可能僅有「Read Only」,故該資料伺服器300此時內部應該不會存在需要上傳的快取資料,故此情況下該資料伺服器300不用上傳快取資料至雲端上。又,該資料伺服器300已經完成其內部該新的區域存取控制資訊535的更新,故該資料伺服器300必須透過網路傳送「已完成更新」的訊息至該管理程式,以表示該資料伺服器300的區域存取控制資訊535已經與雲端上的該全域存取控制資訊92同步。步驟1230執行完畢,即結束步驟1120B的子流程,同時該資料伺服器300執行至此步驟,也已經完成該資料伺服器300與其相對應的資料夾存取權限的更新程序。
請參考第13圖,第13圖係資料伺服器300對於客戶端電腦500的輸出入請求的處理流程。依據本發明之一實施例,客戶端電腦500透過網路與提供其服務的資料伺服器300連線,客戶端電腦500會對提供服務的資料伺服器300發出輸出入請求(I/O request)。在處理流程中,資料伺服器300透過其內部的區域存取控制資訊535來判斷是否可以執行客戶端電腦500的輸出入請求。若判斷的
結果為否,則資料伺服器300拒絕客戶端電腦500的輸出入請求;若判斷的結果為是,則資料伺服器300再進一步檢查客戶端電腦500所要求的資料是否在其內部的記憶體內。若檢查的結果為是,則直接執行該輸出入請求;若檢查的結果為否,資料伺服器300則依據該輸出入請求至雲端上讀取相對應的物件檔案、或是將該輸出入請求的寫入資料傳送至雲端儲存。第13圖中的流程開始於步驟1300。
步驟1300中,係客戶端電腦500對資料伺服器300發出輸出入請求。第2圖中。每一資料伺服器300都會有客戶端電腦500與其相連接,並接受客戶端電腦500的輸出入請求來存取雲端的資料。
步驟1310中,係資料伺服器300比對該輸出入請求所欲存取的目標資料夾(Target Folder)與該資料伺服器之區域存取控制資訊535內的設定資訊。其中該區域存取控制資訊535的設定內容為判斷該資料伺服器300是否可以執行該輸出入請求的依據。該資料伺服器300會依據該區域存取控制資訊535的設定內容,判斷要拒絕該輸出入請求或是執行該輸出入請求。依據本發明的一實施例,由於該區域存取控制資訊535的設定係為該資料伺服器300對相關資料夾的存取權限,故只要(1)該輸出入請求中的目標資料夾沒有記錄於區域存取控制資訊535中或不是屬於記錄中的母資料夾的子資料夾,或是(2)該輸出入請求超出該資料伺服器300對該資料夾的存取權限時,該資料伺服器300會拒絕該輸出入請求。由於區域存取控制資訊535內記錄的資料夾下可能包含多層的子資料夾,故當輸出入請求中的目標資料夾是屬於記錄中的母資料夾之內、或該輸出入請求中的目標資料夾與記錄中的資料夾相同時,該資料伺服器300才會繼續判斷該輸出入請求是否超出該資料夾的存取權限。以第6B圖為例,假設與該資料伺服器A 300連線的客戶端電腦500對該資料伺服器A 300發出「讀取\Taipei\A\C\US MKT資料夾內的一List.dat」的一輸出入請求時,該資料伺服器A 300會先判斷該List.dat
的路徑是否包含於該\Taipei\A\C\US MKT之內或等於該\Taipei\A\C\US MKT路徑,而該\Taipei\A\C\US MKT即為上述說明中所指的目標資料夾。
步驟1320中,係資料伺服器300判斷其內部的區域存取控制資訊535的設定中是否有包含該輸出入請求中的目標資料夾,若是,則執行步驟1340,否則執行步驟1330。依據本發明的一實施例,當客戶端電腦500的輸出入請求中的目標資料夾「包含於」或是「等於」該區域存取控制資訊535的設定中某一資料夾時,該資料伺服器300可再執行下一判斷步驟。
步驟1340中,係資料伺服器300判斷該輸出入請求是否超出其區域存取控制資訊535中該資料伺服器300對該資料夾的權限設定,即判斷該輸出入請求是否超出該區域存取控制資訊535中該資料伺服器300對該資料夾的存取權限。例如,當該輸出入請求為一寫入請求,而該資料伺服器300對某一資料夾的存取權限卻只有「Read Only」時,則該輸出入請求明顯地超出該區域存取控制資訊535中該資料伺服器300對該資料夾的存取權限。步驟1340的判斷結果若是,則執行步驟1330,若否,則執行步驟1350。
步驟1350中,係該資料伺服器300判斷該輸出入請求相對應的資料是否存在於資料伺服器內,若是,則執行步驟1355,若否,則執行步驟1360。
步驟1355中,係該資料伺服器300直接存取該輸出入請求所要求的資料。因此時該輸出入請求所需的資料已經存在於該資料伺服器300的快取記憶體內,故該資料伺服器300不必至雲端上來存取所需的物件檔案,所以該資料伺服器直接執行該輸出入請求。步驟1355執行完畢後,即結束第13圖中的該資料伺服器300對於該客戶端電腦500的輸出入請求的處理流程。
步驟1360中,係資料伺服器300透過雲應用程式介面140來直接存取該輸出入請求所要求位於雲端上的物件檔案。無論該輸出入請求是讀取請求或是寫入請求,該資料伺服器300都是透過該雲應用程式介面140直接存取位於雲
端上的物件檔案,該資料伺服器300並不再透過任何的中央資料管理伺服器(Central Data Management Server)來存取位於雲端上的物件檔案。本發明的實施例中,由於雲端上或是該網路上都沒有任何的中央資料管理伺服器,故各個資料伺服器300判斷是否可以服務來自客戶端電腦500的輸出入請求時,都是根據一共同的規範(亦即全域存取控制資訊92)。若是資料伺服器300的判斷結果是可以執行客戶端電腦500的輸出入請求,則透過該雲應用程式介面140直接存取位於雲端上相對應的物件檔案。步驟1360執行完畢後,即結束第13圖中的該資料伺服器300對於該客戶端電腦500的輸出入請求的處理流程。
上述的步驟中,當步驟1320的判斷為否時、步驟1340的判斷為是時,該資料伺服器300會跳到步驟1330執行。該步驟1330說明如下。該輸出入請求中的目標資料夾沒有記錄於區域存取控制資訊535中或不是屬於記錄中的母資料夾的子資料夾。
步驟1330中,係資料伺服器300拒絕客戶端電腦500的輸出入請求。如前所述,當資料伺服器300判斷:(1)其內部的區域存取控制資訊535的記錄中沒有紀錄該目標資料夾或是該目標資料夾不屬於記錄中任一母資料夾;(2)該輸出入請求超出區域存取控制資訊535中資料夾的存取權限設定,若有以上2種情況之一發生時,該資料伺服器300會拒絕該客戶端電腦500的輸出入請求。如此,可達到本發明中資料伺服器300對於客戶端電腦500的資料存取管理。上述說明中,資料伺服器300第(1)至(2)的判斷在實作上係以第4B圖中的存取控制強制單元530來實行,第4B圖中,區域存取控制資訊535包含於該存取控制強制單元530之內。步驟1330執行完後,即結束第13圖中的該資料伺服器300對於該客戶端電腦500的輸出入請求的處理流程。
上述第7圖至第12B圖的所有實施例中,由於雲端上及網路上並未設置任何的中央資料管理伺服器30來處理各個資料伺服器300的輸出入請求(I/O
request),故各個資料伺服器300在處理來自客戶端電腦500的輸出入請求時,不會透過任何的中央資料管理伺服器(Central Data Management Server)來存取雲端的使用者物件檔案,而是根據一共同的規範(亦即全域存取控制資訊92)直接存取該雲端上的使用者物件檔案。本案發明中減少了資料伺服器300須先詢問中央資料管理伺服器30、而後資料伺服器300才能決定是否可以執行來自客戶端電腦500的輸出入請求的時間,如此,可以增加該雲端資料儲存系統10的整體效能。
此外,上述第7圖至第12B圖的所有實施例中,各個資料伺服器300每次要存取雲端上的使用者物件檔案時,各個資料伺服器300間並不會事先互相傳遞訊息來詢問彼此是否正在對同一使用者物件檔案進行存取作業,故也不會使該雲端資料儲存系統10中的整體效能降低。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
80:使用者物件檔案
90:超資料物件檔案
92:全域存取控制資訊
94A、94B、94C:狀態資料
100:雲端資料儲存系統
120:雲資料
140:雲應用程式介面
200:雲儲存單元
300:資料伺服器
350、380:網路
500:客戶端電腦
Claims (44)
- 一種雲端資料儲存系統,用以管理雲端服務之權限,其中該雲端資料儲存系統包括:複數個資料伺服器,用以接受至少一客戶端的至少一輸出入請求並服務該至少一輸出入請求,其中該複數個資料伺服器中的每一更包含:一中央處理單元,用來處理該客戶端的該輸出入請求與該輸出入請求的相關資料;一記憶單元,用來暫存該客戶端的該輸出入請求與該相關資料;以及一存取控制強制單元,用來執行或拒絕該客戶端的該輸出入請求,其中該存取控制強制單元內包含一區域存取控制資訊;一雲資料,位於一雲儲存單元內,其中該雲資料包括:複數個使用者物件檔案,係用以提供該複數個資料伺服器存取而服務來自該客戶端的該輸出入請求,該複數個使用者物件檔案各自對應於複數個資料夾的其中之一,其中該複數個資料夾係屬於該複數個資料伺服器的檔案系統;及複數個超資料物件檔案,用以提供該複數個資料伺服器使用,其中包括記錄一全域存取控制資訊的一第一超資料物件檔案與各自表示一狀態資料的複數個第二超資料物件檔案,該全域存取控制資訊用以記錄該複數個資料伺服器對該複數個資料夾的存取權限的對應關係,該複數個狀態資料各別用以代表該複數個資料伺服器中的某一與該複數個資料夾中的某一的對應關係;其中,當該全域存取控制資訊的內容被變更,則與該變更內容相關的一第一狀態資料所屬的該第二超資料物件檔案會被刪除,該複數個資料伺服器中與該第一狀態資料相關的一第一資料伺服器會偵測到與其相關的該第一 狀態資料所屬的該第二超資料物件檔案消失,因此該第一資料伺服器至該雲儲存單元下載包含有變更後的該全域存取控制資訊的該第一超資料物件檔案、並據以更新該第一資料伺服器內的該區域存取控制資訊,然後根據更新後的該區域存取控制資訊處理來自該客戶端的該輸出入請求,以存取該雲資料中的該複數個使用者物件檔案。
- 如請求項1所述的系統,其中該全域存取控制資訊中包含有複數個記錄項目,且該複數個記錄項目中的每一係記錄該複數個資料伺服器的其中之一對該複數個資料夾的其中之一的存取權限的對應關係。
- 如請求項2所述的系統,其中該複數個記錄項目中的每一更包含有複數個欄位,該複數個欄位儲存有設定資訊包含:資料伺服器身分識別、資料夾名稱、及存取權限。
- 如請求項2所述的系統,其中該複數個記錄項目更組成一表格。
- 如請求項1所述的系統,其中該全域存取控制資訊中,對該複數個資料夾中的任一資料夾,只能有該複數個資料伺服器的其中之一可以具有一較高存取權限。
- 如請求項5所述的系統,其中該較高存取權限是一包含寫入(write)的存取權限。
- 如請求項1所述的系統,其中該雲儲存單元中更包含有一雲應用程式介面,用以在進行資料傳輸時,協助該複數個資料伺服器與該雲儲存單元間指令溝通的資料存取介面。
- 如請求項1所述的系統,其中該複數個資料伺服器係透過一第一網路連接到該雲儲存單元,該第一網路可以是一網際網路或是一區域網路。
- 如請求項8所述的系統,其中該至少一客戶端係透過一第二網路與該複數個資料伺服器連接,該第二網路可以是一網際網路或是一區域網路。
- 如請求項9所述的系統,其中該第一網路與該第二網路是同一網路。
- 如請求項9所述的系統,其中該第一網路與該第二網路是不同網路。
- 如請求項1所述的系統,其中該複數個資料伺服器對該雲資料做資料存取時,不需要透過一中央管理機制來管理資料存取的權限。
- 如請求項1所述的系統,其中該複數個使用者物件檔案之檔名,經過該複數個資料伺服器的解析轉換後,呈現出對應於該複數個資料夾的架構。
- 如請求項1所述的系統,其中該第一資料伺服器偵測到與其相關的該第一狀態資料所屬的該第二超資料物件檔案消失的方式,係經由定期檢查該第一狀態資料所屬的該第二超資料物件檔案是否仍存在於該雲儲存單元內。
- 如請求項1所述的系統,其中該存取控制強制單元是參考該區域存取控制資訊而決定是否執行該至少一客戶端所發出的該至少一輸出入請求。
- 如請求項1所述的系統,其中該區域存取控制資訊係為該全域存取控制資訊的一部份或是全部。
- 如請求項1所述的系統,其中該全域存取控制資訊係以正面表列的方式記錄該複數個資料伺服器對該複數個資料夾的存取權限的設定。
- 如請求項1所述的系統,其中該複數個資料伺服器中的每一所包含的該區域存取控制資訊,只有記錄該區域存取控制資訊所屬的該複數個資料伺服器的其中之一與該複數個資料夾中至少一相關資料夾的存取權限的設定。
- 如請求項1所述的系統,其中該複數個資料夾中的一第一資料夾係透過排程設定的方式讓該複數個資料伺服器中的任二個或以上的資料伺服器輪流在不同且不重疊的時段內對該第一資料夾擁有一較高存取權限。
- 如請求項1所述的系統,其中當該第一資料伺服器偵測到與其相關的 該第一狀態資料所屬的該第二超資料物件檔案消失且下載包含有變更後的該全域存取控制資訊的該第一超資料物件檔案之後,該第一資料伺服器從變更後的該全域存取控制資訊得知該第一資料伺服器對該複數個資料夾中的一第二資料夾的存取權限改變為一升階狀態,則該第一資料伺服器必須先等待另一與該第二資料夾相關的一第二資料伺服器完成對該第二資料夾的存取權限變更為一降階狀態的處理流程,然後該第一資料伺服器再完成對該第二資料夾的存取權限變更的處理流程。
- 如請求項1所述的系統,其中當該第一資料伺服器偵測到與其相關的該第一狀態資料所屬的該第二超資料物件檔案消失且下載包含有變更後的該全域存取控制資訊的該第一超資料物件檔案之後,該第一資料伺服器從變更後的該全域存取控制資訊得知該第一資料伺服器對該複數個資料夾中的一第二資料夾的存取權限改變為一降階狀態,則該第一資料伺服器直接執行對該第二資料夾的存取權限變更的處理流程。
- 一種於一雲端資料儲存系統中管理雲端服務的方法,該雲端資料儲存系統包括有複數個資料伺服器、位於一雲儲存單元內之一雲資料、以及連結該複數個資料伺服器與該雲資料的一網路,該方法包括:儲存複數個使用者物件檔案於該雲資料中,用以提供該複數個資料伺服器存取而服務來自至少一客戶端的至少一輸出入請求,該複數個使用者物件檔案各自對應於複數個資料夾的其中之一,其中該複數個資料夾係屬於該複數個資料伺服器的檔案系統;儲存複數個超資料物件檔案於該雲資料中,其中更包括記錄一全域存取控制資訊的一第一超資料物件檔案與各自表示一狀態資料的複數個第二超資料物件檔案,該全域存取控制資訊用以記錄該複數個資料伺服器對該複數個資料夾的存取權限的對應關係,該複數個狀態資料各別用以代 表該複數個資料伺服器中的某一與該複數個資料夾中的某一的對應關係;一管理者經由該複數個資料伺服器的其中之一變更該全域存取控制資訊的內容;刪除與該全域存取控制資訊的變更內容相關的一第一狀態資料所屬的該第二超資料物件檔案,該第一狀態資料係代表該複數個資料伺服器中的一第一資料伺服器對該複數個資料夾中的一第一資料夾的對應關係;該第一資料伺服器偵測到與其相關的該第一狀態資料所屬的該第二超資料物件檔案消失;該第一資料伺服器下載包含有變更後的該全域存取控制資訊的該第一超資料物件檔案,並據以更新該第一資料伺服器內部的一區域存取控制資訊;以及該第一資料伺服器根據更新後的該區域存取控制資訊處理來自該至少一客戶端的該至少一輸出入請求,以存取該雲儲存單元內之該雲資料。
- 如請求項22所述的方法,其中該全域存取控制資訊中包含有複數個記錄項目,且該複數個記錄項目中的每一係記錄該複數個資料伺服器的其中之一對該複數個資料夾的其中之一的存取權限的對應關係。
- 如請求項23所述的方法,其中該複數個記錄項目中的每一更包含有複數個欄位,該複數個欄位儲存有設定資訊包含:資料伺服器身分識別、資料夾名稱、及存取權限。
- 如請求項23所述的方法,其中該複數個記錄項目更組成一表格。
- 如請求項22所述的方法,其中該全域存取控制資訊中,對該複數個資料夾中的任一資料夾,只能有該複數個資料伺服器的其中之一可以具有一較高存取權限。
- 如請求項26所述的方法,其中該較高存取權限是一包含寫入(write)的存取權限。
- 如請求項22所述的方法,其中該複數個資料伺服器對該雲資料做資料存取時,不需要透過一中央管理機制來管理資料存取的權限。
- 如請求項22所述的方法,其中該複數個使用者物件檔案之檔名,經過該複數個資料伺服器的解析轉換後,呈現出對應於該複數個資料夾的架構。
- 如請求項22所述的方法,其中觸發該第一資料伺服器至該雲儲存單元下載該全域存取控制資訊的原因,係為該第一資料伺服器偵測到與其相關的該第一狀態資料所屬的該第二超資料物件檔案消失。
- 如請求項30所述的方法,其中該第一資料伺服器偵測到與其相關的該第一狀態資料所屬的該第二超資料物件檔案消失的方式,係經由定期檢查與其相關的該第一狀態資料所屬的該第二超資料物件檔案是否仍存在於該雲儲存單元內。
- 如請求項22所述的方法,其中該區域存取控制資訊係為該全域存取控制資訊的一部份或是全部。
- 如請求項22所述的方法,其中該全域存取控制資訊係以正面表列的方式記錄該複數個資料伺服器對該複數個資料夾的存取權限的設定。
- 如請求項22所述的方法,其中該第一資料伺服器中的該區域存取控制資訊只有記錄該第一資料伺服器與該複數個資料夾中至少一相關資料夾的存取權限的設定。
- 如請求項22所述的方法,其中該第一資料夾係透過排程設定的方式讓該複數個資料伺服器中的任二個或以上的資料伺服器輪流在不同且不重疊的時段內對該第一資料夾擁有一較高存取權限。
- 如請求項22所述的方法,其中當該第一資料伺服器從變更後的該全域存取控制資訊得知該第一資料伺服器對該第一資料夾的存取權限改變為一升階狀態,則該第一資料伺服器必須先等待另一與該第一資料夾相關的一第二資料伺服器完成對該第一資料夾的存取權限變更的處理流程,然後該第一資料伺服器再完成對該第一資料夾的存取權限變更的處理流程。
- 如請求項22所述的方法,其中當該第一資料伺服器從變更後的該全域存取控制資訊得知該第一資料伺服器對該第一資料夾的存取權限改變為一降階狀態,則該第一資料伺服器直接執行對該第一資料夾的存取權限變更的處理流程。
- 如請求項22所述的方法,其中更包含以下步驟:該第一資料伺服器定期檢查該雲儲存單元內是否仍存在該第一狀態資料。
- 如請求項22所述的方法,其中當該全域存取控制資訊的內容被變更後,更進一步包含以下步驟:判斷該第一資料伺服器對該第一資料夾的存取權限是否變更為一較高存取權限。
- 如請求項39所述的方法,其中當判斷該第一資料伺服器對該第一資料夾的存取權限變更為一較高存取權限時,更進一步包含以下步驟:該第一資料伺服器先等待另一與該第一資料夾相關的一第二資料伺服器完成對該第一資料夾的存取權限變更,然後該第一資料伺服器再根據更新後的該區域存取控制資訊處理來自該客戶端的該輸出入請求。
- 如請求項40所述的方法,其中該第一資料伺服器得知該第二資料伺服器完成對該第一資料夾的存取權限變更的方式是:定期檢查該雲儲存單元內是否出現一第二狀態資料,其中該第二狀態資料係代表該第二資料伺服器對該第一資料夾的對應關係。
- 如請求項22所述的方法,其中當該全域存取控制資訊的內容被變更 後,更進一步包含以下步驟:檢查該第一資料伺服器內是否有存在需上傳至該雲儲存單元的一快取資料。
- 如請求項42所述的方法,其中當該第一資料伺服器內存在需上傳至該雲儲存單元的該快取資料時,更進一步包含以下步驟:該第一資料伺服器上傳該快取資料以及一轉換中訊息至該雲儲存單元,其中該轉換中訊息代表該第一資料伺服器對該第一資料夾的存取權限正在轉換中。
- 如請求項22所述的方法,其中該第一資料伺服器完成更新其內部的該區域存取控制資訊後,更進一步包含以下步驟:上傳一第三狀態資料至該雲儲存單元,其中該第三狀態資料代表該第一資料伺服器對該第一資料夾的對應關係。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862677190P | 2018-05-29 | 2018-05-29 | |
US62/677,190 | 2018-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202004514A TW202004514A (zh) | 2020-01-16 |
TWI698754B true TWI698754B (zh) | 2020-07-11 |
Family
ID=67235313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107143080A TWI698754B (zh) | 2018-05-29 | 2018-11-30 | 雲端服務之權限管理方法及其系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11507678B2 (zh) |
CN (2) | CN117370280A (zh) |
TW (1) | TWI698754B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI789193B (zh) * | 2021-12-30 | 2023-01-01 | 華南商業銀行股份有限公司 | 資料夾權限的自動化檢核方法及裝置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11080419B2 (en) * | 2019-05-28 | 2021-08-03 | Adara, Inc. | Distributed data rights management for peer data pools |
CN110545287B (zh) * | 2019-09-19 | 2022-02-18 | 车轮互联科技(上海)股份有限公司 | 日志访问权限的管理方法以及装置、服务器 |
CN111064714A (zh) * | 2019-11-29 | 2020-04-24 | 苏州浪潮智能科技有限公司 | 一种基于fpga的智能网卡acl更新装置 |
WO2022097469A1 (ja) | 2020-11-09 | 2022-05-12 | 日本電気株式会社 | 移行装置、移行方法及び記憶媒体 |
CN114727154A (zh) * | 2022-03-10 | 2022-07-08 | 阿里云计算有限公司 | 云应用服务数据处理方法、系统、存储介质及处理器 |
US20230393863A1 (en) * | 2022-06-03 | 2023-12-07 | Chevron U.S.A. Inc. | System and method for integrating new arrangements into one or more systems of applications |
CN115146317A (zh) * | 2022-07-29 | 2022-10-04 | 北京字跳网络技术有限公司 | 一种权限控制方法、装置、设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201602802A (zh) * | 2012-05-16 | 2016-01-16 | 蘋果公司 | 本端備份之基於雲端儲存 |
TW201607358A (zh) * | 2014-05-30 | 2016-02-16 | 蘋果公司 | 用於配件管理系統之控制器網路 |
TW201617963A (zh) * | 2014-07-29 | 2016-05-16 | 三星電子股份有限公司 | 轉送伺服器以及資料轉送方法 |
TW201635164A (zh) * | 2015-03-19 | 2016-10-01 | 金士頓數位股份有限公司 | 利用公有雲端網路的方法、私有雲端路由伺服器及智慧型裝置客戶端 |
TW201635760A (zh) * | 2015-03-18 | 2016-10-01 | 普易科技股份有限公司 | 居家控制閘道器及居家控制方法 |
TW201701169A (zh) * | 2015-06-16 | 2017-01-01 | 金士頓數位股份有限公司 | 用於私有通訊架構之私有雲端路由服務器連接機制 |
TW201710902A (zh) * | 2015-06-16 | 2017-03-16 | Arm股份有限公司 | 具有所有權表的資料處理設備及方法 |
TW201710937A (zh) * | 2015-09-01 | 2017-03-16 | Alibaba Group Services Ltd | 雲端主機服務權限控制方法、裝置和系統 |
TW201717046A (zh) * | 2015-11-02 | 2017-05-16 | 廣達電腦股份有限公司 | 動態資源管理系統及其方法 |
TW201721437A (zh) * | 2015-12-15 | 2017-06-16 | 廣達電腦股份有限公司 | 遠程區域管理之儲存系統及其電腦執行方法 |
TW201728124A (zh) * | 2014-09-16 | 2017-08-01 | 科勞簡尼克斯股份有限公司 | 以彈性地定義之通信網路控制器為基礎之網路控制、操作及管理 |
TW201729121A (zh) * | 2016-02-05 | 2017-08-16 | 群暉科技股份有限公司 | 雲端服務伺服器及用來管理一雲端服務伺服器之方法 |
TW201811093A (zh) * | 2016-08-08 | 2018-03-16 | 環旭電子股份有限公司 | 雲端資料傳輸系統及其動態分流方法 |
TW201812610A (zh) * | 2016-09-09 | 2018-04-01 | 夸克邏輯股份有限公司 | 安全地共享內容方法及系統 |
TW201816624A (zh) * | 2016-10-21 | 2018-05-01 | 元智大學 | 解決分散式雲端運算平台於虛擬化下衝突的獨立資源分派系統及雲端服務系統 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130048807A (ko) * | 2011-11-03 | 2013-05-13 | 한국전자통신연구원 | 클라우드 컴퓨팅 시스템 및 이를 위한 클라우드 서버관리 방법 |
CN102571771B (zh) * | 2011-12-23 | 2014-06-04 | 华中科技大学 | 一种云存储系统的安全认证方法 |
CN102880715A (zh) * | 2012-10-09 | 2013-01-16 | 南京市测绘勘察研究院有限公司 | 基于云存储的数据池管理方法及系统 |
WO2015069234A1 (en) * | 2013-11-06 | 2015-05-14 | Intel Corporation | Unifying interface for cloud content sharing services |
US20150220881A1 (en) * | 2014-02-06 | 2015-08-06 | Open Text S.A. | Systems, Methods and Architectures for Dynamic Re-Evaluation of Rights Management Rules for Policy Enforcement on Downloaded Content |
CN104009987B (zh) * | 2014-05-21 | 2017-02-22 | 南京邮电大学 | 一种基于用户身份能力的细粒度云平台安全接入控制方法 |
CN104767741B (zh) * | 2015-03-24 | 2018-03-06 | 杭州安恒信息技术有限公司 | 一种基于轻型虚拟机的计算服务分离与安全保护系统 |
CN104967660B (zh) * | 2015-05-11 | 2018-01-05 | 华中科技大学 | 一种面向多云架构的网络性能提升方法 |
CN105357201B (zh) * | 2015-11-12 | 2019-04-16 | 中国科学院信息工程研究所 | 一种对象云存储访问控制方法和系统 |
CN105893617A (zh) * | 2016-04-28 | 2016-08-24 | 广州奥凯信息咨询有限公司 | 一种管理一体化信息系统 |
CN106127064B (zh) * | 2016-06-14 | 2019-02-15 | 深圳市珍爱捷云信息技术有限公司 | 用于企业供应链的数据存储方法 |
-
2018
- 2018-11-30 TW TW107143080A patent/TWI698754B/zh active
- 2018-12-07 CN CN202311088735.XA patent/CN117370280A/zh active Pending
- 2018-12-07 CN CN201811496013.7A patent/CN110032544B/zh active Active
-
2019
- 2019-05-28 US US16/423,170 patent/US11507678B2/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201602802A (zh) * | 2012-05-16 | 2016-01-16 | 蘋果公司 | 本端備份之基於雲端儲存 |
TW201607358A (zh) * | 2014-05-30 | 2016-02-16 | 蘋果公司 | 用於配件管理系統之控制器網路 |
TW201617963A (zh) * | 2014-07-29 | 2016-05-16 | 三星電子股份有限公司 | 轉送伺服器以及資料轉送方法 |
TW201728124A (zh) * | 2014-09-16 | 2017-08-01 | 科勞簡尼克斯股份有限公司 | 以彈性地定義之通信網路控制器為基礎之網路控制、操作及管理 |
TW201635760A (zh) * | 2015-03-18 | 2016-10-01 | 普易科技股份有限公司 | 居家控制閘道器及居家控制方法 |
TW201635164A (zh) * | 2015-03-19 | 2016-10-01 | 金士頓數位股份有限公司 | 利用公有雲端網路的方法、私有雲端路由伺服器及智慧型裝置客戶端 |
TW201710902A (zh) * | 2015-06-16 | 2017-03-16 | Arm股份有限公司 | 具有所有權表的資料處理設備及方法 |
TW201701169A (zh) * | 2015-06-16 | 2017-01-01 | 金士頓數位股份有限公司 | 用於私有通訊架構之私有雲端路由服務器連接機制 |
TW201710937A (zh) * | 2015-09-01 | 2017-03-16 | Alibaba Group Services Ltd | 雲端主機服務權限控制方法、裝置和系統 |
TW201717046A (zh) * | 2015-11-02 | 2017-05-16 | 廣達電腦股份有限公司 | 動態資源管理系統及其方法 |
TW201721437A (zh) * | 2015-12-15 | 2017-06-16 | 廣達電腦股份有限公司 | 遠程區域管理之儲存系統及其電腦執行方法 |
TW201729121A (zh) * | 2016-02-05 | 2017-08-16 | 群暉科技股份有限公司 | 雲端服務伺服器及用來管理一雲端服務伺服器之方法 |
TW201811093A (zh) * | 2016-08-08 | 2018-03-16 | 環旭電子股份有限公司 | 雲端資料傳輸系統及其動態分流方法 |
TW201812610A (zh) * | 2016-09-09 | 2018-04-01 | 夸克邏輯股份有限公司 | 安全地共享內容方法及系統 |
TW201816624A (zh) * | 2016-10-21 | 2018-05-01 | 元智大學 | 解決分散式雲端運算平台於虛擬化下衝突的獨立資源分派系統及雲端服務系統 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI789193B (zh) * | 2021-12-30 | 2023-01-01 | 華南商業銀行股份有限公司 | 資料夾權限的自動化檢核方法及裝置 |
Also Published As
Publication number | Publication date |
---|---|
US20200019718A1 (en) | 2020-01-16 |
CN110032544B (zh) | 2023-09-15 |
US11507678B2 (en) | 2022-11-22 |
CN110032544A (zh) | 2019-07-19 |
CN117370280A (zh) | 2024-01-09 |
TW202004514A (zh) | 2020-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI698754B (zh) | 雲端服務之權限管理方法及其系統 | |
US11789828B2 (en) | Methods and systems relating to network based storage | |
TWI502368B (zh) | 雲端計算系統及其電腦實施方法 | |
TWI512494B (zh) | 本端備份之基於雲端儲存 | |
US20180336210A1 (en) | Methods and systems relating to network based storage | |
US20150355862A1 (en) | Transparent array migration | |
US20150326432A1 (en) | Environment configuration server, computer system, and environment configuration method | |
US8341119B1 (en) | Flexible copies having different sub-types | |
US11150816B2 (en) | Immutable storage for cloud service providers | |
US20170316222A1 (en) | Method and System for Temporarily Implementing Storage Access Policies on Behalf of External Client Agents | |
US11630744B2 (en) | Methods and systems relating to network based storage retention | |
EP3535955B1 (en) | Systems, devices and methods for managing file system replication | |
WO2016206414A1 (zh) | 多个虚拟桌面架构的融合方法及装置 | |
US20240345726A1 (en) | Using Multiple Security Protocols to Control Access to a Storage System | |
US20170318093A1 (en) | Method and System for Focused Storage Access Notifications from a Network Storage System | |
US20170315934A1 (en) | Method and System for Faster Policy Based File Access for Storage Hosted by a Network Storage System | |
CN118369659A (zh) | 用于在共享管理环境中构建和验证数据库软件的技术 | |
Kumar et al. | Modern Big Data processing with Hadoop: Expert techniques for architecting end-to-end Big Data solutions to get valuable insights | |
TWI571754B (zh) | 用來進行檔案同步控制之方法與裝置 | |
US8726299B1 (en) | Image-oriented, plugin-based API to storage server appliances | |
US12093144B1 (en) | Method and system for performing cross platform restoration operations | |
US9348859B2 (en) | Providing record-level sharing (RLS) to local data sets | |
US11494128B1 (en) | Access control of resources in a cloud-native storage system | |
US20240295992A1 (en) | Unified namespace across data access protocols | |
Ngo et al. | Implementing OpenStack SwiftHLM with IBM Spectrum Archive EE or IBM Spectrum Protect for Space Management |