用于分布式文件系統的內容構造
【專利說明】用于分布式文件系統的內容構造
[0001]相關申請的交叉引用
[0002 ]本申請涉及與其在同一日期提交的美國專利申請系列號Nos._____名稱為
“DYNAMICALLY COMPOSED COMPUTE NODES COMPRISING DISAGGREGATED COMPONENTS”(EMC
案卷號N0.EMC-14-0279)、__________名稱為“SOFTWARE OVERLAYS FOR DISAGGREGATED
COMPONENTS”(EMC案卷號N0.EMC-14-0280)、___________名稱為 “APPLICAT1N AND
INFORMAT1N MOVEMENT IN A CLOUD ENVIRONMENT,,(EMC案卷號N0.EMC-14-
0264)、___名稱為“CL0UDB00K”(EMC案卷號N0.EMC-14-0265)、以及___名稱為 “MIGRATING PRIVATE INFRASTRUCTURE SERVICES TO A CLOUD”(EMC案卷號N0.EMC-14-0281),它們由此通過引用它們的整體并入本文。
技術領域
[0003]本發明一般性地涉及分布式文件系統,并且更特別地涉及用于在分布式文件系統上提供內容服務的系統和方法。
【背景技術】
[0004]數據中心和云基礎設施正在開始部署主導性地基于分布式文件系統的“數據湖(Data Lake)”架構。分布式文件系統的一個示例是Hadoop分布式文件系統(“HDFS”)。分布式文件系統經常是高度可伸縮的,能夠操作在低成本硬件上,并且支持分析算法。然而,它們缺少在更為傳統的系統上找到的內容服務。
[0005]因此,存在對于一種用于在分布式文件系統上提供內容服務的系統、方法、以及過程的需求。
【附圖說明】
[0006]通過以下的詳細描述結合附圖,將容易地理解本發明,在附圖中,相似的參考標號指示相似的結構元件,并且其中:
[0007]圖1描繪了符合于本公開內容的一個實施例的解決方案堆棧。
[0008]圖2描繪了用于提供符合于本公開內容的一個實施例的內容服務的過程。
[0009]圖3描繪了用于同步地應用以及異步地應用符合于本公開內容的一個實施例的文件策略的流程圖。
[0010]圖4描繪了用于同步地應用以及異步地應用符合于本公開內容的一個實施例的塊策略的流程圖。
[0011]圖5描繪了用于應用符合于本公開內容的一個實施例的元數據策略的流程圖。
【具體實施方式】
[0012]下面與圖示出本發明的原理的附圖一起,提供了本發明的一個或多個實施例的詳細描述。盡管結合這些實施例描述了本發明,但是應當理解,本發明不被限制于任何一個實施例。相反地,本發明的范圍僅由權利要求來限定,并且本發明涵蓋許多替換物、修改、以及等價物。為了示例的目的,以下的描述中闡述了許多具體細節,以便于提供對本發明的徹底理解。這些細節被提供是為了示例的目的,并且本發明可以根據不具有這些具體細節中的一些或者全部細節的權利要求來實行。為了清楚的目的,沒有詳細地描述在涉及本發明的技術領域中已知的技術材料,從而不會不必要地使本發明晦澀難懂。
[0013]應當意識到,能夠以許多方式來實施本發明,包括作為過程、裝置、系統、設備、方法、或者計算機可讀介質,諸如計算機可讀存儲介質或者在其中通過光學或電子通信鏈路來發送計算機程序指令的計算機網絡。應用可以采取在一般目的計算機上執行或者在硬件中被硬接線或硬編碼的軟件的形式。在這個說明書中,這些實施方式、或者本發明可以采取的任何其他形式,可以被稱為技術。一般而言,在本發明的范圍內,可以更改所公開的過程的步驟的順序。
[0014]將參考采用被配置為存儲文件的存儲系統的形式的數據存儲系統來描述本發明的一個實施例,但是應當理解,本發明的原理不限制于這種配置。確切地說,它們可應用到能夠存儲和處置采用模擬、數字、或者其他形式的各種類型的對象的任何系統。盡管可能通過示例的方式使用了諸如文檔、文件、對象等術語,但是本發明的原理不限制于表示和存儲數據或其他信息的任何特定形式;確切地說,它們等同地可應用到能夠表示信息的任何對象。
[0015]本公開內容描述了用于在包括分布式文件系統(諸如Hadoop文件系統(“HDFS”))的環境中提供內容構造(content fabric)的系統和方法。這個內容構造可以將策略(諸如管制或者合規功能)應用或者施行到該文件系統上存儲的二進制對象、文件、或者其他數據。在一個實施例中,內容構造可以位于應用堆棧中并且同步地和/或異步地將這些策略應用到文件和/或數據塊。這些策略可以基于文件它自身和/或文件元數據,并且可以因此在文件達到時動態地被應用。這些策略由此提供了傳統地不在分布式文件系統上供應的數據服務。
[0016]圖1描繪了符合于本公開內容的一個實施例的解決方案堆棧。該解決方案堆棧可以包括全部都操作在平臺即服務(“Paas”)層106上的應用構造100、數據構造102、以及內容構造104 Waas層106進而可以操作在物理基礎設施108上,物理基礎設施108可以包括一個或多個包括處理器、存貯器、和/或存儲器的物理機。
[0017]在一個實施例中,應用構造100可以包括向被具體化在Paas106中的虛擬基礎設施進行寫入或者從其進行讀取的應用。可以經由數據構造102來訪問這個虛擬基礎設施,數據構造102可以包括分布式文件系統,諸如HDFS。在一些實施例中,數據構造102包括數據分析工具,這些數據分析工具用于將數據攝入分布式文件系統中、從分布式文件系統查詢并且導出數據。這些工具可以包括查詢接口,諸如Pivotal HD、SQL到HDFS轉換接口(諸如Pivotal HAWQ)、存儲器中的數據網格分析(諸如Pivota 1 GemFire)、或者非結構化的模式識別工具(諸如Pivotal Analytics)。
[0018]內容構造104可以包括傳統上不可用于分布式文件系統的內容服務。這些內容服務可以包括響應于給定的文件、文件類型、和/或內容而被執行的策略或者其他邏輯。例如,內容服務可以是將一種文件格式變換到另一種文件格式(例如,bmp到jpeg)的內容變換服務。下面詳細地討論不同的內容服務。
[0019]分布式文件系統(諸如HDFS)可以在將文件寫入到物理或虛擬存貯器之前處理它們。例如,分布式文件系統可以將文件拆分為塊,并且將這些塊存儲在分布式系統中的不同位置。作為結果,內容構造104可以將內容服務既應用到文件它們自身并且又應用到系統上所存儲的成分塊(constituent block)。例如,在文件級別,策略可以確定視頻文件應當從AVI格式變換為MPEG格式。類似地,在塊級別,策略可以確定這些塊應當被存儲在特定的地理位置,因為它們包含敏感信息。內容構造104可以做出這些確定并且將適當的策略應用到文件它自身或者文件的成分塊。
[0020]在一些實施例中,內容構造104可以直接地并入分布式文件系統中。例如,HDFS的實例可以被修改以包括內容構造。另外地或者替換地,內容構造可以被實施在處于與分布式文件系統的通信中的分離模塊中。
[0021]現在轉向圖2,討論了一種用于使用內容構造來處理文件的方法。這個方法可以被使用例如來提供在分布式文件系統的上方、與分布式文件系統并排、或者被嵌入在分布式文件系統中的內容服務。
[0022]在框200處,接收將被存儲在分布式文件系統上的文件。可以例如從應用構造100接收這個文件。在一些實施例中,該文件被傳輸