述數(shù)值寫入所述存儲(chǔ)頁(yè)。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述時(shí)間粒度為"一天",所述存儲(chǔ)文件以 "一天"為單位進(jìn)行存儲(chǔ); 所述存儲(chǔ)服務(wù)器用所述時(shí)間戳對(duì)預(yù)設(shè)的時(shí)間粒度取模,獲取整數(shù)部分和余數(shù)部分,根 據(jù)所述整數(shù)部分確定所述存儲(chǔ)服務(wù)器上用于存儲(chǔ)所述數(shù)值的存儲(chǔ)文件,根據(jù)所述存儲(chǔ)標(biāo)識(shí) 確定所述存儲(chǔ)文件中用于存儲(chǔ)所述數(shù)值的存儲(chǔ)頁(yè),并根據(jù)所述余數(shù)部分確定所述數(shù)值在所 述存儲(chǔ)頁(yè)內(nèi)的起始位置,包括: 所述存儲(chǔ)服務(wù)器用所述時(shí)間戳對(duì)所述時(shí)間粒度取模,獲取所述整數(shù)部分作為所述時(shí)間 戳中的日期,根據(jù)所述余數(shù)部分確定所述時(shí)間戳中偏離所述日期的分鐘數(shù); 所述存儲(chǔ)服務(wù)器確定以所述日期命名的文件作為所述存儲(chǔ)文件,將所述存儲(chǔ)標(biāo)識(shí)與單 個(gè)存儲(chǔ)頁(yè)占用的字節(jié)數(shù)相乘的結(jié)果作為所述存儲(chǔ)頁(yè)在所述存儲(chǔ)文件中的起始位置,將所述 分鐘數(shù)與每分鐘內(nèi)數(shù)值占用的字節(jié)數(shù)相乘的結(jié)果作為所述數(shù)值在所述存儲(chǔ)頁(yè)內(nèi)的起始位 置。4. 根據(jù)權(quán)利要求1或2或3所述的方法,其特征在于,所述客戶端確定所述關(guān)鍵字對(duì)應(yīng) 的元數(shù)據(jù),包括: 當(dāng)所述元數(shù)據(jù)不存在所述客戶端本地時(shí),所述客戶端向元數(shù)據(jù)服務(wù)器發(fā)送獲取請(qǐng)求, 所述獲取請(qǐng)求包括所述關(guān)鍵字; 所述元數(shù)據(jù)服務(wù)器根據(jù)所述獲取請(qǐng)求,確定所述元數(shù)據(jù); 所述元數(shù)據(jù)服務(wù)器將所述元數(shù)據(jù)發(fā)送給所述客戶端。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述元數(shù)據(jù)服務(wù)器根據(jù)所述獲取請(qǐng)求,確 定所述元數(shù)據(jù),包括: 所述元數(shù)據(jù)服務(wù)器根據(jù)所述關(guān)鍵字在本地查詢,以判斷所述元數(shù)據(jù)是否存在本地; 當(dāng)所述元數(shù)據(jù)存在本地時(shí),所述元數(shù)據(jù)服務(wù)器從本地獲取所述元數(shù)據(jù); 當(dāng)所述元數(shù)據(jù)不存在本地時(shí),所述元數(shù)據(jù)服務(wù)器按照預(yù)設(shè)的分配規(guī)則為所述關(guān)鍵字分 配所述元數(shù)據(jù)。6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括: 所述元數(shù)據(jù)服務(wù)器在為所述關(guān)鍵字分配所述元數(shù)據(jù)之后,將所述關(guān)鍵字和所述元數(shù)據(jù) 對(duì)應(yīng)存儲(chǔ)在本地。7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括: 當(dāng)所述關(guān)鍵字被刪除時(shí),所述元數(shù)據(jù)服務(wù)器回收所述元數(shù)據(jù)。8. -種數(shù)據(jù)查詢方法,其特征在于,包括: 客戶端獲取待查詢數(shù)值對(duì)應(yīng)的關(guān)鍵字和時(shí)間戳; 所述客戶端確定所述關(guān)鍵字對(duì)應(yīng)的元數(shù)據(jù),所述元數(shù)據(jù)包括存儲(chǔ)服務(wù)器的標(biāo)識(shí)和存儲(chǔ) 標(biāo)識(shí); 所述客戶端根據(jù)所述存儲(chǔ)服務(wù)器的標(biāo)識(shí),向所述存儲(chǔ)服務(wù)器發(fā)送讀請(qǐng)求,所述讀請(qǐng)求 包括所述時(shí)間戳和所述存儲(chǔ)標(biāo)識(shí); 所述存儲(chǔ)服務(wù)器從所述存儲(chǔ)標(biāo)識(shí)和所述時(shí)間戳指示的存儲(chǔ)位置讀取所述數(shù)值,并將所 述數(shù)值發(fā)送給所述客戶端。9. 根據(jù)權(quán)利要求8所述的方法,其特征在于,所述存儲(chǔ)服務(wù)器從所述存儲(chǔ)標(biāo)識(shí)和所述 時(shí)間戳指示的存儲(chǔ)位置讀取所述數(shù)值,包括: 所述存儲(chǔ)服務(wù)器用所述時(shí)間戳對(duì)預(yù)設(shè)的時(shí)間粒度取模,獲取整數(shù)部分和余數(shù)部分,根 據(jù)所述整數(shù)部分確定所述存儲(chǔ)服務(wù)器上用于存儲(chǔ)所述數(shù)值的存儲(chǔ)文件,根據(jù)所述存儲(chǔ)標(biāo)識(shí) 確定所述存儲(chǔ)文件中用于存儲(chǔ)所述數(shù)值的存儲(chǔ)頁(yè),并根據(jù)所述余數(shù)部分確定所述數(shù)值在所 述存儲(chǔ)頁(yè)內(nèi)的起始位置; 所述存儲(chǔ)服務(wù)器自所述起始位置開(kāi)始從所述存儲(chǔ)頁(yè)中讀取所述數(shù)值。10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述時(shí)間粒度為"一天",所述存儲(chǔ)文件 以"一天"為單位進(jìn)行存儲(chǔ); 所述存儲(chǔ)服務(wù)器用所述時(shí)間戳對(duì)預(yù)設(shè)的時(shí)間粒度取模,獲取整數(shù)部分和余數(shù)部分,根 據(jù)所述整數(shù)部分確定所述存儲(chǔ)服務(wù)器上用于存儲(chǔ)所述數(shù)值的存儲(chǔ)文件,根據(jù)所述存儲(chǔ)標(biāo)識(shí) 確定所述存儲(chǔ)文件中用于存儲(chǔ)所述數(shù)值的存儲(chǔ)頁(yè),并根據(jù)所述余數(shù)部分確定所述數(shù)值在所 述存儲(chǔ)頁(yè)內(nèi)的起始位置,包括: 所述存儲(chǔ)服務(wù)器用所述時(shí)間戳對(duì)所述時(shí)間粒度取模,獲取所述整數(shù)部分作為所述時(shí)間 戳中的日期,根據(jù)所述余數(shù)部分確定所述時(shí)間戳中偏離所述日期的分鐘數(shù); 所述存儲(chǔ)服務(wù)器確定以所述日期命名的文件作為所述存儲(chǔ)文件,將所述存儲(chǔ)標(biāo)識(shí)與單 個(gè)存儲(chǔ)頁(yè)占用的字節(jié)數(shù)相乘的結(jié)果作為所述存儲(chǔ)頁(yè)在所述存儲(chǔ)文件中的起始位置,將所述 分鐘數(shù)與每分鐘內(nèi)數(shù)值占用的字節(jié)數(shù)相乘的結(jié)果作為所述數(shù)值在所述存儲(chǔ)頁(yè)內(nèi)的起始位 置。11. 一種客戶端,其特征在于,包括: 獲取模塊,用于獲取數(shù)據(jù)記錄,所述數(shù)據(jù)記錄包括關(guān)鍵字、時(shí)間戳和數(shù)值; 確定模塊,用于確定所述關(guān)鍵字對(duì)應(yīng)的元數(shù)據(jù),所述元數(shù)據(jù)包括存儲(chǔ)服務(wù)器的標(biāo)識(shí)和 存儲(chǔ)標(biāo)識(shí); 發(fā)送模塊,用于根據(jù)所述存儲(chǔ)服務(wù)器的標(biāo)識(shí),向所述存儲(chǔ)服務(wù)器發(fā)送寫入請(qǐng)求,以使所 述存儲(chǔ)服務(wù)器將所述數(shù)值存儲(chǔ)到所述存儲(chǔ)標(biāo)識(shí)和所述時(shí)間戳指示的存儲(chǔ)位置;所述寫入請(qǐng) 求包括所述存儲(chǔ)標(biāo)識(shí)、所述時(shí)間戳和所述數(shù)值。12. 根據(jù)權(quán)利要求11所述的客戶端,其特征在于,所述確定模塊具體用于在所述元數(shù) 據(jù)不存在所述客戶端本地時(shí),向元數(shù)據(jù)服務(wù)器發(fā)送獲取請(qǐng)求,接收所述元數(shù)據(jù)服務(wù)器根據(jù) 所述獲取請(qǐng)求確定并返回的所述元數(shù)據(jù);所述獲取請(qǐng)求包括所述關(guān)鍵字。13. -種存儲(chǔ)服務(wù)器,其特征在于,包括: 接收模塊,用于接收客戶端根據(jù)存儲(chǔ)服務(wù)器的標(biāo)識(shí)發(fā)送的寫入請(qǐng)求;所述寫入請(qǐng)求包 括存儲(chǔ)標(biāo)識(shí)、數(shù)據(jù)記錄中的時(shí)間戳以及所述數(shù)據(jù)記錄中的數(shù)值,所述存儲(chǔ)標(biāo)識(shí)是所述客戶 端根據(jù)所述數(shù)據(jù)記錄中的關(guān)鍵字確定的; 寫入模塊,用于將所述數(shù)值存儲(chǔ)到所述存儲(chǔ)標(biāo)識(shí)和所述時(shí)間戳指示的存儲(chǔ)位置。14. 根據(jù)權(quán)利要求13所述的存儲(chǔ)服務(wù)器,其特征在于,所述寫入模塊具體用于用所述 時(shí)間戳對(duì)預(yù)設(shè)的時(shí)間粒度取模,獲取整數(shù)部分和余數(shù)部分,根據(jù)所述整數(shù)部分確定所述存 儲(chǔ)服務(wù)器上用于存儲(chǔ)所述數(shù)值的存儲(chǔ)文件,根據(jù)所述存儲(chǔ)標(biāo)識(shí)確定所述存儲(chǔ)文件中用于存 儲(chǔ)所述數(shù)值的存儲(chǔ)頁(yè),并根據(jù)所述余數(shù)部分確定所述數(shù)值在所述存儲(chǔ)頁(yè)內(nèi)的起始位置,自 所述起始位置開(kāi)始將所述數(shù)值寫入所述存儲(chǔ)頁(yè)。15. 根據(jù)權(quán)利要求14所述的存儲(chǔ)服務(wù)器,其特征在于,所述時(shí)間粒度為"一天",所述存 儲(chǔ)文件以"一天"為單位進(jìn)行存儲(chǔ); 所述寫入模塊具體用于用所述時(shí)間戳對(duì)所述時(shí)間粒度取模,獲取所述整數(shù)部分作為所 述時(shí)間戳中的日期,根據(jù)所述余數(shù)部分確定所述時(shí)間戳中偏離所述日期的分鐘數(shù),確定以 所述日期命名的文件作為所述存儲(chǔ)文件,將所述存儲(chǔ)標(biāo)識(shí)與單個(gè)存儲(chǔ)頁(yè)占用的字節(jié)數(shù)相乘 的結(jié)果作為所述存儲(chǔ)頁(yè)在所述存儲(chǔ)文件中的起始位置,將所述分鐘數(shù)與每分鐘內(nèi)數(shù)值占用 的字節(jié)數(shù)相乘的結(jié)果作為所述數(shù)值在所述存儲(chǔ)頁(yè)內(nèi)的起始位置,自所述起始位置開(kāi)始將所 述數(shù)值寫入所述存儲(chǔ)頁(yè)。16. 根據(jù)權(quán)利要求13或14或15所述的存儲(chǔ)服務(wù)器,其特征在于,還包括: 元數(shù)據(jù)獲取模塊,用于根據(jù)所述關(guān)鍵字在本地查詢,以判斷所述元數(shù)據(jù)是否存在本地, 并在所述元數(shù)據(jù)存在本地時(shí),從本地獲取所述元數(shù)據(jù),或者,在所述元數(shù)據(jù)不存在本地時(shí), 按照預(yù)設(shè)的分配規(guī)則為所述關(guān)鍵字分配所述元數(shù)據(jù)。17. 根據(jù)權(quán)利要求16所述的存儲(chǔ)服務(wù)器,其特征在于,還包括: 存儲(chǔ)模塊,用于在所述元數(shù)據(jù)獲取模塊為所述關(guān)鍵字分配所述元數(shù)據(jù)之后,將所述關(guān) 鍵字和所述元數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)在本地。18. 根據(jù)權(quán)利要求17所述的存儲(chǔ)服務(wù)器,其特征在于,還包括: 回收模塊,用于在所述關(guān)鍵字被刪除時(shí),回收所述元數(shù)據(jù)。19. 一種客戶端,其特征在于,包括: 獲取模塊,用于獲取待查詢數(shù)值對(duì)應(yīng)的關(guān)鍵字和時(shí)間戳; 確定模塊,用于確定所述關(guān)鍵字對(duì)應(yīng)的元數(shù)據(jù),所述元數(shù)據(jù)包括存儲(chǔ)服務(wù)器的標(biāo)識(shí)和 存儲(chǔ)標(biāo)識(shí); 發(fā)送模塊,用于根據(jù)所述存儲(chǔ)服務(wù)器的標(biāo)識(shí),向所述存儲(chǔ)服務(wù)器發(fā)送讀請(qǐng)求,以使所述 存儲(chǔ)服務(wù)器從所述存儲(chǔ)標(biāo)識(shí)和所述時(shí)間戳指示的存儲(chǔ)位置讀取所述數(shù)值,所述讀請(qǐng)求包括 所述時(shí)間戳和所述存儲(chǔ)標(biāo)識(shí); 接收模塊,用于接收所述存儲(chǔ)服務(wù)器發(fā)送的所述數(shù)值。20. -種存儲(chǔ)服務(wù)器,其特征在于,包括: 接收模塊,用于接收客戶端根據(jù)存儲(chǔ)服務(wù)器的標(biāo)識(shí)發(fā)送的讀請(qǐng)求,所述讀請(qǐng)求包括待 查詢數(shù)值對(duì)應(yīng)的時(shí)間戳和存儲(chǔ)標(biāo)識(shí),所述存儲(chǔ)標(biāo)識(shí)是所述客戶端根據(jù)所述數(shù)值對(duì)應(yīng)的關(guān)鍵 字確定的; 讀取模塊,用于從所述存儲(chǔ)標(biāo)識(shí)和所述時(shí)間戳指示的存儲(chǔ)位置讀取所述數(shù)值; 發(fā)送模塊,用于將所述數(shù)值發(fā)送給所述客戶端。21. 根據(jù)權(quán)利要求20所述的存儲(chǔ)服務(wù)器,其特征在于,所述讀取模塊具體用于用所述 時(shí)間戳對(duì)預(yù)設(shè)的時(shí)間粒度取模,獲取整數(shù)部分和余數(shù)部分,根據(jù)所述整數(shù)部分確定所述存 儲(chǔ)服務(wù)器上用于存儲(chǔ)所述數(shù)值的存儲(chǔ)文件,根據(jù)所述存儲(chǔ)標(biāo)識(shí)確定所述存儲(chǔ)文件中用于存 儲(chǔ)所述數(shù)值的存儲(chǔ)頁(yè),并根據(jù)所述余數(shù)部分確定所述數(shù)值在所述存儲(chǔ)頁(yè)內(nèi)的起始位置,自 所述起始位置開(kāi)始從所述存儲(chǔ)頁(yè)中讀取所述數(shù)值。22. 根據(jù)權(quán)利要求21所述的存儲(chǔ)服務(wù)器,其特征在于,所述時(shí)間粒度為"一天",所述存 儲(chǔ)文件以"一天"為單位進(jìn)行存儲(chǔ); 所述讀取模塊具體用于用所述時(shí)間戳對(duì)所述時(shí)間粒度取模,獲取所述整數(shù)部分作為所 述時(shí)間戳中的日期,根據(jù)所述余數(shù)部分確定所述時(shí)間戳中偏離所述日期的分鐘數(shù),確定以 所述日期命名的文件作為所述存儲(chǔ)文件,將所述存儲(chǔ)標(biāo)識(shí)與單個(gè)存儲(chǔ)頁(yè)占用的字節(jié)數(shù)相乘 的結(jié)果作為所述存儲(chǔ)頁(yè)在所述存儲(chǔ)文件中的起始位置,將所述分鐘數(shù)與每分鐘內(nèi)數(shù)值占用 的字節(jié)數(shù)相乘的結(jié)果作為所述數(shù)值在所述存儲(chǔ)頁(yè)內(nèi)的起始位置,自所述起始位置開(kāi)始從所 述存儲(chǔ)頁(yè)中讀取所述數(shù)值。
【專利摘要】本發(fā)明提供一種數(shù)據(jù)存儲(chǔ)和查詢方法及設(shè)備,利用元數(shù)據(jù)中的存儲(chǔ)服務(wù)器的標(biāo)識(shí)指示數(shù)值所屬的存儲(chǔ)服務(wù)器,利用時(shí)間戳和元數(shù)據(jù)中的存儲(chǔ)標(biāo)識(shí)共同指示數(shù)值在存儲(chǔ)服務(wù)器上的存儲(chǔ)位置,基于此對(duì)數(shù)值進(jìn)行存儲(chǔ)和查詢,使得存儲(chǔ)服務(wù)器不用再為時(shí)間戳建立次級(jí)索引,避免了為時(shí)間戳建立次級(jí)索引影響存儲(chǔ)系統(tǒng)性能的問(wèn)題,同時(shí)檢索不再基于時(shí)間戳的次級(jí)索引,避免了通過(guò)次級(jí)索引檢索數(shù)值時(shí)帶來(lái)的I/O開(kāi)銷,提高存儲(chǔ)和查詢速度。
【IPC分類】G06F17/30
【公開(kāi)號(hào)】CN105224546
【申請(qǐng)?zhí)枴緾N201410244517
【發(fā)明人】?jī)?chǔ)曉穎
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司
【公開(kāi)日】2016年1月6日
【申請(qǐng)日】2014年6月4日