本發(fā)明實施例涉及存儲領(lǐng)域,尤其涉及一種數(shù)據(jù)存儲的方法及設(shè)備。
背景技術(shù):
:用戶數(shù)據(jù)傳送至存儲設(shè)備的過程中,影響用戶數(shù)據(jù)傳輸?shù)囊蛩厥强陀^存在和無法避免的,導(dǎo)致用戶數(shù)據(jù)的接收延遲。因此,對于同一時間發(fā)送的多個相同類型的用戶數(shù)據(jù),所述存儲設(shè)備的接收時間是不連續(xù)的。相鄰兩次接收到的,兩個所述相同類型的用戶數(shù)據(jù)的接收時間,具有時間間隔。在所述時間間隔內(nèi),如果所述存儲設(shè)備接收到其它類型的用戶數(shù)據(jù),所述存儲設(shè)備依據(jù)接收時間,順序存儲其它類型的用戶數(shù)據(jù),所述相同類型的用戶數(shù)據(jù)在所述存儲設(shè)備中的存儲位置,則被所述其他類型的用戶數(shù)據(jù)分散間隔,形成不連續(xù)的存儲地址。當(dāng)查找相同類型的用戶數(shù)據(jù)時,為避免遺漏部分相同類型的用戶數(shù)據(jù),存儲設(shè)備遍歷其存儲的所有用戶數(shù)據(jù),由于遍歷規(guī)則是多種多樣的,對于相同類型的用戶數(shù)據(jù)的隨機存儲,無法確定一種遍歷規(guī)則能夠快速查找到相同類型的用戶數(shù)據(jù)。另外,如果相同類型的用戶數(shù)據(jù)存儲在不同的存儲介質(zhì)上,每個存儲介質(zhì)對應(yīng)不同的訪問通道,存儲設(shè)備需要多次轉(zhuǎn)換訪問通道,才能查找到存儲于不同存儲介質(zhì)上的相同類型的用戶數(shù)據(jù),導(dǎo)致訪問時間增加。技術(shù)實現(xiàn)要素:本發(fā)明公開了一種數(shù)據(jù)存儲的方法及設(shè)備,避免為查找相同類型的用戶數(shù)據(jù),遍歷存儲設(shè)備中存儲的所有數(shù)據(jù),實現(xiàn)快速查找相同類型的用戶數(shù)據(jù),提升數(shù)據(jù)操作的效率。第一方面提供一種數(shù)據(jù)存儲方法,所述方法應(yīng)用于存儲設(shè)備中,所述方法包括:所述存儲設(shè)備接收寫請求消息,所述寫請求消息包括數(shù)據(jù)和所述數(shù)據(jù)的關(guān)鍵字,所述關(guān)鍵字用于識別所述數(shù)據(jù)的數(shù)據(jù)類型;所述存儲設(shè)備根據(jù)所述關(guān)鍵字確定所述數(shù)據(jù)的數(shù)據(jù)類型;然后根據(jù)所述數(shù)據(jù)類型查找與所述數(shù)據(jù)類型匹配的目標物理存儲塊,所述目標物理存儲塊為物理地址連續(xù)的物理存儲塊;然后,所述存儲設(shè)備將所述數(shù)據(jù)保存至所述目標物理存儲塊。存儲設(shè)備根據(jù)關(guān)鍵字確定出數(shù)據(jù)的數(shù)據(jù)類型,將相同數(shù)據(jù)類型的數(shù)據(jù)存儲于地址連續(xù)的目標物理存儲塊中,避免隨機存儲相同類型的數(shù)據(jù),如果需要查找或訪問相同類型的數(shù)據(jù),避免遍歷存儲的所有數(shù)據(jù),降低了數(shù)據(jù)查找和訪問時間,提高了數(shù)據(jù)的查找和訪問效率。另外,將相同數(shù)據(jù)類型的數(shù)據(jù)存儲于地址連續(xù)的目標物理存儲塊中,避免相同類型的數(shù)據(jù)存儲在不同的存儲介質(zhì)上,避免訪問相同類型的數(shù)據(jù)時,多次訪問存儲于不同存儲介質(zhì)上的數(shù)據(jù),降低了訪問時間,提高了數(shù)據(jù)的訪問效率?;诘谝环矫妫诘谝环N實現(xiàn)方式中,所述存儲設(shè)備中預(yù)先保存有所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系;所述根據(jù)所述數(shù)據(jù)類型查找與所述數(shù)據(jù)類型匹配的目標物理存儲塊包括:根據(jù)所述數(shù)據(jù)類型以及所述對應(yīng)關(guān)系查找所述目標物理存儲塊。通過預(yù)先保存的所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系,可以快速的查找到目標物理存儲塊,提高了數(shù)據(jù)的存儲效率?;诘谝环矫?,在第二種實現(xiàn)方式中,所述目標物理存儲塊存儲有其他數(shù)據(jù),所述其他數(shù)據(jù)的數(shù)據(jù)類型與所述數(shù)據(jù)的數(shù)據(jù)類型相同。通過查找所述目標物理存儲塊存儲有其他數(shù)據(jù)的數(shù)據(jù)類型,查找出與所述數(shù)據(jù)的所述目標物理存儲塊,基于第一方面,在第三種實現(xiàn)方式中,當(dāng)確定所述目標物理存儲塊處于待寫狀態(tài)時,所述處理器,還用于將所述數(shù)據(jù)保存至所述目標物理存儲塊。所述目標物理存儲塊處于待寫狀態(tài)時,表明所述目標物理存儲塊當(dāng)前處于可用狀態(tài),可以用于存儲所述數(shù)據(jù),否則處于不可用狀態(tài),則需尋找其他的處于待寫狀態(tài)的目標物理存儲塊,用于存儲所述數(shù)據(jù),提高數(shù)據(jù)高效存儲的可靠性。結(jié)合第一方面,或第一方面的第一種至第三種實現(xiàn)方式中的任一種實現(xiàn)方式,在第四種實現(xiàn)方式中,所述存儲設(shè)備將所述數(shù)據(jù)保存至所述目標物理存儲塊之前,所述方法還包括:所述存儲設(shè)備查詢所述目標物理存儲塊的剩余存儲容量;所述存儲設(shè)備將所述數(shù)據(jù)保存至所述目標物理存儲塊包括:當(dāng)所述目標物理存儲塊的剩余存儲容量大于或等于所述數(shù)據(jù)的數(shù)據(jù)量時,所述存儲設(shè)備將所述數(shù)據(jù)保存至所述目標物理存儲塊。在確定目標物理存儲塊的剩余存儲容量能夠存儲所述數(shù)據(jù)后,再保存所述數(shù)據(jù)至目標物理存儲塊中,避免由于剩余存儲容量不足導(dǎo)致無法存儲所述數(shù)據(jù)的現(xiàn)象發(fā)生,則再尋找其他的剩余存儲容量能夠存儲所述數(shù)據(jù)的目標物理存儲塊,提高數(shù)據(jù)高效存儲的可靠性。結(jié)合第一方面,或第一方面的第一種實現(xiàn)方式,在第五種實現(xiàn)方式中,所述方法還包括:當(dāng)預(yù)設(shè)條件到達時,將所述目標物理存儲塊中存儲的所述數(shù)據(jù)遷移至其他物理存儲塊,所述其他物理存儲塊的剩余存儲容量大于或等于所述數(shù)據(jù)的數(shù)據(jù)量,并且所述其他物理存儲塊存儲的數(shù)據(jù)的數(shù)據(jù)類型與所述數(shù)據(jù)的數(shù)據(jù)類型相同。為避免碎片式的存儲相同數(shù)據(jù)類型的數(shù)據(jù),導(dǎo)致數(shù)據(jù)管理的繁瑣,將相同類型的數(shù)據(jù)遷移存儲在同一物理存儲塊中。另外,避免由于剩余存儲容量不足導(dǎo)致無法存儲待遷移的數(shù)據(jù)的現(xiàn)象發(fā)生,則在確定其他物理存儲塊的剩余存儲容量能夠存儲所述數(shù)據(jù)后,再保存所述數(shù)據(jù)至其他物理存儲塊中,避免碎片式存儲相同數(shù)據(jù)類型的數(shù)據(jù)時,提高數(shù)據(jù)高效存儲的可靠性。第二方面提供一種存儲設(shè)備,包括用于執(zhí)行第一方面或第一方面的任一種可能實現(xiàn)方式中的數(shù)據(jù)存儲方法的各個模塊,所述模塊可以通過硬件實現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實現(xiàn)。第三方面提供一種存儲設(shè)備,包括處理器和接口,所述接口用于接收寫請求消息,所述寫請求消息包括數(shù)據(jù)和所述數(shù)據(jù)的關(guān)鍵字,所述關(guān)鍵字用于識別所述數(shù)據(jù)的數(shù)據(jù)類型;所述處理器用于執(zhí)行第一方面或第一方面的任意可能的實現(xiàn)方式中的方法。存儲設(shè)備根據(jù)關(guān)鍵字確定出數(shù)據(jù)的數(shù)據(jù)類型,將相同數(shù)據(jù)類型的數(shù)據(jù)存儲于地址連續(xù)的目標物理存儲塊中,避免隨機存儲相同類型的數(shù)據(jù),如果需要查找或訪問相同類型的數(shù)據(jù),避免遍歷存儲的所有數(shù)據(jù),降低了數(shù)據(jù)查找和訪問時間,提高了數(shù)據(jù)的查找和訪問效率。另外,將相同數(shù)據(jù)類型的數(shù)據(jù)存儲于地址連續(xù)的目標物理存儲塊中,避免相同類型的數(shù)據(jù)存儲在不同的存儲介質(zhì)上,避免訪問相同類型的數(shù)據(jù)時,多次訪問存儲于不同存儲介質(zhì)上的數(shù)據(jù),降低了訪問時間,提高了數(shù)據(jù)的訪問效率。附圖說明為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹。圖1為本發(fā)明實施例提供的一種分布式存儲系統(tǒng)的架構(gòu)示意圖;圖2為本發(fā)明實施例提供的一種應(yīng)用服務(wù)器110的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例提供的一種存儲設(shè)備120的結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例提供的一種數(shù)據(jù)存儲方法的流程圖;圖5為本發(fā)明實施例提供的一種數(shù)據(jù)存儲設(shè)備510的結(jié)構(gòu)圖;圖6為本發(fā)明實施例提供的另一種數(shù)據(jù)存儲設(shè)備610的結(jié)構(gòu)圖。具體實施方式下面將結(jié)合附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述。請參見圖1,圖1為本發(fā)明實施例提供的一種分布式存儲系統(tǒng)的架構(gòu)示意圖。如圖1所示,分布式存儲系統(tǒng)包括應(yīng)用服務(wù)器110和若干個存儲設(shè)備120,應(yīng)用服務(wù)器110與各存儲設(shè)備120進行通信,并且任意兩個存儲設(shè)備120之間也可以通信。應(yīng)用服務(wù)器110可以是任何計算設(shè)備,如服務(wù)器、臺式計算機等等。應(yīng)用服務(wù)器110可以與終端設(shè)備(圖1中未示出)連接,用戶通過所述終端設(shè)備向應(yīng)用服務(wù)器110發(fā)送用戶數(shù)據(jù),同時發(fā)送關(guān)鍵字至應(yīng)用服務(wù)器110,所述關(guān)鍵字用于識別用戶數(shù)據(jù)的數(shù)據(jù)類型。應(yīng)用服務(wù)器110將所述用戶數(shù)據(jù)劃分為若干個數(shù)據(jù)塊,為每個數(shù)據(jù)塊分配數(shù)據(jù)塊標識,將每個數(shù)據(jù)塊和數(shù)據(jù)塊標識封裝成一個寫請求消息,數(shù)據(jù)塊標識用于識別數(shù)據(jù)塊,數(shù)據(jù)塊標識中包括所述關(guān)鍵字。然后,應(yīng)用服務(wù)器110將所述寫請求消息發(fā)送給存儲設(shè)備120。存儲設(shè)備120根據(jù)所述關(guān)鍵字確定所述數(shù)據(jù)塊的數(shù)據(jù)類型,根據(jù)所述數(shù)據(jù)類型查找與所述數(shù)據(jù)類型匹配的目標物理存儲塊,以保存所述數(shù)據(jù)塊至目標物理存儲塊。所述目標物理存儲塊為物理地址連續(xù)的物理存儲塊。根據(jù)所述關(guān)鍵字確定所述數(shù)據(jù)塊所屬的用戶數(shù)據(jù)的數(shù)據(jù)類型的實現(xiàn)方式為,存儲設(shè)備120中預(yù)先存儲數(shù)據(jù)類型識別插件,所述數(shù)據(jù)類型識別插件包括數(shù)據(jù)類型生成算法。存儲設(shè)備120調(diào)用所述數(shù)據(jù)類型識別插件,根據(jù)所述寫請求消息中的關(guān)鍵字,通過所述數(shù)據(jù)類型生成算法對所述關(guān)鍵字進行運算后,輸出所述用戶數(shù)據(jù)的數(shù)據(jù)類型。在其他實施方式中,應(yīng)用服務(wù)器110接收到的用戶數(shù)據(jù)后,不用劃分用戶數(shù)據(jù)位為若干個數(shù)據(jù)塊,即應(yīng)用服務(wù)器110接收到用戶數(shù)據(jù)后,將所述用戶數(shù)據(jù)和數(shù)據(jù)標識封裝成一個寫請求消息,數(shù)據(jù)標識用于識別用戶數(shù)據(jù),數(shù)據(jù)標識包括關(guān)鍵字,所述關(guān)鍵字用于識別用戶數(shù)據(jù)的數(shù)據(jù)類型。在所述存儲設(shè)備120中預(yù)先保存數(shù)據(jù)類型識別插件,一種實現(xiàn)方式為,存儲設(shè)備120接收所述終端設(shè)備發(fā)送的所述數(shù)據(jù)類型識別插件。用戶可以在所述終端設(shè)備的可視界面上點擊上傳所述數(shù)據(jù)類型識別插件;另一種實現(xiàn)方式為,所述存儲設(shè)備120接收所述應(yīng)用服務(wù)器110獲取的所述數(shù)據(jù)類型識別插件。所述應(yīng)用服務(wù)器110獲取所述數(shù)據(jù)類型識別插件,一種實現(xiàn)方式為,用戶在所述應(yīng)用服務(wù)器110的可視界面上點擊上傳所述數(shù)據(jù)類型識別插件,或者用戶通過所述應(yīng)用服務(wù)器110提供的命令交互式界面,通過交互式命令行輸入所述數(shù)據(jù)類型識別插件;另一種實現(xiàn)方式為,所述應(yīng)用服務(wù)器110可以接收所述終端設(shè)備發(fā)送的所述數(shù)據(jù)類型識別插件,用戶可以在所述終端設(shè)備的可視界面上點擊上傳所述數(shù)據(jù)類型識別插件。下面介紹應(yīng)用服務(wù)器110和存儲設(shè)備120的物理結(jié)構(gòu)。請參見圖2,圖2為本發(fā)明實施例提供的一種應(yīng)用服務(wù)器110的結(jié)構(gòu)示意圖。如圖2所示,應(yīng)用服務(wù)器110主要包括處理器(英文:processor)211、存儲器(英文:memory)212、通信總線(簡稱總線)213以及通信接口(英文:communicationinterface)214和通信接口215。處理器211、存儲器212、通信接口214以及通信接口215通過通信總線213完成相互間的通信。通信接口214,用于與存儲設(shè)備120通信。通信接口215,用于和用戶通信,接收用戶發(fā)送的寫數(shù)據(jù)消息,所述寫數(shù)據(jù)消息包括用戶數(shù)據(jù)和關(guān)鍵字。通信接口215是文件接口、塊接口或者對象接口。如果用戶發(fā)送用戶數(shù)據(jù)給應(yīng)用服務(wù)器110,是通過文件接口與應(yīng)用服務(wù)器110通信,同時還會發(fā)送用戶數(shù)據(jù)在文件中的邏輯地址給應(yīng)用服務(wù)器110,邏輯地址包括文件名、偏移位置和用戶數(shù)據(jù)長度。如果用戶發(fā)送用戶數(shù)據(jù)給應(yīng)用服務(wù)器110,是通過對象接口與應(yīng)用服務(wù)器110通信,同時還會發(fā)送用戶數(shù)據(jù)在對象中的邏輯地址給應(yīng)用服務(wù)器110,邏輯地址包括對象名、偏移位置和用戶數(shù)據(jù)長度。如果用戶發(fā)送用戶數(shù)據(jù)給應(yīng)用服務(wù)器110,是通過塊接口與應(yīng)用服務(wù)器110通信,同時還會發(fā)送用戶數(shù)據(jù)存儲時的邏輯地址給應(yīng)用服務(wù)器110,邏輯地址包括卷的標識、邏輯塊地址(英文:logicalblockaddress,lba)和長度(英文:length)。存儲器212,用于臨時存儲用戶發(fā)送的用戶數(shù)據(jù)和關(guān)鍵字。存儲器212可能包含高速ram存儲器,也可能還包括非易失性存儲器(英文:non-volatilememory),例如至少一個磁盤存儲器。可以理解的是,存儲器212可以為隨機存儲器(英文:random-accessmemory,ram)、磁碟、硬盤、固態(tài)硬盤(英文:solidstatedisk,ssd)或者非易失性存儲器等各種可以存儲程序代碼的機器可讀介質(zhì)。處理器211,是一個中央處理器(英文:centralprocessingunit,cpu)。處理器211,用于劃分用戶數(shù)據(jù)為多個數(shù)據(jù)塊,以及將劃分的數(shù)據(jù)塊存儲至存儲器212中,以及用于為每個數(shù)據(jù)塊分配數(shù)據(jù)塊標識,還用于發(fā)送寫請求消息至存儲設(shè)備120。請參見圖3,圖3為本發(fā)明實施例提供的一種存儲設(shè)備120的結(jié)構(gòu)示意圖。存儲設(shè)備120是存儲服務(wù)器,所述存儲服務(wù)器包括控制器310,控制器310包含接口311、接口312、處理器314、存儲器313和至少一個硬盤。如圖3所示,存儲設(shè)備120包括控制器310和一個或多個硬盤320。其中,控制器310至少包括接口311、接口312、存儲器313和處理器314。接口311,用于和應(yīng)用服務(wù)器110通信。接口312,用于和硬盤320通信。硬盤320,在存儲設(shè)備120初次安裝時,按照預(yù)設(shè)存儲容量被格式化后,分為多個存儲容量大小固定的物理存儲塊,每個物理存儲塊由機械硬盤的若干扇區(qū)(hdd)中的其中一個或多個扇區(qū)組成的,每個或多個扇區(qū)組成的物理存儲塊的物理地址是連續(xù)的?;蛘?,物理存儲塊由所述固態(tài)硬盤的一個或多個可擦寫存儲單元(eraseblock)組成。每個每個或多個可擦寫存儲單元組成的物理存儲塊的物理地址是連續(xù)的。存儲器313,用于臨時存儲從應(yīng)用服務(wù)器110發(fā)送的,寫請求消息中的數(shù)據(jù)塊和數(shù)據(jù)塊標識。所述存儲器313還用于存儲數(shù)據(jù)類型識別插件。存儲器313,還用于預(yù)先存儲所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的用戶數(shù)據(jù)的類型之間的對應(yīng)關(guān)系。通過存儲類型,識別存儲相同數(shù)據(jù)類型的用戶數(shù)據(jù)的目標物理存儲塊,存儲類型的參數(shù),表示所述物理存儲塊存儲的用戶數(shù)據(jù)的數(shù)據(jù)類型。物理存儲塊的存儲類型的參數(shù)的初始值為空,存儲了相同類型的用戶數(shù)據(jù)后,物理存儲塊的存儲類型的參數(shù)的值修改為其存儲的用戶數(shù)據(jù)的數(shù)據(jù)類型。存儲器313,還用于預(yù)先存儲每個物理存儲塊的狀態(tài)參數(shù),所述狀態(tài)參數(shù),用于識別每個物理存儲塊的使用狀態(tài)。所述物理存儲塊的使用狀態(tài)至少包括四種狀態(tài),分別是未分配狀態(tài),待寫狀態(tài)、寫滿狀態(tài)和回收狀態(tài)。未分配狀態(tài)表示所述物理存儲塊當(dāng)前未分配給任何數(shù)據(jù)類型的用戶數(shù)據(jù)。待寫狀態(tài)表示允許存儲用戶數(shù)據(jù)至所述物理存儲塊中。寫滿狀態(tài)表示所述物理存儲塊當(dāng)前不能再存儲任何數(shù)據(jù)類型的用戶數(shù)據(jù)。回收狀態(tài),表示所述物理存儲塊中的用戶數(shù)據(jù)正在被刪除,不允許再存儲任何數(shù)據(jù)類型的用戶數(shù)據(jù)。所述狀態(tài)參數(shù)的初始值為未分配狀態(tài),當(dāng)確定所述物理存儲塊為用于存儲所述數(shù)據(jù)類型的用戶數(shù)據(jù)的目標物理存儲塊,即物理存儲塊的存儲類型的參數(shù)的值修改為所述數(shù)據(jù)類型后,所述狀態(tài)參數(shù)的值修改為待寫狀態(tài),表明所述目標物理存儲塊允許存儲所述數(shù)據(jù)類型的用戶數(shù)據(jù)。存儲器313,還用于存儲所述物理存儲塊的邏輯地址。所述物理存儲塊的邏輯地址,例如,是物理存儲塊的標識,或者是存儲設(shè)備120的標識和物理存儲塊的標識的組合。如果物理存儲塊的邏輯地址是物理存儲塊的標識,則所有的存儲設(shè)備120中的每個物理存儲塊的標識不同;如果物理存儲塊的邏輯地址是存儲設(shè)備120的標識和物理存儲塊的標識的組合,則同一存儲設(shè)備120中的每個物理存儲塊的標識不同。存儲器313可能包含高速ram存儲器,也可能還包括非易失性存儲器(英文:non-volatilememory),例如至少一個磁盤存儲器??梢岳斫獾氖?,存儲器313可以為隨機存儲器(英文:random-accessmemory,ram)、磁碟、硬盤、機械盤、固態(tài)硬盤(英文:solidstatedisk,ssd)或者非易失性存儲器等各種可以存儲程序代碼的機器可讀介質(zhì)。處理器314,是一個中央處理器(英文:centralprocessingunit,cpu)。所述處理器314,在硬盤320被格式化時,用于初始化每個物理存儲塊的存儲類型的參數(shù)的值,以及用于初始化每個物理存儲塊的狀態(tài)參數(shù)的值,初始化后的所述物理存儲塊的存儲類型的參數(shù)的值為空,初始化后的所述物理存儲塊的狀態(tài)參數(shù)的值,表示物理存儲塊處于未分配狀態(tài)。處理器314,還用于將存儲器313中的數(shù)據(jù)塊發(fā)送給硬盤320存儲。處理器314,還用于根據(jù)所述關(guān)鍵字確定所述用戶數(shù)據(jù)的數(shù)據(jù)類型。處理器314,還用于根據(jù)所述數(shù)據(jù)類型,查找與所述數(shù)據(jù)類型匹配的目標物理存儲塊,以保存數(shù)據(jù)塊至所述目標物理存儲塊。下面結(jié)合圖1所示的應(yīng)用場景,圖2所示的應(yīng)用服務(wù)器110以及圖3所示的存儲設(shè)備120,對本發(fā)明實施例公開的數(shù)據(jù)存儲方法進行具體的描述。請參見圖4,圖4為本發(fā)明實施例提供的一種數(shù)據(jù)存儲方法的流程圖。圖4所示的步驟s410、s420、s430和s440由圖2所示的處理器211執(zhí)行,以及步驟s450、s460、s470、s480由圖3所示的處理器314執(zhí)行。圖4所示的方法中,存儲設(shè)備120為圖1所示的應(yīng)用場景中的任意一個存儲設(shè)備120。如圖4所示,所述數(shù)據(jù)存儲方法包括如下步驟。s410、應(yīng)用服務(wù)器110接收寫數(shù)據(jù)消息。所述寫數(shù)據(jù)消息是用戶通過終端設(shè)備發(fā)送的,也可能是用戶直接在應(yīng)用服務(wù)器110中輸入的。所述寫請求消息包括用戶數(shù)據(jù)。所述用戶數(shù)據(jù)可以是文件,也可以是塊數(shù)據(jù),也可以是對象。所述寫請求消息還包括用于識別數(shù)據(jù)類型的關(guān)鍵字。數(shù)據(jù)類型,用于識別用戶數(shù)據(jù)的各種屬性,例如,存儲格式屬性、存儲日期屬性、所屬用戶屬性、發(fā)送地點屬性、訪問頻率屬性、學(xué)科屬性等等,數(shù)據(jù)類型的定義,不受本實施例的限制,由用戶自定義。另外,所述寫數(shù)據(jù)消息還包括所述用戶的邏輯地址。所述關(guān)鍵字可以是邏輯地址中的一部分,或者是邏輯地址中的部分/全部與其他字段的組合,所述其他字段可以是字母或者數(shù)字或者是字母和數(shù)字的組合。若所述用戶數(shù)據(jù)是塊數(shù)據(jù),那么所述邏輯地址包括卷的標識、邏輯塊地址(英文:logicalblockaddress,lba)和長度(英文:length)。邏輯塊地址為用戶數(shù)據(jù)存儲于卷中的首地址。例如,用戶數(shù)據(jù)是長度為4mb的文件,所述用戶數(shù)據(jù)的邏輯地址為卷a、00001和4m。其中卷a為卷的標識,00001為邏輯塊地址,4mb為所述用戶數(shù)據(jù)長度。若所述用戶數(shù)據(jù)是文件,那么所述邏輯地址包括文件名、偏移位置和長度。文件名是用戶為文件分配的文件標識,偏移位置表示用戶數(shù)據(jù)在文件中的相對位置。若所述用戶數(shù)據(jù)是對象,那么所述邏輯地址包括對象名、偏移位置和長度。對象名是用戶為對象分配的對象標識,偏移位置表示用戶數(shù)據(jù)在對象中的相對位置。s420、應(yīng)用服務(wù)器110劃分所述用戶數(shù)據(jù)為多個數(shù)據(jù)塊,為每個數(shù)據(jù)塊分配數(shù)據(jù)塊標識。應(yīng)用服務(wù)器110按照預(yù)設(shè)尺寸將所述用戶數(shù)據(jù)劃分為若干個數(shù)據(jù)塊。應(yīng)用服務(wù)器110按照預(yù)設(shè)尺寸劃分用戶數(shù)據(jù)時,會獲得每個劃分出的數(shù)據(jù)塊的偏移地址,數(shù)據(jù)塊的偏移地址為數(shù)據(jù)塊位于所述用戶數(shù)據(jù)中的位置。例如,所述預(yù)設(shè)尺寸為1mb,那么所述用戶數(shù)據(jù)可以劃分為4個數(shù)據(jù)塊。應(yīng)用服務(wù)器110為每個數(shù)據(jù)塊分配數(shù)據(jù)塊標識,所述數(shù)據(jù)塊標識包括所述關(guān)鍵字。所述數(shù)據(jù)塊標識用于唯一識別所述數(shù)據(jù)塊,可以是數(shù)字,也可以是字母,還可以是數(shù)字和字母的組合。示例性的,一種實施方式是,所述數(shù)據(jù)塊標識包括卷的標識、邏輯塊地址以及偏移地址的組合,每兩個相鄰的數(shù)據(jù)塊的偏移地址間的地址范圍為預(yù)設(shè)尺寸的長度,所述數(shù)據(jù)塊標識包括的關(guān)鍵字是卷的標識、邏輯塊地址以及偏移地址中的任一個或者任意組合。例如,如表1所示,所述數(shù)據(jù)塊標識包括的所述關(guān)鍵字是卷的標識、邏輯塊地址和偏移地址的組合。4個數(shù)據(jù)塊的數(shù)據(jù)塊標識和關(guān)鍵字的表示,如表1所示。表1另一種實施方式是,所述數(shù)據(jù)塊標識包括卷的標識、邏輯塊地址以及偏移地址的組合之外,還包括其他字段,所述數(shù)據(jù)塊標識包括的關(guān)鍵字是其他字段,或者其他字段與卷的標識、邏輯塊地址、偏移地址中的一個或者多個的組合。例如,如表2所示,所述其他字段用于表示所述關(guān)鍵字,其他字段的內(nèi)容可以是jpg,可以是pdf,也可以是doc,用戶數(shù)據(jù)的數(shù)據(jù)類型用于識別用戶數(shù)據(jù)的存儲格式屬性,例如,關(guān)鍵字jpg用于表示用戶數(shù)據(jù)為圖片;關(guān)鍵字pdf用于表示用戶數(shù)據(jù)為pdf文檔,關(guān)鍵字doc用于表示用戶數(shù)據(jù)為word文檔。所述數(shù)據(jù)塊標識包括卷的標識、邏輯塊地址、偏移地址和關(guān)鍵字。4個數(shù)據(jù)塊的數(shù)據(jù)塊標識和關(guān)鍵字的表示,如表2所示。卷的標識邏輯塊地址偏移地址其他字段(用于表示關(guān)鍵字)卷a0000100001jpg卷a0000100004jpg卷a0000100009jpg卷a0000100013jpg表2又如,如表3所示,所述其他字段屬于關(guān)鍵字中的一部分,所述關(guān)鍵字是其他字段,與卷的標識、邏輯塊地址以及偏移地址的組合,其他字段的內(nèi)容可以是gd,可以是sz,也可以是xiaoming,也可以是yinianji,gd用于表示用戶數(shù)據(jù)的地域?qū)傩?;例如,關(guān)鍵字gd用于表示用戶數(shù)據(jù)為廣東用戶寫入的數(shù)據(jù);關(guān)鍵字sz用于表示用戶數(shù)據(jù)為深圳用戶寫入的數(shù)據(jù),關(guān)鍵字xiaoming,用于表示用戶數(shù)據(jù)為xiaoming用戶寫入的數(shù)據(jù),關(guān)鍵字yinianji,用于表示用戶數(shù)據(jù)為一年級的用戶寫入的數(shù)據(jù)。4個數(shù)據(jù)塊的數(shù)據(jù)塊標識和關(guān)鍵字的表示,如表3所示。表3另一種實施方式是,所述數(shù)據(jù)塊標識包括卷的標識、邏輯塊地址以及數(shù)據(jù)塊的序號的組合,按照這種實施方式,應(yīng)用服務(wù)器110中保存每個數(shù)據(jù)塊的序號與所述數(shù)據(jù)塊的偏移地址之間的對應(yīng)關(guān)系。所述數(shù)據(jù)塊標識包括的關(guān)鍵字是卷的標識、邏輯塊地址以及序號中的任一個或者任意組合,或者所述數(shù)據(jù)塊標識包括的關(guān)鍵字是卷的標識、邏輯塊地址以及偏移地址中的任一個或者任意組合。例如,如表4所示,所述數(shù)據(jù)塊標識包括的所述關(guān)鍵字是卷的標識、邏輯塊地址和序號的組合。4個數(shù)據(jù)塊的數(shù)據(jù)塊標識及其關(guān)鍵字的表示,如表4所示。表4另一種實施方式是,所述數(shù)據(jù)塊標識包括卷的標識、邏輯塊地址以及序號的組合之外,還包括其他字段,按照這種實施方式,應(yīng)用服務(wù)器110中保存每個數(shù)據(jù)塊的序號與所述數(shù)據(jù)塊的偏移地址之間的對應(yīng)關(guān)系。所述數(shù)據(jù)塊標識包括的關(guān)鍵字是其他字段,或者是其他字段與卷的標識、邏輯塊地址、序號中的一個或者多個的組合,或者,所述數(shù)據(jù)塊標識包括的關(guān)鍵字是其他字段,與卷的標識、邏輯塊地址、偏移地址中的一個或者多個的組合。例如,如表4所示,所述其他字段用于表示所述關(guān)鍵字。所述數(shù)據(jù)塊標識包括卷的標識、邏輯塊地址、序號和關(guān)鍵字。4個數(shù)據(jù)塊的數(shù)據(jù)塊標識和關(guān)鍵字的表示,如表5所示。卷的標識邏輯塊地址序號其他字段(用于表示關(guān)鍵字)卷a000011pdf卷a000012pdf卷a000013pdf卷a000014pdf表5又如,如表6所示,所述其他字段屬于關(guān)鍵字中的一部分,所述關(guān)鍵字是其他字段,與卷的標識、邏輯塊地址以及序號的組合,比例通過關(guān)鍵字識別不同學(xué)科的成績,用戶數(shù)據(jù)為分數(shù),其他字段的內(nèi)容可以是shuxue,可以是yuwen,也可以是yinyue,也可以是meishu,例如,關(guān)鍵字shuxue表示用戶數(shù)據(jù)表示的是數(shù)學(xué)成績;關(guān)鍵字yuwen,表示用戶數(shù)據(jù)表示的是語文成績;關(guān)鍵字yinyue表示用戶數(shù)據(jù)表示的是音樂成績;關(guān)鍵字meishu表示用戶數(shù)據(jù)表示的是美術(shù)成績。4個數(shù)據(jù)塊的數(shù)據(jù)塊標識以及關(guān)鍵字的表示,如表6所示。表6s430、應(yīng)用服務(wù)器110分別封裝每個數(shù)據(jù)塊和每個數(shù)據(jù)塊的數(shù)據(jù)塊標識,生成一個寫請求消息。由于所述數(shù)據(jù)塊標識包括所述關(guān)鍵字,因此所述寫請求消息中也包括有所述關(guān)鍵字。這里的寫請求消息與步驟s410中的寫數(shù)據(jù)消息不同,步驟s410中的寫數(shù)據(jù)消息是終端設(shè)備發(fā)送給應(yīng)用服務(wù)器110的,而步驟s430中的寫請求消息是應(yīng)用服務(wù)器110發(fā)送給存儲設(shè)備120的。s440、應(yīng)用服務(wù)器110發(fā)送寫請求消息給存儲設(shè)備120。在本實施例中,應(yīng)用服務(wù)器110分別發(fā)送每個寫請求消息至一個存儲設(shè)備120,以將劃分出的每個數(shù)據(jù)塊分別發(fā)送至不同的存儲設(shè)備120。在其它實現(xiàn)方式中,應(yīng)用服務(wù)器110發(fā)送每個寫請求消息至同一個存儲設(shè)備120,以將劃分出的每個數(shù)據(jù)塊發(fā)送至一個存儲設(shè)備120。s450、存儲設(shè)備120解析所述寫請求消息,獲得數(shù)據(jù)塊和所述數(shù)據(jù)塊所屬的用戶數(shù)據(jù)的關(guān)鍵字。s460、存儲設(shè)備120調(diào)用存儲器313中存儲的所述數(shù)據(jù)類型識別插件,根據(jù)所述關(guān)鍵字輸出所述用戶數(shù)據(jù)的數(shù)據(jù)類型。所述數(shù)據(jù)類型識別插件用于對所述關(guān)鍵字進行數(shù)據(jù)類型生成算法的運算,所述關(guān)鍵字通過所述數(shù)據(jù)類型生成算法的運算后,輸出所述用戶數(shù)據(jù)的數(shù)據(jù)類型。s470、存儲設(shè)備120根據(jù)所述數(shù)據(jù)類型,查找與所述數(shù)據(jù)類型匹配的目標物理存儲塊。在本實施方式中,存儲設(shè)備120查詢預(yù)先存儲于存儲器313中的,物理存儲塊中存儲的數(shù)據(jù)的數(shù)據(jù)類型與所述數(shù)據(jù)類型的對應(yīng)關(guān)系,根據(jù)所述數(shù)據(jù)類型,查找與所述數(shù)據(jù)類型匹配的目標物理存儲塊。一種實現(xiàn)方式為,通過查找保存于存儲器313中的,物理存儲塊的存儲類型的參數(shù),查找存儲類型的參數(shù)的值為所述數(shù)據(jù)類型的目標物理存儲塊。另一種實現(xiàn)方式為,通過查找物理存儲塊中的存儲的其他數(shù)據(jù),識別其他數(shù)據(jù)的數(shù)據(jù)類型,當(dāng)其他數(shù)據(jù)的數(shù)據(jù)類型與所述數(shù)據(jù)塊所屬的用戶數(shù)據(jù)的數(shù)據(jù)類型一致,則查找到與所述數(shù)據(jù)類型匹配的目標物理存儲塊為,與所述數(shù)據(jù)塊所屬的數(shù)據(jù)類型相同的其他數(shù)據(jù)所屬的目標物理存儲塊。s480、當(dāng)查找到所述目標物理存儲塊,存儲設(shè)備120保存所述數(shù)據(jù)塊至所述目標物理存儲塊。當(dāng)查找到與所述數(shù)據(jù)類型匹配的目標物理存儲塊之后,所述存儲設(shè)備120查詢所述目標物理存儲塊的剩余存儲容量;當(dāng)所述目標物理存儲塊的剩余存儲容量大于或等于所述數(shù)據(jù)塊的數(shù)據(jù)量時,所述存儲設(shè)備120將所述數(shù)據(jù)塊保存至所述目標物理存儲塊。剩余存儲容量指的是目標物理存儲塊中除被占用的存儲空間之外的,未被占用的存儲空間的容量。基于上述圖4所示的實施例,在步驟s480中,當(dāng)查找到存儲類型參數(shù)的值為所述數(shù)據(jù)類型的目標物理存儲塊之后,存儲設(shè)備120還用于查詢目標物理存儲塊的狀態(tài)參數(shù),當(dāng)所述狀態(tài)參數(shù)的值表示所述目標物理存儲塊處于待寫狀態(tài)時,表明目標物理存儲塊當(dāng)前可以存儲數(shù)據(jù)塊?;谏鲜鰣D4所示的實施例,在步驟s480之后,存儲設(shè)備120還用于查詢所述目標物理存儲塊的剩余存儲容量,當(dāng)所述目標物理存儲塊的剩余存儲容量小于劃分數(shù)據(jù)塊的預(yù)設(shè)尺寸時,修改目標物理存儲塊的狀態(tài)參數(shù)的值,修改后的狀態(tài)參數(shù)的值表示所述目標物理存儲塊處于寫滿狀態(tài)?;谏鲜鰣D4所示的實施例中,在步驟s470中,存儲設(shè)備120查找到所述目標物理存儲塊,考慮到目標物理存儲塊的存儲容量是固定大小的,為避免存儲所述數(shù)據(jù)類型的用戶數(shù)據(jù)的所有目標物理存儲塊的存儲容量,在存儲設(shè)備120接收到所述數(shù)據(jù)塊之前已被寫滿,而無法存儲所述數(shù)據(jù)塊的情況發(fā)生,如果存儲設(shè)備120查找到存儲類型為所述數(shù)據(jù)類型的所有的目標物理存儲塊都處于寫滿狀態(tài),則存儲設(shè)備120選擇存儲類型的參數(shù)的值為初始值的物理存儲塊,修改存儲類型的參數(shù)的值和狀態(tài)參數(shù)的值,修改后的存儲類型的參數(shù)的值為所述數(shù)據(jù)類型,以及修改后的所述狀態(tài)參數(shù)的值表示所述物理存儲塊處于待寫狀態(tài)。然后,存儲設(shè)備120保存所述數(shù)據(jù)塊至,存儲類型的參數(shù)的值修改為所述數(shù)據(jù)類型,處于待寫狀態(tài)的目標物理存儲塊。在圖4所示的實施例中,在步驟s470中,如果存儲設(shè)備120沒有查找到存儲類型為所述數(shù)據(jù)類型的物理存儲塊,則存儲設(shè)備120選擇存儲類型的參數(shù)的值為初始值的目標物理存儲塊,修改存儲類型的參數(shù)的值和狀態(tài)參數(shù)的值,修改后的存儲類型的參數(shù)的值為所述數(shù)據(jù)類型,以及修改后的所述狀態(tài)參數(shù)的值表示所述目標物理存儲塊處于待寫狀態(tài)。然后,存儲設(shè)備120保存所述數(shù)據(jù)塊至,存儲類型的參數(shù)的值修改為所述數(shù)據(jù)類型,且處于待寫狀態(tài)的目標物理存儲塊?;谏鲜鰣D4所示的實施例,在步驟s440中,應(yīng)用服務(wù)器110生成寫請求消息的同時,保存數(shù)據(jù)塊標識和關(guān)鍵字的對應(yīng)關(guān)系,以便于用戶后續(xù)有操作用戶數(shù)據(jù)的需求時,能夠通過關(guān)鍵字查找到若干個數(shù)據(jù)塊標識分別對應(yīng)的數(shù)據(jù)塊,以查找到相同類型的,被劃分成多個數(shù)據(jù)塊的所有用戶數(shù)據(jù)?;谏鲜鰣D4所示的實施例,當(dāng)預(yù)設(shè)條件到達時,存儲設(shè)備120將所述目標物理存儲塊中存儲的所述數(shù)據(jù)塊遷移至其他物理存儲塊,所述其他物理存儲塊的剩余存儲容量大于或等于所述數(shù)據(jù)的數(shù)據(jù)量,并且所述其他物理存儲塊存儲的數(shù)據(jù)塊所屬的用戶數(shù)據(jù)的數(shù)據(jù)類型與所述數(shù)據(jù)塊所屬的用戶數(shù)據(jù)的數(shù)據(jù)類型相同。預(yù)設(shè)條件包括:刪除目標物理存儲塊中存儲的部分數(shù)據(jù)塊后,或者周期性的查詢目標物理存儲塊中的所有數(shù)據(jù)塊的數(shù)據(jù)量小于閾值容量,或者目標物理存儲塊的訪問頻率小于閾值頻率,或者讀取目標物理存儲塊中的所有數(shù)據(jù)塊后。所述目標物理存儲塊與其他的物理存儲塊可以在同一存儲設(shè)備120中,也可以在不同的存儲設(shè)備120中。然后,存儲設(shè)備120修改目標物理存儲塊的狀態(tài)參數(shù)的值為初始值,修改后的狀態(tài)參數(shù)的值表示所述物理存儲塊處于未分配狀態(tài)。基于上述圖4所示的實施例,在步驟s480之后,數(shù)據(jù)存儲方法還包括:存儲設(shè)備120將所述目標物理存儲塊的邏輯地址,發(fā)送給應(yīng)用服務(wù)器110。應(yīng)用服務(wù)器110根據(jù)所述目標物理存儲塊的邏輯地址,生成數(shù)據(jù)塊的存儲路徑。如果物理存儲塊的邏輯地址是存儲設(shè)備120的標識,則所述存儲路徑包括存儲設(shè)備120的標識,以及所述數(shù)據(jù)塊標識與所述目標物理存儲塊的標識的對應(yīng)關(guān)系預(yù)先存儲于所述存儲設(shè)備120中,物理存儲塊的標識用于識別存儲設(shè)備120中的每個物理存儲塊。如果物理存儲塊的邏輯地址是存儲設(shè)備120的標識和目標物理存儲塊的標識的組合,則所述存儲路徑包括存儲設(shè)備120的標識和所述目標物理存儲塊的標識的組合。如果物理存儲塊的邏輯地址是物理存儲塊的標識,存儲路徑包括物理存儲塊的標識,所有的存儲設(shè)備中的物理存儲塊的標識是唯一的,應(yīng)用服務(wù)器110中預(yù)先保存有物理存儲塊的標識和存儲設(shè)備120的映射關(guān)系。應(yīng)用服務(wù)器110依據(jù)所述目標物理存儲塊的邏輯地址,生成所述數(shù)據(jù)塊存儲于所述存儲設(shè)備120中的存儲路徑,應(yīng)用服務(wù)器110保存數(shù)據(jù)塊標識和所述數(shù)據(jù)塊的存儲路徑的對應(yīng)關(guān)系。如果用戶后續(xù)有讀取用戶數(shù)據(jù)的需求時,能夠通過關(guān)鍵字查找到若干個數(shù)據(jù)塊標識,再通過數(shù)據(jù)塊存儲于所述存儲設(shè)備120中的存儲路徑,從所述存儲設(shè)備120中讀取到所述數(shù)據(jù)塊,以獲取到相同類型的,被劃分成多個數(shù)據(jù)塊的所有用戶數(shù)據(jù)?;趫D4所示的實施例,在實現(xiàn)相同類型的用戶數(shù)據(jù)存儲于物理存儲塊后,用戶需要讀取相同數(shù)據(jù)類型的用戶數(shù)據(jù)時,應(yīng)用服務(wù)器110接收用戶通過終端設(shè)備發(fā)送的,包括用于識別數(shù)據(jù)類型的關(guān)鍵字的讀數(shù)據(jù)消息,所述讀數(shù)據(jù)消息還包括待讀取的用戶數(shù)據(jù)的邏輯地址。應(yīng)用服務(wù)器110獲取用于識別數(shù)據(jù)類型的關(guān)鍵字,并按照預(yù)設(shè)尺寸將所述邏輯地址的長度劃分為若干段,為每一段長度分配一個長度標識。應(yīng)用服務(wù)器110查詢所述關(guān)鍵字對應(yīng)的所有數(shù)據(jù)塊標識。當(dāng)應(yīng)用服務(wù)器110查詢到數(shù)據(jù)塊標識包括長度標識,則查詢包括所述長度標識的所述數(shù)據(jù)塊標識,對應(yīng)的存儲路徑,根據(jù)所述存儲路徑,發(fā)送包括數(shù)據(jù)塊標識的讀取請求消息,至包括所述數(shù)據(jù)塊的存儲設(shè)備120。所述讀取請求消息和之前描述的讀數(shù)據(jù)消息不同。存儲設(shè)備120收到所述讀取請求消息后,在存儲所述數(shù)據(jù)塊的目標物理存儲塊中,依據(jù)數(shù)據(jù)塊標識查詢數(shù)據(jù)塊,并發(fā)送查詢到的數(shù)據(jù)塊至應(yīng)用服務(wù)器110,由應(yīng)用服務(wù)器110轉(zhuǎn)發(fā)查詢到的數(shù)據(jù)塊至終端設(shè)備,或者存儲設(shè)備120發(fā)送查詢到的數(shù)據(jù)塊到終端設(shè)備。如果所述存儲路徑包括存儲設(shè)備120的標識,所述應(yīng)用服務(wù)器110依據(jù)所述存儲設(shè)備120的標識,發(fā)送所述讀取請求消息至所述存儲設(shè)備120,所述讀取請求消息包括數(shù)據(jù)塊標識,所述數(shù)據(jù)塊標識與所述目標物理存儲塊的標識的對應(yīng)關(guān)系預(yù)先存儲于所述存儲設(shè)備120中,以使所述存儲設(shè)備120在包括所述數(shù)據(jù)塊的物理存儲塊中,查找所述數(shù)據(jù)塊。如果所述存儲路徑包括存儲設(shè)備120的標識和目標物理存儲塊的標識的組合,所述應(yīng)用服務(wù)器110依據(jù)所述存儲設(shè)備120的標識,發(fā)送所述讀取請求消息至所述存儲設(shè)備120,所述讀取請求消息包括數(shù)據(jù)塊標識和目標物理存儲塊的標識,以使所述存儲設(shè)備120在包括所述數(shù)據(jù)塊的物理存儲塊中,查找所述數(shù)據(jù)塊。如果所述存儲路徑包括目標物理存儲塊的標識,應(yīng)用服務(wù)器110中預(yù)先保存有目標物理存儲塊的標識和存儲設(shè)備120的映射關(guān)系,所述應(yīng)用服務(wù)器110查找目標物理存儲塊的標識和存儲設(shè)備120的映射關(guān)系,獲取所述目標物理存儲塊所屬的存儲設(shè)備120的標識,依據(jù)所述存儲設(shè)備120的標識,發(fā)送所述讀取請求消息至所述存儲設(shè)備120,所述讀取請求消息包括數(shù)據(jù)塊標識和目標物理存儲塊的標識,以使所述存儲設(shè)備120在包括所述數(shù)據(jù)塊的目標物理存儲塊中,查找所述數(shù)據(jù)塊。如果用戶發(fā)送讀數(shù)據(jù)消息,是通過塊接口與應(yīng)用服務(wù)器110通信,邏輯地址包括卷的標識、邏輯塊地址(英文:logicalblockaddress,lba)和長度(英文:length)。邏輯塊地址為用戶數(shù)據(jù)存儲于卷中的首地址。為每一段長度分配一個長度標識,一種實現(xiàn)方式為,獲得每一段在邏輯地址中的偏移地址,每一段的長度標識為卷的標識、邏輯塊地址和偏移地址的組合。另一種實現(xiàn)方式為,每一段的長度標識為卷的標識、邏輯塊地址和序號的組合。如果用戶發(fā)送讀數(shù)據(jù)消息,是通過文件接口與應(yīng)用服務(wù)器110通信,所述邏輯地址包括文件名、偏移位置和用戶數(shù)據(jù)長度。偏移位置為用戶數(shù)據(jù)存儲于文件中的首地址。為每一段長度分配一個長度標識,一種實現(xiàn)方式為,獲得每一段在邏輯地址中的偏移地址,每一段的長度標識為文件名、偏移位置和偏移地址的組合。另一種實現(xiàn)方式為,每一段的長度標識為文件名、偏移位置和序號的組合。如果用戶發(fā)送用戶數(shù)據(jù)給應(yīng)用服務(wù)器110,是通過對象接口與應(yīng)用服務(wù)器110通信,所述邏輯地址包括對象名、偏移位置和用戶數(shù)據(jù)長度。偏移位置為部分用戶數(shù)據(jù)存儲于對象中的首地址。為每一段長度分配一個長度標識,一種實現(xiàn)方式為,獲得每一段在邏輯地址中的偏移地址,每一段的長度標識為對象名、偏移位置和偏移地址的組合。另一種實現(xiàn)方式為,每一段的長度標識為對象名、偏移位置和序號的組合。通過上述實施例,在實現(xiàn)相同類型的用戶數(shù)據(jù)存儲于目標物理存儲塊后,如果用戶需要刪除相同類型的所有用戶數(shù)據(jù)時,應(yīng)用服務(wù)器110接收用戶通過終端設(shè)備發(fā)送的,攜帶有用于識別數(shù)據(jù)類型的關(guān)鍵字的刪除數(shù)據(jù)消息,獲取用于識別數(shù)據(jù)類型的關(guān)鍵字,查詢所述關(guān)鍵字對應(yīng)的所有數(shù)據(jù)塊標識,查詢所述數(shù)據(jù)塊標識對應(yīng)的數(shù)據(jù)塊的存儲路徑,發(fā)送包括數(shù)據(jù)塊標識的刪除請求消息至包括所有數(shù)據(jù)塊的所有存儲設(shè)備120。每個存儲設(shè)備120收到所述刪除請求消息后,將表示所述目標物理存儲塊處于待寫狀態(tài)或者寫滿狀態(tài)的狀態(tài)參數(shù)的值進行修改,修改后的狀態(tài)參數(shù)的值表示所述目標物理存儲塊處于回收狀態(tài)。每個存儲設(shè)備120在存儲所述數(shù)據(jù)塊的目標物理存儲塊中,依據(jù)數(shù)據(jù)塊標識查詢數(shù)據(jù)塊,并刪除查詢到的數(shù)據(jù)塊。然后,存儲設(shè)備120將表示所述目標物理存儲塊處于回收狀態(tài)的狀態(tài)參數(shù)的值進行修改,修改后的狀態(tài)參數(shù)的值表示所述目標物理存儲塊處于未分配狀態(tài)。通過上述實施例,在實現(xiàn)相同類型的用戶數(shù)據(jù)存儲于目標物理存儲塊后,如果用戶需要刪除相同數(shù)據(jù)類型中的部分用戶數(shù)據(jù)時,應(yīng)用服務(wù)器110接收用戶通過終端設(shè)備發(fā)送的,包括用于識別數(shù)據(jù)類型的關(guān)鍵字的刪除數(shù)據(jù)消息。所述刪除數(shù)據(jù)消息還包括部分用戶數(shù)據(jù)的邏輯地址。應(yīng)用服務(wù)器110獲取用于識別數(shù)據(jù)類型的關(guān)鍵字,并按照預(yù)設(shè)尺寸將所述邏輯地址的長度劃分為若干段,為每一段長度分配一個長度標識。應(yīng)用服務(wù)器110查詢所述關(guān)鍵字對應(yīng)的所有數(shù)據(jù)塊標識,當(dāng)查詢到數(shù)據(jù)塊標識包括長度標識,則查詢包括所述長度標識的所述數(shù)據(jù)塊標識,對應(yīng)的存儲路徑,發(fā)送包括數(shù)據(jù)塊標識的刪除請求消息至包括所述數(shù)據(jù)塊的存儲設(shè)備120。所述刪除請求消息和之前描述的刪除數(shù)據(jù)消息不同。存儲設(shè)備120收到所述刪除請求消息后,將表示所述目標物理存儲塊處于待寫狀態(tài)或者寫滿狀態(tài)的狀態(tài)參數(shù)的值進行修改,修改后的狀態(tài)參數(shù)的值表示所述目標物理存儲塊處于回收狀態(tài)。所述存儲設(shè)備120在用于存儲所述數(shù)據(jù)塊的目標物理存儲塊中,依據(jù)數(shù)據(jù)塊標識查詢數(shù)據(jù)塊,并刪除查詢到的數(shù)據(jù)塊。然后,存儲設(shè)備120將表示所述目標物理存儲塊處于回收狀態(tài)的狀態(tài)參數(shù)的值進行修改,修改后的狀態(tài)參數(shù)的值表示所述目標物理存儲塊處于待寫狀態(tài)。目標物理存儲塊中的所有用戶數(shù)據(jù)都被刪除,或者刪除了目標物理存儲塊中的大部分的用戶數(shù)據(jù),存儲設(shè)備120后續(xù)接收到的相同類型的用戶數(shù)據(jù),可以存儲于目標物理存儲塊中。但是,如果后續(xù)存儲設(shè)備120不能及時接收到,或者用戶不再發(fā)送相同類型的用戶數(shù)據(jù),存儲設(shè)備120中,剩余的沒有存儲任何數(shù)據(jù)塊的物理存儲塊的數(shù)量有限,為充分利用存儲設(shè)備120的存儲空間,在刪除存儲于目標物理存儲塊中的數(shù)據(jù)塊后,存儲設(shè)備120統(tǒng)計所述物理存儲塊的訪問頻率,如果所述目標物理存儲塊的訪問頻率小于閾值頻率,存儲設(shè)備120查詢所述目標物理存儲塊中的所有數(shù)據(jù)塊的數(shù)據(jù)量,如果所述目標物理存儲塊中的所有數(shù)據(jù)塊的數(shù)據(jù)量大于零,則將所述目標物理存儲塊中的所有數(shù)據(jù)塊,發(fā)送至存儲相同類型的用戶數(shù)據(jù)的其他物理存儲塊中。所述其他物理存儲塊的訪問頻率大于或等于所述頻率閾值,所述其他物理存儲塊與所述物理存儲塊可以在同一存儲設(shè)備120中,也可以在不同的存儲設(shè)備120中。然后,存儲設(shè)備120修改所述目標物理存儲塊的狀態(tài)參數(shù)的值為初始值,修改后的狀態(tài)參數(shù)的值表示所述物理存儲塊處于未分配狀態(tài)。如果所述目標物理存儲塊的所有數(shù)據(jù)塊的數(shù)據(jù)量等于零,則存儲設(shè)備120修改目標物理存儲塊的狀態(tài)參數(shù)的值為初始值,修改后的狀態(tài)參數(shù)的值表示所述物理存儲塊處于未分配狀態(tài)。用戶發(fā)送刪除數(shù)據(jù)消息,與應(yīng)用服務(wù)器110通信時的邏輯地址的實現(xiàn)細節(jié),可參照用戶發(fā)送讀取數(shù)據(jù)消息的細節(jié),在這里不再贅述?;谝陨蠈嵤├?,如果剩余的物理存儲塊的數(shù)量較少,為避免相同類型的用戶數(shù)據(jù)分散,且碎片式的分散存儲在多個物理存儲塊中,而沒有更多的物理存儲塊用于存儲其他數(shù)據(jù)類型的用戶數(shù)據(jù),所述存儲設(shè)備120統(tǒng)計存儲相同類型的用戶數(shù)據(jù)的其他物理存儲塊的剩余存儲容量,當(dāng)其他物理存儲塊的剩余存儲容量大于所述物理存儲塊的所有數(shù)據(jù)塊的數(shù)據(jù)量,且所述物理存儲塊的所有的數(shù)據(jù)塊的數(shù)據(jù)量小于閾值容量,存儲設(shè)備120將所述目標物理存儲塊中的所有數(shù)據(jù)塊,發(fā)送至存儲相同類型的用戶數(shù)據(jù)的其他物理存儲塊中。所述物理存儲塊與其他的物理存儲塊可以在同一存儲設(shè)備120中,也可以在不同的存儲設(shè)備120中。然后,其他的物理存儲塊所屬的存儲設(shè)備120,發(fā)送所述其他物理存儲塊的邏輯地址給應(yīng)用服務(wù)器110。應(yīng)用服務(wù)器110依據(jù)所述其他物理存儲塊的邏輯地址,生成所述數(shù)據(jù)塊存儲于所述存儲設(shè)備120中的存儲路徑。以及,應(yīng)用服務(wù)器110修改數(shù)據(jù)塊標識和所述數(shù)據(jù)塊的存儲路徑的對應(yīng)關(guān)系,便于后續(xù),用戶有讀取移動至所述其他物理存儲塊中的用戶數(shù)據(jù)的需求時,能夠通過關(guān)鍵字查找到若干個數(shù)據(jù)塊標識分別對應(yīng)的數(shù)據(jù)塊,再通過數(shù)據(jù)塊存儲于所述其他物理存儲塊所屬的存儲設(shè)備120中的存儲路徑,從所述其他物理存儲塊所屬的所述存儲設(shè)備120中,讀取到所述數(shù)據(jù)塊,以獲取到相同類型的,被劃分成數(shù)據(jù)塊的用戶數(shù)據(jù)。另外,存儲設(shè)備120刪除所述物理存儲塊的所有的用戶數(shù)據(jù)。然后所述存儲設(shè)備120修改物理存儲塊的狀態(tài)參數(shù)的值,修改后的狀態(tài)參數(shù)的值表示所述物理存儲塊處于未分配狀態(tài)。請參見圖5,圖5為本發(fā)明實施例提供的一種數(shù)據(jù)存儲設(shè)備的結(jié)構(gòu)圖,如圖5所示,本發(fā)明實施例提供的數(shù)據(jù)存儲設(shè)備510包括接收單元511和處理器512。接收單元511和處理器512連接,下面詳細介紹數(shù)據(jù)存儲設(shè)備510中的每個模塊的功能:接收單元511,用于接收寫請求消息,所述寫請求消息包括數(shù)據(jù)和所述數(shù)據(jù)的關(guān)鍵字,所述關(guān)鍵字用于識別所述數(shù)據(jù)的數(shù)據(jù)類型。本實施方式中接收單元511接收寫請求消息的功能,可以通過存儲設(shè)備中的接口311實現(xiàn),寫請求消息的具體實現(xiàn)細節(jié)可以參考圖4所示的步驟s430、s440和s450描述的具體細節(jié),在這里不再贅述。處理器512,用于根據(jù)所述關(guān)鍵字確定所述數(shù)據(jù)的數(shù)據(jù)類型;根據(jù)所述數(shù)據(jù)類型查找與所述數(shù)據(jù)類型匹配的目標物理存儲塊,所述目標物理存儲塊為物理地址連續(xù)的物理存儲塊,還用于將所述數(shù)據(jù)保存至所述目標物理存儲塊。本實施方式中處理器512根據(jù)所述關(guān)鍵字確定所述數(shù)據(jù)的數(shù)據(jù)類型,根據(jù)所述數(shù)據(jù)類型查找與所述數(shù)據(jù)類型匹配的目標物理存儲塊的功能,可以通過存儲設(shè)備中的處理器512調(diào)用存儲器313里面的程序?qū)崿F(xiàn)實現(xiàn)。本實施方式中確定所述數(shù)據(jù)的數(shù)據(jù)類型的具體實現(xiàn)細節(jié),可以參考圖4所示的步驟s460,在這里不再贅述。以及,確定目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考圖4所示的步驟s470所描述的具體細節(jié),在這里不再贅述。以及,保存數(shù)據(jù)至目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考圖4所示的步驟s480所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,所述存儲設(shè)備中預(yù)先保存有所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系;所述處理器512,還用于根據(jù)所述數(shù)據(jù)類型以及所述對應(yīng)關(guān)系查找所述目標物理存儲塊。所述存儲設(shè)備中預(yù)先保存有所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系的功能,可以通過存儲器313存儲所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系來實現(xiàn)。本實施方式中,根據(jù)所述數(shù)據(jù)類型以及所述對應(yīng)關(guān)系,查找所述目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s470的具體細節(jié),以及與步驟s470相關(guān)的可能的實現(xiàn)方式所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,所述目標物理存儲塊存儲有其他數(shù)據(jù),所述其他數(shù)據(jù)的數(shù)據(jù)類型與所述數(shù)據(jù)的數(shù)據(jù)類型相同。本實施方式中,處理器512將所述數(shù)據(jù)保存至所述目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s470的具體細節(jié),以及與步驟s470相關(guān)的可能的實現(xiàn)方式所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,當(dāng)確定所述目標物理存儲塊處于待寫狀態(tài)時,所述處理器512,還用于將所述數(shù)據(jù)保存至所述目標物理存儲塊。本實施方式中,處理器512將所述數(shù)據(jù)保存至所述目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s470的具體細節(jié),以及與步驟s470相關(guān)的可能的實現(xiàn)方式所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,所述處理器512,還用于查詢所述目標物理存儲塊的剩余存儲容量;當(dāng)所述目標物理存儲塊的剩余存儲容量大于或等于所述數(shù)據(jù)的數(shù)據(jù)量時,所述處理器512,還用于將所述數(shù)據(jù)保存至所述目標物理存儲塊。本實施方式中,處理器512將所述數(shù)據(jù)保存至所述目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s470的具體細節(jié),以及與步驟s470相關(guān)的可能的實現(xiàn)方式所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,當(dāng)預(yù)設(shè)條件到達時,所述處理器512,還用于將所述目標物理存儲塊中存儲的所述數(shù)據(jù)遷移至其他物理存儲塊,所述其他物理存儲塊的剩余存儲容量大于或等于所述數(shù)據(jù)的數(shù)據(jù)量,并且所述其他物理存儲塊存儲的數(shù)據(jù)的數(shù)據(jù)類型與所述數(shù)據(jù)的數(shù)據(jù)類型相同。本實施方式中,處理器512將所述數(shù)據(jù)保存至所述其他物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s480之后的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,處理器512還用于訪問目標物理存儲塊中的數(shù)據(jù),具體為讀取或者刪除目標物理存儲塊中的數(shù)據(jù),具體細節(jié)可以參考基于圖4所示的步驟s480之后的具體細節(jié),在這里不再贅述。請參見圖6,圖6為本發(fā)明實施例提供的另一種數(shù)據(jù)存儲設(shè)備的結(jié)構(gòu)圖,如圖6所示,本發(fā)明實施例提供的數(shù)據(jù)存儲設(shè)備610包括接口611和處理器612。接口611和處理器612連接。接口611,用于接收寫請求消息,所述寫請求消息包括數(shù)據(jù)和所述數(shù)據(jù)的關(guān)鍵字,所述關(guān)鍵字用于識別所述數(shù)據(jù)的數(shù)據(jù)類型。本實施方式中接口611接收寫請求消息的細節(jié)可參考圖4所示的步驟s430、s440和s450描述的具體細節(jié),在這里不再贅述。處理器612,用于根據(jù)所述關(guān)鍵字確定所述數(shù)據(jù)的數(shù)據(jù)類型;根據(jù)所述數(shù)據(jù)類型查找與所述數(shù)據(jù)類型匹配的目標物理存儲塊,所述目標物理存儲塊為物理地址連續(xù)的物理存儲塊,還用于將所述數(shù)據(jù)保存至所述目標物理存儲塊。本實施方式中處理器612確定所述數(shù)據(jù)的數(shù)據(jù)類型的具體實現(xiàn)細節(jié),可以參考圖4所示的步驟s460,在這里不再贅述。以及,處理器612確定目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考圖4所示的步驟s470所描述的具體細節(jié),在這里不再贅述。以及,處理器612保存數(shù)據(jù)至目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考圖4所示的步驟s480所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,所述存儲設(shè)備中預(yù)先保存有所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系;所述處理器612,還用于根據(jù)所述數(shù)據(jù)類型以及所述對應(yīng)關(guān)系查找所述目標物理存儲塊。所述存儲設(shè)備中預(yù)先保存有所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系的功能,可以通過存儲器313存儲所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系來實現(xiàn)。在其他實施方式中,所述存儲設(shè)備中預(yù)先保存有所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系的功能,可以通過處理器612存儲所述數(shù)據(jù)類型與所述目標物理存儲塊所存儲的數(shù)據(jù)的類型之間的對應(yīng)關(guān)系來實現(xiàn)。本實施方式中,處理器612根據(jù)所述數(shù)據(jù)類型以及所述對應(yīng)關(guān)系,查找所述目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s470的具體細節(jié),以及與步驟s470相關(guān)的可能的實現(xiàn)方式所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,所述目標物理存儲塊存儲有其他數(shù)據(jù),所述其他數(shù)據(jù)的數(shù)據(jù)類型與所述數(shù)據(jù)的數(shù)據(jù)類型相同。本實施方式中,處理器612根據(jù)所述數(shù)據(jù)類型以及所述對應(yīng)關(guān)系,查找所述目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s470的具體細節(jié),以及與步驟s470相關(guān)的可能的實現(xiàn)方式所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,當(dāng)確定所述目標物理存儲塊處于待寫狀態(tài)時,所述處理器612,還用于將所述數(shù)據(jù)保存至所述目標物理存儲塊。本實施方式中,處理器612根據(jù)所述數(shù)據(jù)類型以及所述對應(yīng)關(guān)系,查找所述目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s470的具體細節(jié),以及與步驟s470相關(guān)的可能的實現(xiàn)方式所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,所述處理器612,還用于查詢所述目標物理存儲塊的剩余存儲容量;當(dāng)所述目標物理存儲塊的剩余存儲容量大于或等于所述數(shù)據(jù)的數(shù)據(jù)量時,所述處理器612,還用于將所述數(shù)據(jù)保存至所述目標物理存儲塊。本實施方式中,處理器612將所述數(shù)據(jù)保存至所述目標物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s470的具體細節(jié),以及與步驟s470相關(guān)的可能的實現(xiàn)方式所描述的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,當(dāng)預(yù)設(shè)條件到達時,所述處理器612,還用于將所述目標物理存儲塊中存儲的所述數(shù)據(jù)遷移至其他物理存儲塊,所述其他物理存儲塊的剩余存儲容量大于或等于所述數(shù)據(jù)的數(shù)據(jù)量,并且所述其他物理存儲塊存儲的數(shù)據(jù)的數(shù)據(jù)類型與所述數(shù)據(jù)的數(shù)據(jù)類型相同。本實施方式中,處理器612將所述數(shù)據(jù)保存至所述其他物理存儲塊的具體實現(xiàn)細節(jié),可以參考基于圖4所示的步驟s480之后的具體細節(jié),在這里不再贅述。作為一種可選的實施方式,處理器612還用于訪問目標物理存儲塊中的數(shù)據(jù),具體為讀取或者刪除目標物理存儲塊中的數(shù)據(jù),具體細節(jié)可以參考基于圖4所示的步驟s480之后的具體細節(jié),在這里不再贅述。本發(fā)明實施例提供了一種數(shù)據(jù)存儲方法及設(shè)備,所述方法應(yīng)用于存儲設(shè)備中,所述方法包括:存儲設(shè)備接收寫請求消息,寫請求消息包括數(shù)據(jù)和數(shù)據(jù)的關(guān)鍵字,關(guān)鍵字用于識別數(shù)據(jù)的數(shù)據(jù)類型;存儲設(shè)備根據(jù)關(guān)鍵字確定數(shù)據(jù)的數(shù)據(jù)類型。然后,存儲設(shè)備根據(jù)數(shù)據(jù)類型查找與數(shù)據(jù)類型匹配的目標物理存儲塊,目標物理存儲塊為物理地址連續(xù)的物理存儲塊;然后,存儲設(shè)備將數(shù)據(jù)保存至目標物理存儲塊。存儲設(shè)備根據(jù)關(guān)鍵字確定出數(shù)據(jù)的數(shù)據(jù)類型,將相同數(shù)據(jù)類型的數(shù)據(jù)存儲于地址連續(xù)的目標物理存儲塊中,避免隨機存儲相同類型的數(shù)據(jù)。如果需要查找或訪問相同類型的數(shù)據(jù),避免遍歷存儲的所有數(shù)據(jù),降低了數(shù)據(jù)查找和訪問時間,提高了數(shù)據(jù)的查找和訪問效率。另外,將相同數(shù)據(jù)類型的數(shù)據(jù)存儲于地址連續(xù)的目標物理存儲塊中,避免相同類型的數(shù)據(jù)存儲在不同的存儲介質(zhì)上,避免訪問相同類型的數(shù)據(jù)時,多次訪問存儲于不同存儲介質(zhì)上的數(shù)據(jù),降低了訪問時間,提高了數(shù)據(jù)的訪問效率。在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),設(shè)備和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實現(xiàn)時可以有另外的劃分方式,例如多個模塊或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)模塊上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理模塊中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能模塊的形式實現(xiàn)。上述以軟件功能模塊的形式實現(xiàn)的集成的模塊,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能模塊存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:移動硬盤、只讀存儲器、隨機存取存儲器、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的保護范圍。當(dāng)前第1頁12