文件服務(wù)器、信息系統(tǒng)及其控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種文件服務(wù)器、連接到通信網(wǎng)絡(luò)的包括文件服務(wù)器的信息系統(tǒng)及其控制方法并且涉及一種用于管理文件的技術(shù)。
【背景技術(shù)】
[0002]公司或者個人以它自己的開支購買服務(wù)器和軟件并且使用服務(wù)器和軟件這種形式被主要地使用。然而,為了減少TCO (總所有權(quán)成本),用于通過因特網(wǎng)使用服務(wù)器和軟件的云計算趨于擴展。
[0003]PTL I公開了一種技術(shù),在該技術(shù)中,在多個基地(被稱為邊緣(Edge))的存儲裝置(本地存儲裝置和本地文件服務(wù)器)和數(shù)據(jù)中心(被稱為核心(Core))的存儲裝置(遠程存儲裝置和遠程文件服務(wù)器)被連接的系統(tǒng)中,向數(shù)據(jù)中心拷貝基地的文件,并且拷貝的文件在基地中被存根和管理,并且在對在基地中存根的文件的訪問出現(xiàn)時,從數(shù)據(jù)中心側(cè)讀取出文件。
[0004]在PTL I中的系統(tǒng)中,在用戶在本地存儲裝置的文件系統(tǒng)中寫入文件時,本地存儲裝置周期性地執(zhí)行向核心側(cè)復(fù)制文件。在這一復(fù)制的處理中,在可以執(zhí)行復(fù)制處理時的時間和時間段、可以被傳輸?shù)臄?shù)據(jù)量等在一些情況下受到限制。
[0005]本地存儲裝置即使在復(fù)制之后仍然管理文件作為高速緩存文件而未刪除文件。
[0006]隨后,在邊緣側(cè)上的文件系統(tǒng)容量達到某一閾值時,具有早期訪問日期和時間的高速緩存文件被改變成存根文件(存根化)。存根文件是如下文件,該文件沒有對邊緣中的實際數(shù)據(jù)的引用而保持對核心中的實際數(shù)據(jù)的引用。
[0007]在這樣的情況下,在對存根文件的訪問從用戶出現(xiàn)時,由于文件的實際數(shù)據(jù)在邊緣側(cè)上不存在,所以執(zhí)行用于從核心側(cè)向邊緣側(cè)下載實際數(shù)據(jù)的處理(回調(diào)處理)。
[0008]引用列表
[0009]專利文獻
[0010][PTL I]美國專利申請公開號2012/0016838
【發(fā)明內(nèi)容】
[0011]技術(shù)問題
[0012]在PTL I中描述的系統(tǒng)中,并未考慮用戶在邊緣之間移動并且從在移動目的地處的另一邊緣訪問用戶的數(shù)據(jù)。在這樣的系統(tǒng)中,存在問題在于例如在用戶向另一邊緣移動并且在邊緣中訪問移動目的地邊緣中的用于用戶的獨占目錄(起始目錄)中的數(shù)據(jù)時,用戶直至在移動始發(fā)地邊緣中更新的文件被復(fù)制到核心側(cè)才可以引用在移動始發(fā)地邊緣中更新的文件。這一問題往往特別地在如果在可以執(zhí)行復(fù)制時的時間和時間段以及數(shù)據(jù)量受限制則不能在一個復(fù)制處理中完全地傳輸更新的數(shù)據(jù)時出現(xiàn)。
[0013]因此,本發(fā)明的目的是提供一種用于允許用戶在另一基地的文件服務(wù)器中適當?shù)匾迷谝粋€基地的文件服務(wù)器中被管理的文件的技術(shù)。
[0014]對問題的解決方案
[0015]根據(jù)本發(fā)明的一個方面的一種文件服務(wù)器耦合到多個用戶終端和遠程文件服務(wù)器。文件服務(wù)器包括處理器,處理器被配置為在存儲設(shè)備中存儲從多個用戶終端接收的文件的數(shù)據(jù),向遠程文件服務(wù)器復(fù)制文件,對在存儲設(shè)備中存儲的文件存根以及在從用戶終端接收到訪問請求時,如果與訪問請求有關(guān)的文件未被存根,則從存儲設(shè)備讀取出文件的數(shù)據(jù)并且向用戶終端傳輸數(shù)據(jù),并且如果與訪問請求有關(guān)的文件被存根,則從遠程文件服務(wù)器回調(diào)文件的數(shù)據(jù)并且向用戶終端傳輸文件的數(shù)據(jù)。文件服務(wù)器向遠程文件服務(wù)器復(fù)制比另一用戶優(yōu)先地在某一時間內(nèi)執(zhí)行向文件服務(wù)器的會話斷開請求的用戶的數(shù)據(jù)。
[0016]本發(fā)明的有利效果
[0017]根據(jù)本發(fā)明,有可能在遠程文件服務(wù)器中適當?shù)卮鎯υ谖募?wù)器中被更新的文件。因此,例如有可能從連接到遠程文件服務(wù)器的另一文件服務(wù)器適當?shù)匾迷谀骋晃募?wù)器中被更新的文件。
【附圖說明】
[0018][圖1]圖1是示出了根據(jù)第一實施例的信息系統(tǒng)的概況的示圖。
[0019][圖2]圖2是根據(jù)第一實施例的信息系統(tǒng)的硬件配置圖。
[0020][圖3]圖3是根據(jù)第一實施例的信息系統(tǒng)的軟件配置圖。
[0021][圖4]圖4是根據(jù)第一實施例的文件系統(tǒng)配置信息的配置圖。
[0022][圖5]圖5是根據(jù)第一實施例的目錄條目的配置圖。
[0023][圖6]圖6根據(jù)第一實施例的i節(jié)點的配置圖。
[0024][圖7]圖7是根據(jù)第一實施例的i節(jié)點管理表的配置圖。
[0025][圖8]圖8是根據(jù)第一實施例的i節(jié)點的詳細配置圖。
[0026][圖9]圖9是圖示了根據(jù)第一實施例的用戶管理表和管理用戶管理表的方法的示圖。
[0027][圖10]圖10是根據(jù)第一實施例的訪問處理的流程圖。
[0028][圖11]圖11是根據(jù)第一實施例的鎖定處理的流程圖。
[0029][圖12]圖12是根據(jù)第一實施例的解鎖處理的流程圖。
[0030][圖13]圖13是根據(jù)第一實施例的連接用戶管理處理的流程圖。
[0031][圖14]圖14是根據(jù)第一實施例的高速緩存改寫處理的流程圖。
[0032][圖15]圖15是根據(jù)第一實施例的回調(diào)處理的流程圖。
[0033][圖16]圖16是根據(jù)第一實施例的存根信息獲取處理的流程圖。
[0034][圖17]圖17是根據(jù)第一實施例的斷開用戶管理處理的流程圖。
[0035][圖18]圖18是根據(jù)第一實施例的復(fù)制處理(方法A)的流程圖。
[0036][圖19]圖19是根據(jù)第一實施例的復(fù)制處理(方法B)的流程圖。
[0037][圖20]圖20是根據(jù)第一實施例的復(fù)制處理(除了隸屬之外)的流程圖。
[0038][圖21]圖21是根據(jù)第一實施例的存根化處理的流程圖。
[0039][圖22]圖22是圖示了問題的示圖。
[0040][圖23]圖23是根據(jù)第二實施例的配置文件的配置圖。
[0041][圖24]圖24是示出了根據(jù)第二實施例的實現(xiàn)方法I的概況的示圖。
[0042][圖25]圖25是根據(jù)第二實施例的基地列表的配置圖。
[0043][圖26]圖26是示出了根據(jù)第二實施例的實現(xiàn)方法2的概況的示圖。
[0044][圖27]圖27是圖示了根據(jù)第二實施例的基地的分組的示圖。
[0045][圖28]圖28是根據(jù)第二實施例的用戶列表的配置圖。
[0046][圖29]圖29是示出了根據(jù)第二實施例的實現(xiàn)方法3的方法A的概況的示圖。
[0047][圖30]圖30是示出了根據(jù)第二實施例的實現(xiàn)方法3的方法B的概況的示圖。
[0048][圖31]圖31是根據(jù)第二實施例的在邊緣側(cè)上的會話斷開處理的流程圖。
[0049][圖32]圖32是根據(jù)第二實施例的在核心側(cè)上的在會話斷開期間的處理的流程圖。
[0050][圖33]圖33是示出了根據(jù)第二實施例的通過輪詢的數(shù)據(jù)獲取處理的概況的示圖。
[0051][圖34]圖34是根據(jù)第二實施例的通過輪詢的數(shù)據(jù)獲取處理的流程圖。
[0052][圖35]圖35是根據(jù)第二實施例的在邊緣側(cè)上的會話連接處理的流程圖。
[0053][圖36]圖36是根據(jù)第二實施例的在核心側(cè)上的會話連接處理的流程圖。
【具體實施方式】
[0054]參照【附圖說明】了若干實施例。以下說明的實施例并未限制根據(jù)專利權(quán)利要求的本發(fā)明。注意,在實施例中描述的所有部件和部件的組合并非總是對于本發(fā)明的解決手段而S者P是必需的。
[0055]注意,在以下說明中,有時通過表示(比如“aaa表”)說明本發(fā)明的信息。然而,這些種類的信息可以由除了數(shù)據(jù)結(jié)構(gòu)之外的表示(比如表)表示。因此,為了指示信息并未依賴于數(shù)據(jù)結(jié)構(gòu),“aaa表”等有時被稱為“aaa信息”。有時通過表示(比如“bbb名稱”)說明用于標識本發(fā)明的“bbb”的信息。然而,用于標識“bbb”的信息不限于名稱而僅需是可以用“bbb”標識的信息,比如標識符、標識名稱和地址。
[0056]在以下說明中,“程序”被用作主題。然而,程序在使用存儲器和I/F(接口 )之時執(zhí)行通過被處理器(通常是CPU(中央處理單元))執(zhí)行而被定義的處理。因此,處理器可以在說明書中被用作主題。以程序用作主題而公開的處理可以是由文件服務(wù)器(例如,以下說明的文件存儲裝置或者存檔存儲裝置)執(zhí)行的處理。程序的部分或者全部可以由專用硬件實現(xiàn)。各種程序可以由程序分發(fā)服務(wù)器安裝于相應(yīng)的計算機或者計算機可讀的存儲介質(zhì)中。存儲介質(zhì)可以例如是IC卡、SD卡或者DVD。
[0057]說明了各種術(shù)語?!昂诵摹笔前ㄟh程計算機系統(tǒng)的基地(收集基地)并且例如是共同地管理服務(wù)器和存儲裝置的基地或者提供云服務(wù)的基地?!斑吘墶笔前ū镜赜嬎銠C系統(tǒng)的基地并且例如是其中用戶實際地執(zhí)行業(yè)務(wù)的基地,比如分部、營業(yè)地點或者遠程辦公室?!按娓笔俏募拇鎯δ康牡匦畔?代表鏈接目的地的信息)與之關(guān)聯(lián)的對象(元數(shù)據(jù))?!按娓本瓦吘?邊緣的計算機系統(tǒng))的文件而言意味著刪除實際數(shù)據(jù)而僅保持管理信息。存根的文件未保持實際數(shù)據(jù)。因此,在訪問文件時,有必要從核心的計算機系統(tǒng)獲取實際數(shù)據(jù)。因此,在對存根的文件的訪問中,訪問性能與普通文件比較被惡化。
[0058]“復(fù)制”意味著向核心拷貝在邊緣中存在的文件?!稗|移”意味著向核心復(fù)制在邊緣中存在的文件并且對邊緣的文件存根。“存檔”是迀移和復(fù)制的一般術(shù)語。“回調(diào)”就存根的文件而言意味著從核心獲取實際數(shù)據(jù)并且在邊緣的文件中保持實際數(shù)據(jù)。“高速緩存”意味著文件在從邊緣向核心復(fù)制之后保留在邊緣中或者意味著以這種方式讓文件留在邊緣中。對高速緩存的訪問通常具有與對普通文件的訪問性能等效的訪問性能?!捌鹗寄夸洝痹谖募到y(tǒng)中意味著向每個用戶分配的用于用戶的獨占目錄并且包括用戶的目錄和文件作為隸屬。
[0059]首先說明根據(jù)第一實施例的信息系統(tǒng)。
[0060]圖1是示出了根據(jù)第一實施例的信息系統(tǒng)的概況的示圖。
[0061]在信息系統(tǒng)的邊緣10A(也被稱為基地A)中,在文件存儲裝置30的文件系統(tǒng)36的文件A由用戶A更新(圖中的(A))時,文件存儲裝置30在預(yù)定點(例如,在用戶A斷開與文件存儲裝置30的會話時的時間或者周期性地關(guān)于文件系統(tǒng)36的文件(文件A等)執(zhí)行向存檔存儲裝置120復(fù)制和對文件存根(圖1中的(B))。
[0062]隨后,在用戶A從基地A向基地B(邊緣10B)移動(圖中的(C))并且將會話連接到基地B的文件存儲裝置30時,基地B的文件存儲裝置30從核心100的存檔存儲裝置120的文件系統(tǒng)126回調(diào)文件A并且在文件系統(tǒng)36中存儲文件A(圖中的(D))。當在基地B中回調(diào)文件A時,文件A已經(jīng)被復(fù)制到核心100的文件系統(tǒng)126。因此,有可能適當?shù)貓?zhí)行對文件A的回調(diào)。
[0063]圖2是示出了根據(jù)第一實施例的信息系統(tǒng)的硬件配置的示圖。
[0064]信息系統(tǒng)的硬件被布置在邊緣10和核心100中。在圖2中所示的示例中,提供了多個邊緣10和單個核心100。然而,可以提供單個邊緣10和/或多個核心100。
[0065]邊緣10的計算機系統(tǒng)包括RAID (獨立(或者廉價)盤冗余陣列)系統(tǒng)20、一個或者多個文件存儲裝置30和一個或者多個客戶端(例如,個人計算機)/主機(例如,服務(wù)器)40。文件存儲裝置30是本地服務(wù)器的示例。文件存儲裝置30例如經(jīng)由通信網(wǎng)絡(luò)50 (例如,LAN(局域網(wǎng)))連接到客戶端/主機40。文件存儲設(shè)備30例如經(jīng)由通信網(wǎng)絡(luò)(例如,SAN(存儲區(qū)域網(wǎng)絡(luò)))連接到RAID系統(tǒng)20。
[0066]RAID系統(tǒng)20包括CHA (信道適配器)21、DKC (盤控制器)22和盤(DISK) 23。CHA21和盤23連接到DKC 22。CHA 21是連接到文件存儲裝置30的通信接口設(shè)備。DKC 22是控制器。盤23是盤類型(例如,HDD(硬盤驅(qū)動))的物理存儲設(shè)備。作為物理存儲設(shè)備,可以采用另一類型(例如,閃存設(shè)備)的物理存儲設(shè)備。在圖2中示出了單個盤23。然而,實際上提供了多個盤23 (或者可以如圖中所示采用單個盤23)。一個或者多個RAID組可以由多個盤23配置。雖然在圖中未示出,但是RAID系統(tǒng)20包括存儲在RAID系統(tǒng)20中被執(zhí)行的程序的存儲器和執(zhí)行程序的CPU (中央處理單元)。
[0067]RAID系統(tǒng)20在CHA 21中接收從文件存儲裝置30傳輸?shù)膲K級的I/O請求并且基于DKC 22的控制來執(zhí)行向適當盤23的I/O。
[0068]文件存儲設(shè)備30包括存儲器31、CPU 32、NIC(網(wǎng)絡(luò)接口卡)33和HBA(主機總線適配器)34。CPU 32連接到存儲器31、NIC 33和HBA 34。
[0069]NIC 33是與存檔存儲裝置120和客戶端/主機40通信的通信接口設(shè)備。
[0070]HBA 34是與RAID系統(tǒng)20通信的通信接口設(shè)備。
[0071]存儲器31是CPU 32可以指引讀取和寫入的存儲區(qū)域(例如,RAM(隨機存取存儲器)或者ROM(只讀存儲器))。在文件存儲裝置30中,在存儲器31上讀取用于控制文件存儲裝置30的程序(例如,OS(操作系統(tǒng)))。CPU 32執(zhí)行程序。文件存儲裝置30除了存儲器31之外或者取代存儲器31還可以包括另一類型的存儲資源。存儲器31是存儲設(shè)備的示例。
[0072]文件存儲裝置30經(jīng)由NIC 33從客戶端/主機40接收文件級的I/O請求。文件存儲系統(tǒng)30創(chuàng)建對于數(shù)據(jù)塊的I/O的I/O請求(塊級的I/O請求),該數(shù)據(jù)塊包括由接收的I/O請求指明的文件。文件存儲裝置30經(jīng)由HBA 34向RAID系統(tǒng)20傳輸塊級的I/O請求。
[0073]客戶端/主機40包括存儲器41、CPU 42,NIC 43和盤44。客戶端/主機40除了存儲器41和/或盤44之外或者取代存儲器41和/或盤44還可以包括另一類型的存儲資源。
[0074]客戶端/主機40在存儲器41上讀取在盤44中存儲的程序(用于控制客戶端/主機40的程序(例如,OS))。CPU