所述預(yù)算標(biāo)識(shí)對(duì)應(yīng)的預(yù)算總額度的預(yù)設(shè)比例的部分額度作為所述內(nèi)存額度; 將所述內(nèi)存額度從當(dāng)前數(shù)據(jù)庫(kù)轉(zhuǎn)移至與所述預(yù)算標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前內(nèi)存分片,其中,所 述當(dāng)前內(nèi)存分片對(duì)應(yīng)保存有預(yù)先設(shè)定的多個(gè)預(yù)算標(biāo)識(shí)的多個(gè)內(nèi)存額度,所述當(dāng)前數(shù)據(jù)庫(kù)保 存有所述多個(gè)預(yù)算標(biāo)識(shí)的預(yù)算總額度中除了所述內(nèi)存額度之外的多個(gè)數(shù)據(jù)庫(kù)額度; 將轉(zhuǎn)移所述內(nèi)存額度的轉(zhuǎn)移記錄存儲(chǔ)至所述當(dāng)前數(shù)據(jù)庫(kù)。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 判斷所述內(nèi)存分片所在的機(jī)器是否滿足針對(duì)其保存的多個(gè)預(yù)算標(biāo)識(shí)而發(fā)起的數(shù)據(jù)處 理請(qǐng)求的響應(yīng),如果否,則將多個(gè)預(yù)算標(biāo)識(shí)按預(yù)設(shè)拆分規(guī)則分成多份,并將拆分后的多份預(yù) 算標(biāo)識(shí)中一份保存至當(dāng)前內(nèi)存分片,其他份預(yù)算標(biāo)識(shí)則對(duì)應(yīng)保存至多個(gè)其他內(nèi)存分片中; 將與當(dāng)前內(nèi)存分片對(duì)應(yīng)的當(dāng)前數(shù)據(jù)庫(kù)中的多個(gè)預(yù)算標(biāo)識(shí)按照同樣的方式分成多份,并 將拆分后的多份預(yù)算標(biāo)識(shí)中的一份保留在當(dāng)前DB,其他份預(yù)算標(biāo)識(shí)則對(duì)應(yīng)保存至多個(gè)其他 數(shù)據(jù)庫(kù)中。5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述內(nèi)存分片宕機(jī)并重新啟動(dòng)的情況 下,還包括: 判斷所述內(nèi)存分片對(duì)應(yīng)的數(shù)據(jù)庫(kù)當(dāng)前額度是否為零,如果否,則將所述數(shù)據(jù)庫(kù)當(dāng)前額 度的預(yù)設(shè)比例的部分額度存儲(chǔ)至所述內(nèi)存分片。6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 判斷所述扣減預(yù)算額度的操作是否成功,如果是,則通知用戶所述預(yù)算額度扣減成功; 如果否,則通知用戶所述預(yù)算額度扣減失敗。7. -種基于分布式內(nèi)存和數(shù)據(jù)庫(kù)的數(shù)據(jù)補(bǔ)償方法,其特征在于,該方法包括:數(shù)據(jù)處 理過(guò)程和數(shù)據(jù)補(bǔ)償過(guò)程; 其中,所述數(shù)據(jù)處理過(guò)程包括: 接收用戶觸發(fā)的數(shù)據(jù)處理請(qǐng)求,其中,所述數(shù)據(jù)處理請(qǐng)求包括:當(dāng)前預(yù)算數(shù)據(jù)的預(yù)算標(biāo) 識(shí)和預(yù)算額度; 依據(jù)所述預(yù)算標(biāo)識(shí)判斷存儲(chǔ)所述當(dāng)前預(yù)算數(shù)據(jù)的當(dāng)前內(nèi)存分片中的內(nèi)存額度是否大 于所述預(yù)算額度,如果是,則直接在所述當(dāng)前內(nèi)存分片中將所述內(nèi)存額度扣減所述預(yù)算額 度; 如果否,則依據(jù)所述預(yù)算標(biāo)識(shí)判斷存儲(chǔ)所述當(dāng)前內(nèi)存分片中存儲(chǔ)的當(dāng)前數(shù)據(jù)庫(kù)剩余額 度和所述內(nèi)存額度之和是否大于所述預(yù)算額度,如果是,則從所述當(dāng)前數(shù)據(jù)庫(kù)剩余額度和 內(nèi)存額度中扣減所述預(yù)算額度; 將所述扣減所述預(yù)算額度的記錄存儲(chǔ)至所述當(dāng)前數(shù)據(jù)庫(kù)中,所述當(dāng)前數(shù)據(jù)庫(kù)與所述當(dāng) 前內(nèi)存分片對(duì)應(yīng)保存相同預(yù)算標(biāo)識(shí)的預(yù)算數(shù)據(jù); 其中,所述數(shù)據(jù)補(bǔ)償過(guò)程包括: 依據(jù)待同步的預(yù)算標(biāo)識(shí)確定待處理的目標(biāo)數(shù)據(jù)庫(kù); 從所述目標(biāo)數(shù)據(jù)庫(kù)中獲取該預(yù)算標(biāo)識(shí)對(duì)應(yīng)的所有扣減記錄和轉(zhuǎn)移記錄,其中,所述轉(zhuǎn) 移記錄表示將額度從數(shù)據(jù)庫(kù)轉(zhuǎn)移至與內(nèi)存分片的記錄; 判斷所述所有轉(zhuǎn)移記錄所表示的轉(zhuǎn)移總額度值是否大于所述扣減記錄所表示的扣減 總額度值,如果是,則將所述轉(zhuǎn)移總額度值與所述扣減總額度值的差值作為數(shù)據(jù)庫(kù)補(bǔ)償額 度存儲(chǔ)至所述目標(biāo)數(shù)據(jù)庫(kù)中; 將存儲(chǔ)所述差值的記錄更新在所述目標(biāo)數(shù)據(jù)庫(kù)中。8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括: 從所述存儲(chǔ)差值的記錄讀取數(shù)據(jù)庫(kù)補(bǔ)償額度; 將數(shù)據(jù)庫(kù)補(bǔ)償額度發(fā)送至與所述目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的目標(biāo)內(nèi)存分片,以便所述目標(biāo)內(nèi)存 分片依據(jù)所述數(shù)據(jù)庫(kù)補(bǔ)償額度更新存儲(chǔ)數(shù)據(jù)庫(kù)剩余額度。9. 一種基于分布式內(nèi)存和數(shù)據(jù)庫(kù)的數(shù)據(jù)處理裝置,其特征在于,所述裝置包括: 接收請(qǐng)求單元,用于接收用戶觸發(fā)的數(shù)據(jù)處理請(qǐng)求,其中,所述數(shù)據(jù)處理請(qǐng)求包括:當(dāng) 前預(yù)算數(shù)據(jù)的預(yù)算標(biāo)識(shí)和預(yù)算額度; 第一判斷單元,用于依據(jù)所述預(yù)算標(biāo)識(shí)判斷存儲(chǔ)所述當(dāng)前預(yù)算數(shù)據(jù)的當(dāng)前內(nèi)存分片中 的內(nèi)存額度是否大于所述預(yù)算額度; 第一扣減單元,用于在所述第一判斷單元的結(jié)果為是的情況下,直接在所述當(dāng)前內(nèi)存 分片中將所述內(nèi)存額度扣減所述預(yù)算額度; 第二判斷單元,用于在所述第一判斷單元的結(jié)果為否的情況下,依據(jù)所述預(yù)算標(biāo)識(shí)判 斷所述當(dāng)前內(nèi)存分片中存儲(chǔ)的當(dāng)前數(shù)據(jù)庫(kù)剩余額度和所述內(nèi)存額度之和是否大于所述預(yù) 算額度; 第二扣減單元,用于在所述第二判斷模塊的結(jié)果為是的情況下,依據(jù)所述當(dāng)前數(shù)據(jù)庫(kù) 剩余額度和內(nèi)存額度扣減所述預(yù)算額度; 存儲(chǔ)扣減記錄單元,用于將所述扣減所述預(yù)算額度的扣減記錄存儲(chǔ)至所述當(dāng)前數(shù)據(jù)庫(kù) 中,所述當(dāng)前數(shù)據(jù)庫(kù)與所述當(dāng)前內(nèi)存分片對(duì)應(yīng)保存相同預(yù)算標(biāo)識(shí)的預(yù)算數(shù)據(jù)。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第二扣減單元具體包括: 獲取模塊,用于獲取所述預(yù)算額度和內(nèi)存額度的額度差; 第一扣減模塊,用于從所述當(dāng)前數(shù)據(jù)庫(kù)剩余額度中扣減所述額度差; 存儲(chǔ)模塊,用于將所述扣減的額度差存儲(chǔ)至所述當(dāng)前內(nèi)存分片中; 第二扣減模塊,用于在所述當(dāng)前內(nèi)存分片中將存儲(chǔ)所述額度差后的內(nèi)存額度扣減所述 預(yù)算額度。11. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括: 獲取額度單元,用于獲取所述預(yù)算標(biāo)識(shí)對(duì)應(yīng)的預(yù)算總額度的預(yù)設(shè)比例的部分額度作為 所述內(nèi)存額度; 轉(zhuǎn)移單元,用于將所述內(nèi)存額度從當(dāng)前數(shù)據(jù)庫(kù)轉(zhuǎn)移至與所述預(yù)算標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前內(nèi)存 分片,其中,所述當(dāng)前內(nèi)存分片對(duì)應(yīng)保存有預(yù)先設(shè)定的多個(gè)預(yù)算標(biāo)識(shí)的多個(gè)內(nèi)存額度,所述 當(dāng)前數(shù)據(jù)庫(kù)保存有所述多個(gè)預(yù)算標(biāo)識(shí)的預(yù)算總額度中除了所述內(nèi)存額度之外的多個(gè)數(shù)據(jù) 庫(kù)額度; 存儲(chǔ)轉(zhuǎn)移記錄單元,用于將轉(zhuǎn)移所述內(nèi)存額度的轉(zhuǎn)移記錄存儲(chǔ)至所述當(dāng)前數(shù)據(jù)庫(kù)。12. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括: 第三判斷單元,用于判斷所述內(nèi)存分片所在的機(jī)器是否滿足針對(duì)其保存的多個(gè)預(yù)算標(biāo) 識(shí)而發(fā)起的數(shù)據(jù)處理請(qǐng)求的響應(yīng); 內(nèi)存拆分單元,用于在所述第三判斷單元的結(jié)果為否的情況下,將多個(gè)預(yù)算標(biāo)識(shí)按預(yù) 設(shè)拆分規(guī)則分成多份; 內(nèi)存保存單元,用于并將拆分后的多份預(yù)算標(biāo)識(shí)中一份保存至當(dāng)前內(nèi)存分片,其他份 預(yù)算標(biāo)識(shí)則對(duì)應(yīng)保存至多個(gè)其他內(nèi)存分片中; 數(shù)據(jù)庫(kù)拆分單元,將與當(dāng)前內(nèi)存分片對(duì)應(yīng)的當(dāng)前數(shù)據(jù)庫(kù)中的多個(gè)預(yù)算標(biāo)識(shí)按照同樣的 方式分成多份; 數(shù)據(jù)庫(kù)保存單元,用于將拆分后的多份預(yù)算標(biāo)識(shí)中的一份保留在當(dāng)前數(shù)據(jù)庫(kù),其他份 預(yù)算標(biāo)識(shí)則對(duì)應(yīng)保存至多個(gè)其他數(shù)據(jù)庫(kù)中。13. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,在所述內(nèi)存分片宕機(jī)并重新啟動(dòng)的情況 下,還包括: 第四判斷單元,用于判斷所述內(nèi)存分片對(duì)應(yīng)的數(shù)據(jù)庫(kù)當(dāng)前額度是否為零; 加載單元,用于在所述第四判斷單元的結(jié)果為否的情況下,將所述數(shù)據(jù)庫(kù)當(dāng)前額度的 預(yù)設(shè)比例的部分額度存儲(chǔ)至所述內(nèi)存分片。14. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括: 第五判斷單元,用于判斷所述扣減預(yù)算額度的操作是否成功; 第一通知單元,用于在所述第五判斷單元的結(jié)果為是的情況下,通知用戶所述預(yù)算額 度扣減成功; 第二通知單元,用于在所述第五判斷單元的結(jié)果為否的情況下,通知用戶所述預(yù)算額 度扣減失敗。15. -種數(shù)據(jù)處理系統(tǒng),其特征在于,該系統(tǒng)包括:數(shù)據(jù)處理裝置和數(shù)據(jù)補(bǔ)償裝置,其 中,所述數(shù)據(jù)處理裝置包括: 接收請(qǐng)求單元,用于接收用戶觸發(fā)的數(shù)據(jù)處理請(qǐng)求,其中,所述數(shù)據(jù)處理請(qǐng)求包括:當(dāng) 前預(yù)算數(shù)據(jù)的預(yù)算標(biāo)識(shí)和預(yù)算額度; 第一判斷單元,用于依據(jù)所述預(yù)算標(biāo)識(shí)判斷存儲(chǔ)所述當(dāng)前預(yù)算數(shù)據(jù)的當(dāng)前內(nèi)存分片中 的內(nèi)存額度是否大于所述預(yù)算額度; 第一扣減單元,用于在所述第一判斷單元的結(jié)果為是的情況下,直接在所述當(dāng)前內(nèi)存 分片中將所述內(nèi)存額度扣減所述預(yù)算額度; 第二判斷單元,用于在所述第一判斷單元的結(jié)果為否的情況下,依據(jù)所述預(yù)算標(biāo)識(shí)判 斷所述當(dāng)前內(nèi)存分片中存儲(chǔ)的當(dāng)前數(shù)據(jù)庫(kù)剩余額度和所述內(nèi)存額度之和是否大于所述預(yù) 算額度; 第二扣減單元,用于在所述第二判斷模塊的結(jié)果為是的情況下,依據(jù)所述當(dāng)前數(shù)據(jù)庫(kù) 剩余額度和內(nèi)存額度扣減所述預(yù)算額度; 存儲(chǔ)扣減記錄單元,用于將所述扣減所述預(yù)算額度的扣減記錄存儲(chǔ)至所述當(dāng)前數(shù)據(jù)庫(kù) 中,所述當(dāng)前數(shù)據(jù)庫(kù)與所述當(dāng)前內(nèi)存分片對(duì)應(yīng)保存相同預(yù)算標(biāo)識(shí)的預(yù)算數(shù)據(jù); 所述數(shù)據(jù)補(bǔ)償裝置包括: 確定單元,用于依據(jù)待同步的預(yù)算標(biāo)識(shí)確定待處理的目標(biāo)數(shù)據(jù)庫(kù); 獲取記錄單元,用于從所述目標(biāo)數(shù)據(jù)庫(kù)中獲取該預(yù)算標(biāo)識(shí)對(duì)應(yīng)的所有扣減記錄和轉(zhuǎn)移 記錄,其中,所述轉(zhuǎn)移記錄表示將額度從數(shù)據(jù)庫(kù)轉(zhuǎn)移至與內(nèi)存分片的記錄; 第六判斷單元,用于判斷所述所有轉(zhuǎn)移記錄所表示的轉(zhuǎn)移總額度值是否大于所述扣減 記錄所表示的扣減總額度值; 存儲(chǔ)補(bǔ)償額度單元,用于在所述第六判斷單元的結(jié)果為是的情況下,將所述轉(zhuǎn)移總額 度值與所述扣減總額度值的差值作為數(shù)據(jù)庫(kù)補(bǔ)償額度存儲(chǔ)至所述目標(biāo)數(shù)據(jù)庫(kù)中; 更新單元,用于將存儲(chǔ)所述差值的記錄更新在所述目標(biāo)數(shù)據(jù)庫(kù)中。16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述數(shù)據(jù)補(bǔ)償裝置還包括: 讀取額度單元,用于從所述存儲(chǔ)差值的記錄讀取數(shù)據(jù)庫(kù)補(bǔ)償額度; 發(fā)送單元,用于將數(shù)據(jù)庫(kù)補(bǔ)償額度發(fā)送至與所述目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的目標(biāo)內(nèi)存分片,以 便所述目標(biāo)內(nèi)存分片依據(jù)所述數(shù)據(jù)庫(kù)補(bǔ)償額度更新存儲(chǔ)數(shù)據(jù)庫(kù)剩余額度。
【專利摘要】本申請(qǐng)?zhí)峁┝艘环N基于分布式內(nèi)存和數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法、裝置和系統(tǒng),所述方法包括:接收用戶觸發(fā)的數(shù)據(jù)處理請(qǐng)求,依據(jù)預(yù)算標(biāo)識(shí)判斷存儲(chǔ)當(dāng)前預(yù)算數(shù)據(jù)的當(dāng)前內(nèi)存分片中的內(nèi)存額度是否大于所述預(yù)算額度,如果是,則直接在當(dāng)前內(nèi)存分片中將所述內(nèi)存額度扣減所述預(yù)算額度;如果否,則依據(jù)預(yù)算標(biāo)識(shí)判斷當(dāng)前內(nèi)存分片中存儲(chǔ)的當(dāng)前數(shù)據(jù)庫(kù)DB剩余額度和內(nèi)存額度之和是否大于所述預(yù)算額度,如果是,則依據(jù)當(dāng)前DB剩余額度和內(nèi)存額度扣減所述預(yù)算額度;將扣減所述預(yù)算額度的扣減記錄存儲(chǔ)至當(dāng)前DB中。采用本申請(qǐng)的實(shí)施例,既能提升數(shù)據(jù)處理性能,滿足高并發(fā)請(qǐng)求,并且也能節(jié)省DB的數(shù)量,從而節(jié)省成本。
【IPC分類】G06F17/30, G06F12/02
【公開(kāi)號(hào)】CN105335297
【申請(qǐng)?zhí)枴緾N201410384269
【發(fā)明人】劉晟東
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司
【公開(kāi)日】2016年2月17日
【申請(qǐng)日】2014年8月6日
【公告號(hào)】WO2016019803A1