專利名稱:文件操作方法、控制器及文件操作系統的制作方法
技術領域:
本發明涉及文件管理領域,尤其涉及一種文件操作方法、控制器及文件操作系統。
背景技術:
在現有的文件管理技術中,139郵箱文件系統可進行文件的存儲與讀取,其適用于小流量的數據的處理。139郵箱文件系統的處理流程大致如下所述當客戶端進行文件存儲時,客戶端發送文件存儲請求到系統中的分發器,分發器轉發該文件存儲請求到控制器, 控制器選擇與客戶端所在地A地就近區域的第一區域集群文件管理器,并分配該第一區域集群文件管理器中的存儲池信息給客戶端,客戶端即可對該存儲池存儲其文件;而當客戶端在B地要進行文件讀取時,客戶端發送文件讀取請求到系統中的分發器,分發器轉發該文件讀取請求到控制器,控制器在客戶端所在地B地就近區域的第二區域集群文件管理器中查找客戶端所存儲的文件,在未找到該文件時,系統需要通過與區域集群相連的中央集群,最終連接到第一區域集群文件管理器,并將第一區域集群文件管理器的存儲池中存儲的文件提供給用戶進行讀取。這樣,客戶端進行異地文件讀取或進行其他文件操作時,139 郵箱文件系統的處理過程十分復雜,系統處理效率低下,導致用戶對文件操作的響應等待時間延長,用戶滿意度降低,特別的,本系統并不支持大流量的文件數據流的處理,限制了文件管理技術的應用。
發明內容
本發明實施例所要解決的技術問題在于,提供一種文件操作方法、控制器及文件操作系統,以提高系統對文件操作請求的處理速度及響應速度,提升用戶的滿意度,并拓寬文件管理技術在大流量文件數據流處理領域的應用。為解決上述技術問題,本發明實施例采用如下技術方案 一種文件操作方法,包括
獲得對文件的操作請求;
根據所述操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元;
以所述目標存儲池單元信息響應所述操作請求。一種控制器,包括
獲取單元,用于獲得客戶端對文件的操作請求;
選擇單元,用于根據所述操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元;
響應單元,用于以所述目標存儲池單元信息響應所述操作請求。一種文件操作系統,包括用于發送對文件的操作請求的客戶端以及用于根據所述操作請求進行處理的若干個集群,其中,所述集群包括若干存儲池單元及分發器,所述集群還包括控制器,用于根據所述分發器從所述客戶端轉發的操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元,并以所述目標存儲池單元信息響應所述操作請求。本發明實施例的有益效果是
通過提供一種文件操作方法、控制器及文件操作系統,主要根據對文件的操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元,并以所述目標存儲池單元信息響應所述操作請求,這樣,以簡單的文件操作處理流程,提高了系統對文件操作請求的處理速度及響應速度,提升了用戶的滿意度,并拓寬了文件管理技術在大流量文件數據流處理領域的應用。下面結合附圖對本發明實施例作進一步的詳細描述。
圖1是本發明的文件操作方法的第一實施例流程圖。圖2是本發明的文件操作方法的第二實施例流程圖。圖3是本發明的文件操作系統的實施例示意圖。圖4是本發明的控制器3023的主要結構示意圖。圖5是本發明的控制器3023的第一實施例示意圖。圖6是本發明的控制器3023的第二實施例示意圖。
具體實施例方式本發明實施例提供了一種文件操作方法及其對應的控制器及文件操作系統,主要根據對文件的操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元,并以所述目標存儲池單元信息響應所述操作請求,這樣,可當客戶端進行文件存儲時,通過在備選存儲池單元的集合中選擇若干目標存儲池單元進行文件的分布式存儲,可當客戶端進行異地文件讀取時,可在存儲有待讀取文件的各備選存儲池單元中選擇目標存儲池單元以提供給客戶端進行訪問,總之,其以簡單的文件操作處理流程,提高了系統對文件操作請求的處理速度及響應速度,提升了用戶的滿意度,并拓寬了文件管理技術在大流量文件數據流處理領域的應用。下面通過多個具體實施例對本發明的文件操作方法及其對應的控制器及文件操作系統進行說明。如圖1所示,本發明文件操作方法的第一實施例主要包括如下流程
101,客戶端向集群中的分發器發送對待存儲的文件的存儲請求,該存儲請求中攜帶有文件的文件標識(Identification,ID);
102,分發器將存儲請求轉發到集群中的控制器;
103,控制器查詢本地預設定的文件ID與存儲池單元信息映射表,判斷其中是否存在與上述文件ID對應的存儲池單元信息,具體的,每個集群中設置有若干存儲池單元,各個集群的每個存儲池單元均用于存儲文件并提供給客戶端進行訪問操作,可通過在不同集群的存儲池單元中存儲相同的文件實現不同集群之間的同步,文件在存儲池單元存儲成功的同時,即在上述文件ID與存儲池單元信息映射表中建立了文件ID與其對應存儲池單元信息的映射關系,而各集群的控制器可連接到同一集群管理器上,從而各集群的控制器之間可進行文件ID與存儲池單元信息映射表共享,例如第一集群中的第一存儲池存儲有第一文件,則第一集群中的第一控制器的第一文件ID與存儲池單元信息映射表則建立了第一文件與其存儲池單元信息的第一映射關系,那么,第二集群中的第二控制器可通過與其連接的集群管理器獲得第一控制器的第一文件ID與存儲池單元信息映射表中的信息,從而第二控制器可判斷其所在第二集群中的第二存儲池是否存儲有待存儲的文件,同時也可以判斷第一集群中的第一存儲池是否存儲有待存儲的文件;
104,當上述103判斷為不存在與上述文件ID對應的存儲池單元信息時,則指示待存儲的文件沒有預先存儲到各集群的存儲池單元中,那此時控制器根據各備選存儲池單元的負載情況,從備選存儲池單元的集合中確定用于對文件執行存儲操作的目標存儲池單元,具體地,集群管理器可從與之相連的各集群的控制器上獲得對應集群中存儲池單元的負載因素信息(如訪問量信息等),這樣,集群的控制器既可從其所在集群的存儲池單元獲得負載因素信息,又可通過集群管理器獲得其他集群存儲池單元的負載因素信息,并可通過各存儲池單元的負載因素信息綜合得到各存儲池單元的負載情況,由此對各存儲池單元進行負載指示值的排序,從而根據各存儲池單元的負載指示值排序,確定負載相對較輕或者最輕的備選存儲池單元作為目標存儲池單元以處理文件存儲操作;
105,控制器在文件ID與存儲池單元信息映射表中建立上述文件ID與目標存儲池單元信息的映射關系;
106,控制器以各目標存儲池單元信息(如路徑信息)響應客戶端的存儲操作請求,具體地,目標存儲池單元信息可以是目標存儲池的rimid組,控制器將各目標存儲池的rimid組依次發送到分發器及客戶端;
這樣,各客戶端、分發器、控制器及存儲單元之間即可根據上述響應完成后續的文件存
儲
107,分發器向控制器返回該分發器的rimid ; 108,客戶端向分發器發送文件;
109,分發器根據文件的文件ID及目標存儲池信息rimid組,將文件發送到各目標存儲池進行存儲。 作為一種實施方式,在上述105與106之間,還可以包括如下步驟
控制器建立用于標識上述待存儲的文件的存儲狀態的文件狀態映射表,具體地,文件的存儲狀態包括文件在目標存儲池中存儲成功或失敗的狀態信息;
這樣,當目標存儲池單元的文件的存儲失敗時,控制器從文件ID與存儲池單元信息映射表中刪除文件ID與目標存儲池單元信息的映射關系,并刪除上述的文件狀態映射表, 而當目標存儲池單元的文件的存儲成功時,刪除上述文件狀態映射表,具體地,當某一目標存儲池單元的文件的存儲失敗時,該目標存儲池單元分別向控制器及分發器返回文件存儲失敗信息,分發器判斷是否所有的目標存儲池單元均對文件存儲失敗,若是則分發器請求控制器重新分配目標存儲池單元對文件進行存儲,并從文件ID與存儲池單元信息映射表中刪除各個文件ID與目標存儲池單元信息的映射關系,并刪除上述的文件狀態映射表,最后,只要有一個目標存儲池單元對文件存儲成功并向控制器返回了存儲成功信息,則保留文件ID與存儲池單元信息映射表中的文件ID與成功存儲文件的目標存儲池單元信息的映射關系,并刪除上述文件狀態映射表。如圖2所示,本發明文件操作方法的第二實施例主要包括如下流程
201,客戶端向集群中的分發器發送對待讀取的文件的讀取請求,該讀取請求中攜帶有文件的文件標識(Identification,ID);
202,分發器將讀取請求轉發到集群中的控制器;
203,控制器查詢本地預設定的文件ID與存儲池單元信息映射表,判斷其中是否存在與上述文件ID對應的存儲池單元信息,具體的,每個集群中設置有若干存儲池單元,各個集群的每個存儲池單元均用于存儲文件并提供給客戶端進行訪問操作,可通過在不同集群的存儲池單元中存儲相同的文件實現不同集群之間的同步,文件在存儲池單元存儲成功的同時,即在上述文件ID與存儲池單元信息映射表中建立了文件ID與其對應存儲池單元信息的映射關系,而各集群的控制器可連接到同一集群管理器上,從而各集群的控制器之間可進行文件ID與存儲池單元信息映射表共享,例如第一集群中的第一存儲池存儲有第一文件,則第一集群中的第一控制器的第一文件ID與存儲池單元信息映射表則建立了第一文件與其存儲池單元信息的第一映射關系,那么,第二集群中的第二控制器可通過與其連接的集群管理器獲得第一控制器的第一文件ID與存儲池單元信息映射表中的信息,從而第二控制器可判斷其所在第二集群中的第二存儲池是否存儲有待存儲的文件,同時也可以判斷第一集群中的第一存儲池是否存儲有待存儲的文件;
204,當上述203判斷為存在與上述文件ID對應的存儲池單元信息時,則指示待存儲的文件已預先存儲到某集群的存儲池單元中,那此時控制器確定與文件ID對應的存儲池單元信息所指示的存儲池單元為備選存儲池單元,根據各備選存儲池單元的負載情況,從備選存儲池單元的集合中確定用于對文件執行讀取操作的目標存儲池單元,具體地,集群管理器可從與之相連的各集群的控制器上獲得對應集群中存儲池單元的負載因素信息(如訪問量信息等),這樣,集群的控制器既可從其所在集群的存儲池單元獲得負載因素信息,又可通過集群管理器獲得其他集群存儲池單元的負載因素信息,并可通過各存儲池單元的負載因素信息綜合得到各存儲池單元的負載情況,由此對各存儲池單元進行負載指示值的排序,從而根據各存儲池單元的負載指示值排序,確定負載相對較輕或者最輕的備選存儲池單元作為目標存儲池單元以處理文件讀取操作;
205,控制器以各目標存儲池單元信息響應客戶端的讀取操作請求,具體地,目標存儲池單元信息可以是目標存儲池的rimid組,控制器將各目標存儲池的rimid組依次發送到分發器及客戶端;
206,客戶端即可向分發器、目標存儲池單元發送文件讀取指令,完成后續的文件讀取。需要說明的是,本發明實施例的文件操作方法可應用于手機電視服務或云存儲服務等具體應用中,例如,當應用于手機電視服務中時,使用者的手機即作為上述客戶端,從而依次由集群中的控制器對其提供目標存儲單元,從而系統可通過該目標存儲單元為手機提供手機電視業務流媒體文件的存儲或讀取等文件操作。相應地,本發明實施例還提供了如圖4所示的本發明實施例的文件操作系統,下面對其進行具體說明,同時也對本發明實施例的控制器進行具體說明。參照圖3,本發明實施例的文件操作系統主要包括客戶端301、若干個集群302以及集群管理器303、集群分發器304,客戶端301與集群302無線或有線相連,集群302均分別連接到集群管理器303、集群分發器304上,而集群302包括若干存儲池單元3021、分發器3022及控制器3023,存儲池單元3021、分發器3022分別與控制器3023相連,其中
客戶端301用于發送對文件的操作請求,具體地,操作請求可以是對文件的存儲請求或讀取請求等;
集群302用于根據操作請求進行對應的處理,具體可如其所包含的網元所述 存儲池單元3021用于存儲文件并提供給客戶端301進行訪問操作,可通過在不同集群 302的存儲池單元3021中存儲相同的文件實現不同集群302之間的同步;
集群分發器304用于配合分發器3022完成各存儲池單元3021之間的文件同步及分布式存儲;
分發器3022用于將客戶端301發送的操作請求轉發到控制器3023,接收控制器3023 對操作請求的響應并轉發到客戶端301 ;
集群管理器303用于向控制器3023提供各備選的存儲池單元的負載情況,具體地,集群管理器303可從與之相連的各集群302的控制器3023上獲得對應集群302中存儲池單元3021的負載因素信息(如訪問量信息等),并將該負載因素信息反饋到控制器3023 ;
控制器3023用于根據分發器3022從客戶端301轉發的操作請求,從備選的存儲池單元3021的集合中選擇用于對文件執行對應操作的目標存儲池單元3021,并以目標存儲池單元3021信息響應操作請求,具體地,控制器3023既可從其所在集群302的存儲池單元 3021獲得負載因素信息,又可通過集群管理器303獲得其他集群302存儲池單元3021的負載因素信息,并可通過各存儲池單元3021的負載因素信息綜合得到各存儲池單元3021的負載情況,由此對各存儲池單元3021進行負載指示值的排序,從而根據各存儲池單元3021 的負載指示值排序,確定負載相對較輕或者最輕的備選存儲池單元3021作為目標存儲池單元3021以處理文件操作。其中,上述控制器3023可包括如圖4所示的結構 獲取單元401用于獲得客戶端301對文件的操作請求;
選擇單元402用于根據所述操作請求,從備選存儲池單元3021的集合中選擇用于對文件執行對應操作的目標存儲池單元3021 ;
響應單元403用于以目標存儲池單元信息響應所述操作請求。作為一種實施方式,當操作請求為攜帶有文件的文件ID的存儲請求時,上述控制器3023還可以表現為如圖5所示的結構
其中選擇單元402包括
存儲單元501用于存儲預設定的文件ID與存儲池單元信息映射表; 查詢單元502用于查詢文件ID與存儲池單元信息映射表,判斷是否存在與文件ID對應的存儲池單元信息;
第一確定單元503用于當查詢單元502判斷為否時,根據備選存儲池單元3021的負載情況,從備選的存儲池單元3021的集合中確定目標存儲池單元3021以進行文件存儲;
建立單元504用于在文件ID與存儲池單元信息映射表中建立文件ID與目標存儲池單元信息的映射關系,
同時,控制器3023還包括
暫存單元505用于建立用于標識文件的存儲狀態的文件狀態映射表;處理單元506用于當目標存儲池單元3021的文件的存儲失敗時,從文件ID與存儲池單元信息映射表中刪除文件ID與目標存儲池單元信息的映射關系,并刪除文件狀態映射表;當目標存儲池單元3021的所述文件的存儲成功時,刪除上述文件狀態映射表。作為一種實施方式,當操作請求為攜帶有文件的文件ID的讀取請求時,上述控制器3023還可以表現為如圖6所示的結構
其中選擇單元402包括
存儲單元501用于存儲預設定的文件ID與存儲池單元信息映射表; 查詢單元502用于查詢文件ID與存儲池單元信息映射表,判斷是否存在與文件ID對應的存儲池單元信息;
第二確定單元601用于當查詢單元502判斷為是時,確定與文件ID對應的存儲池單元信息所指示的存儲池單元3021為所述備選存儲池單元3021,并根據備選存儲池單元3021 的負載情況,從備選存儲池單元3021的集合中確定目標存儲池單元3021以進行文件讀取。需要說明的有如下幾點
1、采用上述圖3所示的分布式存儲池單元架構的文件操作系統,可管理海量的文件, 文件可通過分布式的方式存儲于各個存儲池單元3021中,而存儲池單元3021中的硬盤只需劃分一個分區進行文件存儲即可;
2、上述文件操作系統可根據實際業務類型,開發不同的應用服務接口,通過不同的適配器提供不同的服務,能夠適配不同的業務,支持個性化的需求;
3、上述文件操作系統為業務應用提供輸入輸出接口,簡化了新產品項目的設計及嵌入。另外,本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程, 是可以通過程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所述是本發明的具體實施方式
,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護范圍。
權利要求
1.一種文件操作方法,其特征在于,包括獲得對文件的操作請求;根據所述操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元;以所述目標存儲池單元信息響應所述操作請求。
2.如權利要求1所述的方法,其特征在于,當所述操作請求為攜帶有所述文件的文件標識的存儲請求時,根據所述操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元具體為查詢預設定的文件標識與存儲池單元信息映射表,判斷是否存在與所述文件標識對應的存儲池單元信息,當判斷為否時,根據所述備選存儲池單元的負載情況,從所述集合中確定所述目標存儲池單元;在所述文件標識與存儲池單元信息映射表中建立所述文件標識與所述目標存儲池單元信息的映射關系,所述方法還包括建立用于標識所述文件的存儲狀態的文件狀態映射表;當所述目標存儲池單元的所述文件的存儲失敗時,從所述文件標識與存儲池單元信息映射表中刪除所述文件標識與所述目標存儲池單元信息的映射關系,并刪除所述文件狀態映射表;當所述目標存儲池單元的所述文件的存儲成功時,刪除所述文件狀態映射表。
3.如權利要求1所述的方法,其特征在于,當所述操作請求為攜帶有所述文件的文件標識的讀取請求時,根據所述操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元具體為查詢預設定的文件標識與存儲池單元信息映射表,判斷是否存在與所述文件標識對應的存儲池單元信息,當判斷為是時,確定與所述文件標識對應的存儲池單元信息所指示的存儲池單元為所述備選存儲池單元;根據所述備選存儲池單元的負載情況,從所述集合中確定所述目標存儲池單元。
4.如權利要求2或3所述的方法,其特征在于,所述目標存儲池單元為所述備選存儲池單元中負載最輕的存儲池單元。
5.如權利要求1至4中任一項所述的方法,其特征在于,該方法應用于手機電視流媒體服務或云存儲服務中。
6.一種控制器,其特征在于,包括獲取單元,用于獲得客戶端對文件的操作請求;選擇單元,用于根據所述操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元;響應單元,用于以所述目標存儲池單元信息響應所述操作請求。
7.如權利要求6所述的控制器,其特征在于,當所述操作請求為攜帶有所述文件的文件標識的存儲請求時,所述選擇單元包括存儲單元,用于存儲預設定的文件標識與存儲池單元信息映射表; 查詢單元,用于查詢所述文件標識與存儲池單元信息映射表,判斷是否存在與所述文件標識對應的存儲池單元信息;第一確定單元,用于當所述查詢單元判斷為否時,根據所述備選存儲池單元的負載情況,從所述集合中確定所述目標存儲池單元;建立單元,用于在所述文件標識與存儲池單元信息映射表中建立所述文件標識與所述目標存儲池單元信息的映射關系; 所述控制器還包括暫存單元,用于建立用于標識所述文件的存儲狀態的文件狀態映射表; 處理單元,用于當所述目標存儲池單元的所述文件的存儲失敗時,從所述文件標識與存儲池單元信息映射表中刪除所述文件標識與所述目標存儲池單元信息的映射關系,并刪除所述文件狀態映射表;當所述目標存儲池單元的所述文件的存儲成功時,刪除所述文件狀態映射表。
8.如權利要求6所述的控制器,其特征在于,當所述操作請求為攜帶有所述文件的文件標識的讀取請求時,所述選擇單元包括存儲單元,用于存儲預設定的文件標識與存儲池單元信息映射表; 查詢單元,用于查詢所述文件標識與存儲池單元信息映射表,判斷是否存在與所述文件標識對應的存儲池單元信息;第二確定單元,用于當所述查詢單元判斷為是時,確定與所述文件標識對應的存儲池單元信息所指示的存儲池單元為所述備選存儲池單元,并根據所述備選存儲池單元的負載情況,從所述集合中確定所述目標存儲池單元。
9.一種文件操作系統,包括用于發送對文件的操作請求的客戶端以及用于根據所述操作請求進行處理的若干個集群,其中,所述集群包括若干存儲池單元及分發器,其特征在于,所述集群還包括控制器,用于根據所述分發器從所述客戶端轉發的操作請求,從備選的存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元,并以所述目標存儲池單元信息響應所述操作請求。
10.如權利要求9所述的系統,其特征在于,所述系統還包括集群管理器,用于向所述控制器提供各備選的存儲池單元的負載情況以從中選擇所述目標存儲池單元。
全文摘要
本發明實施例涉及一種文件操作方法,主要根據對文件的操作請求,從備選存儲池單元的集合中選擇用于對所述文件執行對應操作的目標存儲池單元,并以所述目標存儲池單元信息響應所述操作請求。另外,本發明實施例還提供了控制器及文件操作系統。采用本發明實施例,可以簡單的文件操作處理流程,提高了系統對文件操作請求的處理速度及響應速度,提升了用戶的滿意度,并拓寬了文件管理技術在大流量文件數據流處理領域的應用。
文檔編號H04L29/08GK102346773SQ201110286529
公開日2012年2月8日 申請日期2011年9月23日 優先權日2011年9月23日
發明者周中東 申請人:深圳市赫迪威信息技術有限公司