本發(fā)明涉及終端技術(shù)領(lǐng)域,特別是涉及一種文檔管理方法和裝置。
背景技術(shù):
通常在利用文檔存儲系統(tǒng)進行文檔存儲操作時,是將上傳的文檔直接存儲到單一存儲目錄中,比如存儲到某一固定的存儲磁盤的指定目錄下,并將該文檔的唯一標識對應(yīng)保存到該存儲目錄中。在對所存儲的文檔進行相關(guān)操作(比如讀取、刪除等操作)時,會打開該單一固定的存儲目錄,并從該存儲目錄中查找出與文檔標識對應(yīng)的文檔,以進行相關(guān)操作。
然而,隨著所存儲的文檔數(shù)量的不斷增加,使得單一存儲目錄的文檔條目信息增加,在打開該存儲目錄時,文檔信息的加載速度就會變得很慢,打開效率很低。
技術(shù)實現(xiàn)要素:
基于此,有必要針對上述問題,提供一種能夠存儲目錄打開效率的文檔管理方法和裝置。
一種文檔管理方法,所述方法包括以下步驟:
獲取待存儲文檔的文檔標識,其中,文檔標識是唯一標識文檔的多位隨機數(shù);
解析所述待存儲文檔的文檔標識,提取所述待存儲文檔的文檔標識中的前N位字符,所述N為大于等于1的整數(shù);
根據(jù)預(yù)先存儲的預(yù)設(shè)字符與預(yù)設(shè)分區(qū)之間的一一對應(yīng)關(guān)系,查找與所述提取的前N位字符對應(yīng)的分區(qū),所述預(yù)設(shè)字符是根據(jù)文檔標識的前至少一位位置所對應(yīng)的字符得到的,所述預(yù)設(shè)字符為至少一個,每個預(yù)設(shè)字符包含至少一個的字符;
將所述待存儲文檔存儲至查找到的所述分區(qū)對應(yīng)的存儲位置。
在其中一個實施例中,在所述獲取待存儲文檔的文檔標識的步驟之前,還包括:
獲取待存儲文檔;
檢測預(yù)設(shè)的多個分區(qū)的資源負載情況,獲取所述多個分區(qū)中資源負載最小的分區(qū)所對應(yīng)的預(yù)設(shè)字符;
將所述對應(yīng)的預(yù)設(shè)字符作為起始字符生成不重復(fù)的隨機數(shù);
將所述生成的不重復(fù)的隨機數(shù)作為唯一標識所述待存儲文檔的文檔標識。
在其中一個實施例中,所述文檔標識為全局唯一標識符。
在其中一個實施例中,所述將所述待存儲文檔存儲至查找到的所述分區(qū)對應(yīng)的存儲位置的步驟,包括:
獲取預(yù)設(shè)分區(qū)的分區(qū)標識和預(yù)設(shè)存儲位置之間的映射關(guān)系;
根據(jù)所述映射關(guān)系,確定所述查找到的分區(qū)的分區(qū)標識所對應(yīng)的存儲位置,將所述待存儲文檔存儲至所述確定的存儲位置中。
在其中一個實施例中,所述預(yù)設(shè)存儲位置包括文件夾層級、磁盤層級、主機層級和網(wǎng)絡(luò)位置層級中的至少一種。
在其中一個實施例中,所述方法還包括:
獲取待查找的文檔標識,解析所述待查找的文檔標識,提取所述待查找的文檔標識中前N位字符,所述N為大于等于1的整數(shù);
確定與所述提取的前N位字符對應(yīng)的分區(qū);
根據(jù)預(yù)設(shè)分區(qū)的分區(qū)標識與預(yù)設(shè)存儲位置之間的映射關(guān)系,查找與所述確定的分區(qū)的分區(qū)標識對應(yīng)的存儲位置;
從所述查找到的存儲位置中查找與所述待查找的文檔標識對應(yīng)的文檔。
一種文檔管理裝置,所述裝置包括:
獲取模塊,用于獲取待存儲文檔的文檔標識,其中,文檔標識是唯一標識文檔的多位隨機數(shù);
提取模塊,用于解析所述待存儲文檔的文檔標識,提取所述待存儲文檔的文檔標識中的前N位字符,所述N為大于等于1的整數(shù);
查找模塊,用于根據(jù)預(yù)先存儲的預(yù)設(shè)字符與預(yù)設(shè)分區(qū)之間的一一對應(yīng)關(guān)系,查找與所述提取的前N位字符對應(yīng)的分區(qū),所述預(yù)設(shè)字符是根據(jù)文檔標識的前至少一位位置所對應(yīng)的字符得到的,所述預(yù)設(shè)字符為至少一個,每個預(yù)設(shè)字符包含至少一個的字符;
存儲管理模塊,用于將所述待存儲文檔存儲至查找到的所述分區(qū)對應(yīng)的存儲位置。
在其中一個實施例中,所述獲取模塊還用于獲取待存儲文檔;
所述裝置還包括:
負載檢測模塊,用于檢測預(yù)設(shè)的多個分區(qū)的資源負載情況,獲取所述多個分區(qū)中資源負載最小的分區(qū)所對應(yīng)的預(yù)設(shè)字符;
文檔標識生成模塊,用于將所述對應(yīng)的預(yù)設(shè)字符作為起始字符生成不重復(fù)的隨機數(shù),將所述生成的不重復(fù)的隨機數(shù)作為唯一標識所述待存儲文檔的文檔標識。
在其中一個實施例中,所述文檔標識為全局唯一標識符。
在其中一個實施例中,其特征在于,所述提取模塊還用于獲取待查找的文檔標識,解析所述待查找的文檔標識,提取所述待查找的文檔標識中前N位字符,所述N為大于等于1的整數(shù);
所述存儲管理模塊還用于確定與所述提取的前N位字符對應(yīng)的分區(qū),根據(jù)預(yù)設(shè)分區(qū)的分區(qū)標識與預(yù)設(shè)存儲位置之間的映射關(guān)系,查找與所述確定的分區(qū)的分區(qū)標識對應(yīng)的存儲位置;
所述查找模塊還用于從所述查找到的存儲位置中查找與所述待查找的文檔標識對應(yīng)的文檔。
上述文檔管理方法和裝置,通過獲取待存儲文檔的文檔標識,其中,文檔標識是唯一標識文檔的多位隨機數(shù);解析所述待存儲文檔的文檔標識,提取所述待存儲文檔的文檔標識的前N位字符,所述N為大于等于1的整數(shù);根據(jù)預(yù)先存儲的預(yù)設(shè)字符與預(yù)設(shè)分區(qū)之間的一一對應(yīng)關(guān)系,查找與所述提取的前N位字符對應(yīng)的分區(qū),所述預(yù)設(shè)字符是根據(jù)文檔標識的前至少一位位置所對應(yīng)的字符得到的,所述預(yù)設(shè)字符為至少一個,每個預(yù)設(shè)字符包含至少一個的字符;將所述待存儲文檔存儲至查找到的所述分區(qū)對應(yīng)的存儲位置。即根據(jù)文檔標識的前預(yù)設(shè)位數(shù)的字符來查找對應(yīng)的分區(qū)存儲位置,可以實現(xiàn)將文檔進行分區(qū)存儲,則相較于將文檔存放至同一存儲目錄而言,每個分區(qū)中文檔數(shù)量較少,提高了存儲位置的打開效率。
附圖說明
圖1為一個實施例中文檔管理方法的流程示意圖;
圖2為一個實施例中文檔標識生成方法的流程示意圖;
圖3為一個實施例中文檔查找方法的流程示意圖;
圖4為一個實施例中文檔管理裝置的結(jié)構(gòu)示意圖;
圖5為另一個實施例中文檔管理裝置的結(jié)構(gòu)示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,提供了一種文檔管理方法,現(xiàn)以該方法應(yīng)用于服務(wù)器中為例進行舉例說明,該方法包括以下步驟:
步驟102,獲取待存儲文檔的文檔標識,其中,文檔標識是唯一標識文檔的多位隨機數(shù)。
本實施例中,服務(wù)器在對待存儲文檔進行存儲時,會獲取該待存儲文檔的文檔標識。其中,文檔標識是唯一標識文檔的多位隨機數(shù)。也就是說,文檔標識是隨機生成的不重復(fù)的序列號,可以唯一標識文檔。
在一個實施例中,文檔標識為全局唯一標識符(GUID,Globally Unique Identifier)。其中,全局唯一標識符(以下簡稱GUID碼),是一種由算法生成的二進制長度為128位的數(shù)字標識符,在理想情況下,任何計算機和計算機集群都不會生成兩個相同的GUID。可以理解,文檔標識也可以是根據(jù)其他預(yù)設(shè)的隨機數(shù)生成規(guī)則生成的不重復(fù)的其他類型的多位隨機數(shù)。本發(fā)明實施例對文檔標識的具體類型不做限定,只要滿足其是能夠隨機生成的不重復(fù)的序列號即可。
步驟104,解析待存儲文檔的文檔標識,提取待存儲文檔的文檔標識中的前N位字符,其中,N為大于等于1的整數(shù)。
進一步,服務(wù)器會解析所獲取的待存儲文檔的文檔標識,提取該文檔標識中前N位字符,其中N為大于等于1的整數(shù)。具體地,可以根據(jù)服務(wù)器中預(yù)設(shè)的提取位數(shù)來提取該文檔標識中前N位字符,即可以根據(jù)服務(wù)器中預(yù)設(shè)的提取位數(shù)來確定要提取前多少位字符。
比如,文檔標識為c1f70312-9389-45c9-88db-67dd662e92af,預(yù)設(shè)提取位數(shù)為1,則提取該文檔標識中首位字符“c”。如果預(yù)設(shè)提取位數(shù)為2,則提取該文檔標識中前2位字符“c1”??梢岳斫?,可以根據(jù)實際需要預(yù)設(shè)不同的提取位數(shù)。
步驟106,根據(jù)預(yù)先存儲的預(yù)設(shè)字符與預(yù)設(shè)分區(qū)之間的一一對應(yīng)關(guān)系,查找與提取的前N位字符對應(yīng)的分區(qū),預(yù)設(shè)字符是根據(jù)文檔標識的前至少一位位置所對應(yīng)的字符得到的,預(yù)設(shè)字符為至少一個,每個預(yù)設(shè)字符包含至少一個的字符。
本實施例中,服務(wù)器中存儲了多個預(yù)設(shè)字符,文檔標識是多位隨機數(shù),該多個預(yù)設(shè)字符是根據(jù)文檔標識的前至少一位位置所對應(yīng)的字符得到的??梢岳斫?,這里所說的前至少一位位置,是依照從左往右的順序來進行描述的,越左位置越前,第一位即為最左邊的那個位置。其中,每個預(yù)設(shè)字符包含至少一個的字符。
具體地,該多個預(yù)設(shè)字符可以是文檔標識的首位位置(即第一位位置)所對應(yīng)的字符??梢岳斫?,因為文檔標識是多位隨機數(shù),其各個位置所可能出現(xiàn)的字符也是隨機的,則于該位置可能出現(xiàn)的字符即為該位置所對應(yīng)的字符。比如,文檔標識是GUID碼時,基于GUID碼的隨機性,其首位位置可能出現(xiàn)的字符則為0-9以及A-F中的任意一個,那么該首位位置所對應(yīng)的字符即為0-9以及A-F這16個字符。
此外,預(yù)設(shè)字符也可以是根據(jù)文檔標識的前多位位置中不同位置所對應(yīng)的字符之間的隨機組合得到的多個字符組合。比如,文檔標識是GUID碼時,基于GUID碼的隨機性,其前兩位位置中第一位和第二位分別對應(yīng)的字符都是0-9以及A-F這16個字符,那么,將第一位對應(yīng)的16個字符與第二位對應(yīng)的16個字符進行隨機組合,即可得到256個組合后的字符組合。
進一步,預(yù)設(shè)字符的設(shè)置決定步驟104所述的預(yù)設(shè)提取位數(shù)的設(shè)置。預(yù)設(shè)字符是根據(jù)前多少位的位置所對應(yīng)的字符得到的,則預(yù)設(shè)提取位數(shù)就預(yù)設(shè)相同位數(shù)。比如,預(yù)設(shè)字符是根據(jù)前一位位置所對應(yīng)的字符得到的,則預(yù)設(shè)提取位數(shù)為1位,預(yù)設(shè)字符是根據(jù)前兩位位置所對應(yīng)的字符得到的,則預(yù)設(shè)提取位數(shù)為2位。
進一步,服務(wù)器中針對各個預(yù)設(shè)字符對應(yīng)設(shè)置了分區(qū),各個預(yù)設(shè)字符與各個分區(qū)一一對應(yīng)。服務(wù)器記錄了預(yù)設(shè)字符與預(yù)設(shè)分區(qū)之間的一一對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系,查找與提取的前N位字符對應(yīng)的分區(qū)。
在一個實施例中,預(yù)設(shè)分區(qū)的分區(qū)標識即為其所對應(yīng)的預(yù)設(shè)字符,則將提取的前N位字符作為分區(qū)標識,查找其所對應(yīng)的分區(qū)。在另一個實施例中,服務(wù)器中存儲了預(yù)設(shè)字符與分區(qū)標識之間的對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系,查找與所提取的前N位字符對應(yīng)的分區(qū)標識,該分區(qū)標識所對應(yīng)的分區(qū)即為所確定的與提取的前N位字符對應(yīng)的分區(qū)。
步驟108,將待存儲文檔存儲至查找到的分區(qū)對應(yīng)的存儲位置。
本實施例中,服務(wù)器中預(yù)先針對每個分區(qū)設(shè)置了對應(yīng)的存儲位置。在查找到與提取的字符對應(yīng)的分區(qū)后,會將待存儲文檔存儲至查找到的分區(qū)所對應(yīng)的存儲位置。
進一步,所查找到的對應(yīng)的存儲位置為文件夾層級、磁盤層級、主機層級和網(wǎng)絡(luò)位置層級中的任意一種。
本實施例中,根據(jù)文檔標識的前至少一位位置所對應(yīng)的字符進行預(yù)設(shè)字符的設(shè)置,并針對預(yù)設(shè)字符設(shè)置對應(yīng)的預(yù)設(shè)分區(qū),在對待存儲文檔進行存儲時,提取待存儲文檔的文檔標識中前N位字符,N為大于等于1的整數(shù),其中,文檔標識是唯一標識文檔的多位隨機數(shù)。根據(jù)預(yù)先存儲的預(yù)設(shè)字符與預(yù)設(shè)分區(qū)之間的一一對應(yīng)關(guān)系,查找與提取的前N位字符所對應(yīng)的分區(qū),將該待存儲文檔存儲至所查找到的分區(qū)對應(yīng)的存儲位置。即根據(jù)文檔標識的前預(yù)設(shè)位數(shù)的字符來查找對應(yīng)的分區(qū)存儲位置,可以實現(xiàn)將文檔進行分區(qū)存儲,則相較于將文檔存放至同一存儲目錄而言,每個分區(qū)中文檔數(shù)量較少,提高了打開效率。
此外,由于文檔標識是多位隨機數(shù),那么,文檔標識的各個位置中所出現(xiàn)的字符是隨機的,根據(jù)文檔標識的前至少一位位置對應(yīng)的字符確定預(yù)設(shè)字符,根據(jù)確定的預(yù)設(shè)字符設(shè)置對應(yīng)分區(qū),進一步在存儲文檔時根據(jù)提取的待存儲文檔的前N位字符確定對應(yīng)存儲的分區(qū)。這樣一來,使得每個分區(qū)中所存儲的文檔數(shù)量大概保持均衡。從而有利于資源的合理利用,以及提高了系統(tǒng)的穩(wěn)定性。
在一個實施例中,在獲取待存儲文檔的文檔標識的步驟之前,還包括:確定文檔標識的前預(yù)設(shè)位數(shù)的各個位置所對應(yīng)的至少一個字符,當預(yù)設(shè)位數(shù)為一位時,則將文檔標識首位位置所對應(yīng)的至少一個字符作為預(yù)設(shè)字符,當預(yù)設(shè)位數(shù)為多位時,則將不同位置所對應(yīng)的至少一個字符相互之間進行隨機組合,得到預(yù)設(shè)字符;針對各個預(yù)設(shè)字符劃分對應(yīng)的分區(qū),記錄預(yù)設(shè)字符與劃分的分區(qū)之間的一一對應(yīng)關(guān)系。
本實施例中,文檔標識為多位隨機數(shù)的一種數(shù)據(jù)類型?;谖臋n標識的隨機性,文檔標識的每一位位置所可能出現(xiàn)的字符也是隨機的,其中該位置可能出現(xiàn)的字符即為該位置所對應(yīng)的字符。
進一步,服務(wù)器在確定預(yù)設(shè)字符時,可以先確定文檔標識的前預(yù)設(shè)位數(shù)的各個位置所對應(yīng)的字符,其中,每個位置所對應(yīng)的字符為至少一個。
其中,當預(yù)設(shè)位數(shù)為一位時,則將文檔標識首位位置所對應(yīng)的至少一個字符作為預(yù)設(shè)字符,當預(yù)設(shè)位數(shù)為多位時,則將不同位置所對應(yīng)的至少一個字符相互之間進行隨機組合,得到預(yù)設(shè)字符。比如,文檔標識為GUID碼時,當預(yù)設(shè)位數(shù)為一位時,GUID碼的首位位置所對應(yīng)的字符為0~9以及A~F這16個字符,則將這16個字符作為預(yù)設(shè)字符。當預(yù)設(shè)位數(shù)為兩位時,GUID碼的第一位和第二位這兩個位置分別對應(yīng)的0~9以及A~F這16個字符,則將這兩個位置各自對應(yīng)的16個字符之間進行隨機組合,得到256個字符組合,所得的256個字符組合即為預(yù)設(shè)字符。
進一步,針對所得到的預(yù)設(shè)字符劃分對應(yīng)的分區(qū),并記錄預(yù)設(shè)字符與所劃分的預(yù)設(shè)分區(qū)之間的一一對應(yīng)關(guān)系。
本實施例中,根據(jù)文檔標識的前至少一位位置對應(yīng)的字符確定預(yù)設(shè)字符,根據(jù)確定的預(yù)設(shè)字符設(shè)置對應(yīng)分區(qū)。結(jié)合根據(jù)提取的待存儲文檔的前N位字符(N為大于等于1的整數(shù))確定對應(yīng)存儲的分區(qū),使得每個分區(qū)中所存儲的文檔數(shù)量大概保持均衡。從而有利于資源的合理利用,以及提高了系統(tǒng)的穩(wěn)定性。
如圖2所示,在一個實施例中,在獲取待存儲文檔的文檔標識的步驟之前,還包括文檔標識生成步驟,具體包括以下步驟:
步驟202,獲取待存儲文檔。
步驟204,檢測預(yù)設(shè)的多個分區(qū)的資源負載情況,獲取多個分區(qū)中資源負載最小的分區(qū)所對應(yīng)的預(yù)設(shè)字符。
本實施例中,服務(wù)器預(yù)先設(shè)置了多個預(yù)設(shè)字符,并預(yù)設(shè)了與各個預(yù)設(shè)字符一一對應(yīng)的分區(qū)。其中,預(yù)設(shè)字符是根據(jù)文檔標識的前至少一位位置所對應(yīng)的字符得到的。進一步,由于文檔標識是隨機數(shù),文檔標識中每個位置所對應(yīng)的字符即為該位置所可能出現(xiàn)的字符。每個預(yù)設(shè)字符包含至少一個的字符。
服務(wù)器在獲取上傳的待存儲文檔之后,會檢測預(yù)先設(shè)置的多個分區(qū)的資源負載情況,即檢測預(yù)設(shè)的多個分區(qū)中所存儲的資源的負載情況。
進一步,從多個分區(qū)中確定資源負載最小的分區(qū),并根據(jù)預(yù)先存儲的預(yù)設(shè)字符與預(yù)設(shè)分區(qū)之間的對應(yīng)關(guān)系,獲取資源負載最小的分區(qū)所對應(yīng)的預(yù)設(shè)字符。
具體地,在一個實施例中,預(yù)設(shè)字符可以是預(yù)設(shè)分區(qū)的分區(qū)標識。那么則可以在確定資源負載最小的分區(qū)后,根據(jù)分區(qū)與分區(qū)標識之間的對應(yīng)關(guān)系,直接獲取該資源負載最小的分區(qū)的分區(qū)標識得到預(yù)設(shè)字符。在另一個實施例中,服務(wù)器中預(yù)先存儲了預(yù)設(shè)字符與預(yù)設(shè)分區(qū)的分區(qū)標識之間的一一對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系,查找資源負載最小的分區(qū)的分區(qū)標識所對應(yīng)的預(yù)設(shè)字符。
步驟206,將該對應(yīng)的預(yù)設(shè)字符作為起始字符生成不重復(fù)的隨機數(shù)。
步驟208,將生成的不重復(fù)的隨機數(shù)作為唯一標識待存儲文檔的文檔標識。
本實施例中,在獲取與資源負載最小的分區(qū)對應(yīng)的預(yù)設(shè)字符后,服務(wù)器會將該對應(yīng)的預(yù)設(shè)字符作為起始字符結(jié)合預(yù)設(shè)的隨機數(shù)生成規(guī)則生成不重復(fù)的隨機數(shù)。比如,獲取對應(yīng)的預(yù)設(shè)字符為c1,那么結(jié)合預(yù)設(shè)的隨機數(shù)生成規(guī)則生成以c1為起始字符的隨機數(shù)。
進一步,將生成的不重復(fù)的隨機數(shù)作為唯一標識該待存儲文檔的文檔標識。
在一個實施例中,將該對應(yīng)的預(yù)設(shè)字符作為起始字符生成GUID碼,將所生成的GUID碼作為唯一標識待存儲文檔的文檔標識。
本發(fā)明實施例對文檔標識的具體類型不做限定,只要滿足其是能夠隨機生成的不重復(fù)的序列號即可。
本實施例中,在獲取待存儲文檔時,檢測預(yù)設(shè)分區(qū)的資源負載情況,將資源負載最小的分區(qū)所對應(yīng)的預(yù)設(shè)字符作為起始字符生成不重復(fù)的隨機數(shù),將生成的不重復(fù)的隨機數(shù)作為唯一標識該待存儲文檔的文檔標識。這樣一來,在根據(jù)提取的待存儲文檔的文檔標識的前N位字符(N為大于等于1的整數(shù))查找對應(yīng)的分區(qū)時,即可將該待存儲文檔存儲至該資源負載最小的分區(qū)所對應(yīng)的存儲位置,從而提高了資源的利用率,進而也提高了系統(tǒng)的穩(wěn)定性。
在一個實施例中,將待存儲文檔存儲至查找到的分區(qū)對應(yīng)的存儲位置的步驟,包括:獲取預(yù)設(shè)分區(qū)的分區(qū)標識和預(yù)設(shè)存儲位置之間的映射關(guān)系,根據(jù)該映射關(guān)系,確定查找到的分區(qū)的分區(qū)標識所對應(yīng)的存儲位置,將待存儲文檔存儲至確定的存儲位置中的步驟。
本實施例中,服務(wù)器中預(yù)設(shè)了存儲位置,并預(yù)先存儲了預(yù)設(shè)分區(qū)的分區(qū)標識與預(yù)設(shè)存儲位置之間的映射關(guān)系。在查找到與從待存儲文檔標識中提取的前N位字符(N為大于等于1的整數(shù))對應(yīng)的分區(qū)后,會根據(jù)該映射關(guān)系,確定查找到的分區(qū)的分區(qū)標識所對應(yīng)的存儲位置。進一步,將該待存儲文檔存儲至確定的存儲位置中。
在一個實施例中,預(yù)設(shè)存儲位置包括文件夾層級、磁盤層級、主機層級和網(wǎng)絡(luò)位置層級中的至少一種。
本實施例中,可以將多個預(yù)設(shè)存儲位置設(shè)置成多種不同存儲層級。進一步,預(yù)設(shè)存儲位置包括文件夾層級、磁盤層級、主機層級和網(wǎng)絡(luò)位置層級中的至少一種。將預(yù)設(shè)的存儲位置設(shè)置成不同存儲層級,而不局限于特定的存儲層級,可以實現(xiàn)對不同存儲資源的充分利用,進一步提高了存儲資源的利用率。
如圖3所示,在一個實施例中,該方法還包括文檔查找的步驟,具體包括以下步驟:
步驟302,獲取待查找的文檔標識,解析待查找的文檔標識,提取待查找的文檔標識中前N位字符,其中,N為大于等于1的整數(shù)。
本實施例中,服務(wù)器在查找文檔時,獲取待查找文檔的文檔標識。并對待查找的文檔標識進行解析,提取待查找文檔標識中前N位字符,其中,N為大于等于1的整數(shù)。具體地,可以根據(jù)預(yù)設(shè)的提取位數(shù)從待查找文檔標識中對應(yīng)提取前N位字符。
步驟304,確定與提取的前N位字符對應(yīng)的分區(qū)。
本實施例中,服務(wù)器中預(yù)先設(shè)置了預(yù)設(shè)字符,并設(shè)置了與各個預(yù)設(shè)字符對應(yīng)的分區(qū)。根據(jù)上述對應(yīng)關(guān)系,確定與所提取的前N位字符對應(yīng)的分區(qū)。
具體地,在一個實施例中,預(yù)設(shè)字符即為其所對應(yīng)的分區(qū)的分區(qū)標識。則將提取的前N位字符作為分區(qū)標識查找其所對應(yīng)的分區(qū)。在另一個實施例中,服務(wù)器中存儲了預(yù)設(shè)字符與分區(qū)標識之間的對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系,查找與所提取的前N位字符對應(yīng)的分區(qū)標識,該分區(qū)標識所對應(yīng)的分區(qū)即為所確定的與提取的前N位字符對應(yīng)的分區(qū)。
步驟306,根據(jù)預(yù)設(shè)分區(qū)的分區(qū)標識與預(yù)設(shè)存儲位置之間的映射關(guān)系,查找與該確定的分區(qū)的分區(qū)標識對應(yīng)的存儲位置。
步驟308,從查找到的存儲位置中查找與待查找的文檔標識對應(yīng)的文檔。
本實施例中,服務(wù)器中預(yù)先存儲了預(yù)設(shè)分區(qū)的分區(qū)標識與預(yù)設(shè)存儲位置之間的映射關(guān)系,根據(jù)該映射關(guān)系,查找與確定的與提取的前N位字符對應(yīng)的分區(qū)的分區(qū)標識所對應(yīng)的存儲位置。
進一步,從查找到的存儲位置中查找與待查找的文檔標識對應(yīng)的文檔。
本實施例中,獲取待查找的文檔標識,解析待查找的文檔標識,提取待查找的文檔標識中前N位字符,N為大于等于1的整數(shù);確定與提取的前N位字符對應(yīng)的分區(qū);根據(jù)預(yù)設(shè)分區(qū)的分區(qū)標識與預(yù)設(shè)存儲位置之間的映射關(guān)系,查找與確定的分區(qū)的分區(qū)標識對應(yīng)的存儲位置;從查找到的存儲位置中查找與待查找的文檔標識對應(yīng)的文檔。即根據(jù)文檔標識中的前N位字符查找到對應(yīng)的分區(qū),并從對應(yīng)分區(qū)所對應(yīng)的存儲位置中查找待查找的文檔,提高了文檔的查找效率。此外,各個分區(qū)中的文檔數(shù)量均衡分布,進一步使得文檔的查找速度更快。
如圖4所示,在一個實施例中,提供了一種文檔管理裝置,該裝置包括獲取模塊402、提取模塊406、查找模塊408以及存儲管理模塊410,其中:
獲取模塊402,用于獲取待存儲文檔的文檔標識,其中,文檔標識是唯一標識文檔的多位隨機數(shù)。
提取模塊406,用于解析待存儲文檔的文檔標識,提取待存儲文檔的文檔標識中的前N位字符,N為大于等于1的整數(shù)。
查找模塊408,用于根據(jù)預(yù)先存儲的預(yù)設(shè)字符與預(yù)設(shè)分區(qū)之間的一一對應(yīng)關(guān)系,查找與提取的前N位字符對應(yīng)的分區(qū),預(yù)設(shè)字符是根據(jù)文檔標識的前至少一位位置所對應(yīng)的字符得到的,預(yù)設(shè)字符為至少一個,每個預(yù)設(shè)字符包含至少一個的字符。
存儲管理模塊410,用于將待存儲文檔存儲至查找到的分區(qū)對應(yīng)的存儲位置。
在一個實施例中,獲取模塊402還用于獲取待存儲文檔。如圖5所示,本實施例中,該裝置還包括:
負載檢測模塊404,用于檢測預(yù)設(shè)的多個分區(qū)的資源負載情況,獲取多個分區(qū)中資源負載最小的分區(qū)所對應(yīng)的預(yù)設(shè)字符;
文檔標識生成模塊405,用于將對應(yīng)的預(yù)設(shè)字符作為起始字符生成不重復(fù)的隨機數(shù),將生成的不重復(fù)的隨機數(shù)作為唯一標識待存儲文檔的文檔標識。
在一個實施例中,文檔標識為全局唯一標識符。
在一個實施例中,存儲管理模塊410還用于獲取預(yù)設(shè)分區(qū)的分區(qū)標識和預(yù)設(shè)存儲位置之間的映射關(guān)系;根據(jù)映射關(guān)系,確定查找到的分區(qū)的分區(qū)標識所對應(yīng)的存儲位置,將待存儲文檔存儲至確定的存儲位置中。
在一個實施例中,預(yù)設(shè)存儲位置包括文件夾層級、磁盤層級、主機層級和網(wǎng)絡(luò)位置層級中的至少一種。
在一個實施例中,提取模塊406還用于獲取待查找的文檔標識,解析待查找的文檔標識,提取待查找的文檔標識中前N位字符,N為大于等于1的整數(shù)。
存儲管理模塊410還用于確定與提取的前N位字符對應(yīng)的分區(qū),根據(jù)預(yù)設(shè)分區(qū)的分區(qū)標識與預(yù)設(shè)存儲位置之間的映射關(guān)系,查找與確定的分區(qū)的分區(qū)標識對應(yīng)的存儲位置。
查找模塊408還用于從查找到的存儲位置中查找與待查找的文檔標識對應(yīng)的文檔。
以上所述實施例的各技術(shù)特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。