塊的快照。
[0215]其中,在一種可能的實(shí)施方式中,所述快照標(biāo)示模塊,用于當(dāng)子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的余值大于或等于閾值或者大于閾值時(shí),將子值數(shù)據(jù)塊對(duì)應(yīng)的快照和合并子值數(shù)據(jù)塊對(duì)應(yīng)的快照標(biāo)示為“大于等于閾值”或者“大于閾值”,否則子值數(shù)據(jù)塊對(duì)應(yīng)的快照和合并子值數(shù)據(jù)塊對(duì)應(yīng)的快照標(biāo)示為“小于閾值”或者“小于等于閾值”。所述快照標(biāo)示模塊,也可以將快照標(biāo)示為其他的字符串或者數(shù)值等,來(lái)表征快照對(duì)應(yīng)的子值數(shù)據(jù)塊或者合并子值數(shù)據(jù)塊是否可以進(jìn)行扣減,例如,將快照標(biāo)示為1,表示可扣減,將快照標(biāo)示為0,表示不可扣減。
[0216]其中,所述快照更新判斷模塊,可以根據(jù)是否插入了合并流水來(lái)判斷當(dāng)前是否發(fā)生合并。
[0217]其中,所述快照更新控制模塊,當(dāng)有合并發(fā)生時(shí),使能數(shù)據(jù)塊快照更新模塊,則在用于當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的快照的版本號(hào)小于對(duì)應(yīng)的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的版本號(hào)時(shí),且當(dāng)發(fā)生合并時(shí),可以更新子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的快照,當(dāng)沒有合并發(fā)生時(shí),禁止數(shù)據(jù)塊快照更新模塊,則不能更新子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的快照。
[0218]為了描述的方便,描述以上裝置時(shí)以功能分為各種單元和模塊分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各單元和模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
[0219]本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。以上所描述的系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元和模塊可以是或者也可以不是物理上分開的,作為單元和模塊顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元或模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0220]需要說(shuō)明的是,在本文中,諸如“第一”和“第二”等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者逆序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、系統(tǒng)、設(shè)備、單元或模塊不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、系統(tǒng)、設(shè)備、單元或模塊所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、系統(tǒng)、設(shè)備、單元或模塊中還存在另外的相同要素。
[0221]以上所述僅是本申請(qǐng)的【具體實(shí)施方式】,使本領(lǐng)域技術(shù)人員能夠理解或?qū)崿F(xiàn)本申請(qǐng)。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō)將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本申請(qǐng)將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【主權(quán)項(xiàng)】
1.一種基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法,其特征在于,包括: 將數(shù)據(jù)總值分為多個(gè)子值,將子值分別存放于水平拆分的子值數(shù)據(jù)塊中; 當(dāng)子值數(shù)據(jù)塊的余值小于或等于閾值時(shí),合并余值碎片,所述余值碎片為所述子值數(shù)據(jù)塊的余值,所述合并余值碎片包括:將所述子值數(shù)據(jù)塊的余值合并至合并子值數(shù)據(jù)塊中,且設(shè)置所述子值數(shù)據(jù)塊的余值為零; 當(dāng)進(jìn)行扣減時(shí),合并子值數(shù)據(jù)塊參與扣減。2.如權(quán)利要求1所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法,其特征在于,所述閾值大于或等于最大扣減額且小于數(shù)據(jù)總值。3.如權(quán)利要求2所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法,其特征在于,當(dāng)進(jìn)行扣減時(shí),在余值大于或等于閾值的子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊中選取其中之一進(jìn)行扣減。4.如權(quán)利要求3所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法,其特征在于,還包括:當(dāng)子值數(shù)據(jù)塊的余值為零時(shí),設(shè)置所述子值數(shù)據(jù)塊的狀態(tài)為失效。5.根據(jù)權(quán)利要求4所述的基于數(shù)據(jù)塊的數(shù)據(jù)控制方法,其特征在于,當(dāng)進(jìn)行扣減時(shí),在余值大于或等于閾值的子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊中選取其中之一進(jìn)行扣減,包括: 當(dāng)進(jìn)行扣減時(shí),查詢子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的快照,在合并子值數(shù)據(jù)塊和有效的子值數(shù)據(jù)塊中隨機(jī)選取其中之一; 當(dāng)選取的為子值數(shù)據(jù)塊時(shí),在被選取的子值數(shù)據(jù)塊所在的數(shù)據(jù)庫(kù)上,鎖定被選取的子值數(shù)據(jù)塊的余值記錄; 對(duì)被選取的子值數(shù)據(jù)塊或者合并子值數(shù)據(jù)塊進(jìn)行扣減,并插入扣減流水。6.如權(quán)利要求1至5任一所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法,其特征在于,所述當(dāng)子值數(shù)據(jù)塊的余值小于或等于閾值時(shí),合并余值碎片,包括: 插入合并流水,合并流水的合并額等于所述子值數(shù)據(jù)塊的余值; 將所述子值數(shù)據(jù)塊的余值設(shè)置為零; 發(fā)起異步合并流程,所述異步合并流程包括: 讀取所述合并流水; 在合并子值數(shù)據(jù)塊所在的數(shù)據(jù)庫(kù)中,增加合并子值數(shù)據(jù)塊的余值,增加的額度等于合并流水的合并額; 將所述合并流水狀態(tài)設(shè)置為完成狀態(tài)。7.如權(quán)利要求6所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法,其特征在于,所述異步合并流程,在增加合并子值數(shù)據(jù)塊的余值后,還包括: 插入增加流水,增加流水以所述合并流水的主鍵值為唯一性約束。8.如權(quán)利要求7所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法,其特征在于,還包括: 建立合并補(bǔ)償后臺(tái)定時(shí)任務(wù),所述合并補(bǔ)償后臺(tái)定時(shí)任務(wù)周期性掃描合并流水和增加流水,當(dāng)存在合并流水對(duì)應(yīng)的增加流水為空時(shí),對(duì)所述合并流水重新執(zhí)行異步合并流程。9.如權(quán)利要求1所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法,其特征在于,還包括:快照更新流程,所述快照更新流程包括: 當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的余值發(fā)生變化時(shí),將所述子值數(shù)據(jù)塊或所述合并子值數(shù)據(jù)塊的版本號(hào)加I ; 當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的快照的版本號(hào)小于對(duì)應(yīng)的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的版本號(hào)時(shí),更新所述子值數(shù)據(jù)塊或所述合并子值數(shù)據(jù)塊的快照。10.如權(quán)利要求9所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法,其特征在于,所述快照更新流程,包括: 當(dāng)子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的余值大于或等于閾值時(shí),將子值數(shù)據(jù)塊對(duì)應(yīng)的快照和合并子值數(shù)據(jù)塊對(duì)應(yīng)的快照標(biāo)示為“可扣減”,否則將子值數(shù)據(jù)塊對(duì)應(yīng)的快照和合并子值數(shù)據(jù)塊對(duì)應(yīng)的快照標(biāo)示為“不可扣減”; 當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的余值發(fā)生變化時(shí),將所述子值數(shù)據(jù)塊或所述合并子值數(shù)據(jù)塊的版本號(hào)加I; 當(dāng)合并發(fā)生時(shí),且當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的快照的版本號(hào)小于對(duì)應(yīng)的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的版本號(hào)時(shí),更新所述子值數(shù)據(jù)塊或所述合并子值數(shù)據(jù)塊的快照。11.一種基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制系統(tǒng),其特征在于,包括: 數(shù)據(jù)總值拆分單元,用于將數(shù)據(jù)總值分為多個(gè)子值,并將子值分別存放于水平拆分的子值數(shù)據(jù)塊中; 合并子值數(shù)據(jù)塊生成單元,用于生成合并子值數(shù)據(jù)塊; 余值碎片合并單元,用于當(dāng)子值數(shù)據(jù)塊小于或等于閾值時(shí),將所述子值數(shù)據(jù)塊的余值合并至合并子值數(shù)據(jù)塊中,且設(shè)置所述子值數(shù)據(jù)塊的余值為零; 扣減單元,用于當(dāng)用戶發(fā)起扣減時(shí),在余值大于或等于閾值的子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊中選取其中之一進(jìn)行扣減。12.如權(quán)利要求11所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制系統(tǒng),其特征在于,所述閾值大于或等于扣減額且小于數(shù)據(jù)總值。13.如權(quán)利要求11所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制系統(tǒng),其特征在于,所述余值碎片合并單元,還包括: 數(shù)據(jù)塊狀態(tài)設(shè)置模塊,用于當(dāng)子值數(shù)據(jù)塊的余值為零時(shí),設(shè)置所述子值數(shù)據(jù)塊的狀態(tài)為失效。14.根據(jù)權(quán)利要求13所述的基于數(shù)據(jù)塊的數(shù)據(jù)控制系統(tǒng),其特征在于,所述扣減單元,包括: 快照查詢模塊,用于當(dāng)用戶發(fā)起扣減時(shí),查詢子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的快照; 數(shù)據(jù)塊選取模塊,用于在合并子值數(shù)據(jù)塊和有效的子值數(shù)據(jù)塊中隨機(jī)選取其中之一;數(shù)據(jù)塊鎖定模塊,用于當(dāng)選取的為子值數(shù)據(jù)塊時(shí),在被選取的子值數(shù)據(jù)塊所在的數(shù)據(jù)庫(kù)上,鎖定被選取的子值數(shù)據(jù)塊的余值記錄; 余值扣減模塊,用于對(duì)被選取的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊進(jìn)行扣減; 扣減流水插入模塊,在對(duì)被選取的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊進(jìn)行扣減后,插入扣減流水。15.如權(quán)利要求11至14任一所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制系統(tǒng),其特征在于,所述余值碎片合并單元,包括: 判斷模塊,用于判斷子值數(shù)據(jù)塊的余值是否小于或等于閾值; 合并流水插入模塊,用于當(dāng)子值數(shù)據(jù)塊的余值小于或等于閾值時(shí),插入合并流水,合并流水的合并額等于所述子值數(shù)據(jù)塊的余值; 置零模塊,用于將所述子值數(shù)據(jù)塊的余值設(shè)置為零; 異步合并模塊,所述異步合并模塊用于發(fā)起并執(zhí)行異步合并流程,所述異步合并模塊包括: 合并流水讀取子模塊,用于讀取所述合并流水; 余值合并子模塊,用于在合并子值數(shù)據(jù)塊所在的數(shù)據(jù)庫(kù)中,增加合并子值數(shù)據(jù)塊的余值,增加的額度等于合并流水的合并額; 合并流水狀態(tài)設(shè)置子模塊,用于將所述合并流水狀態(tài)設(shè)置為完成狀態(tài)。16.如權(quán)利要求15所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制系統(tǒng),其特征在于,所述異步合并模塊,還包括: 增加流水插入子模塊,用于在增加合并子值數(shù)據(jù)塊的余值后,插入增加流水,且增加流水以所述合并流水的主鍵值為唯一性約束。17.如權(quán)利要求16所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制系統(tǒng),其特征在于,還包括: 合并補(bǔ)償后臺(tái)定時(shí)任務(wù)單元,用于周期性掃描合并流水和增加流水,當(dāng)存在合并流水對(duì)應(yīng)的增加流水為空時(shí),對(duì)所述合并流水重新執(zhí)行異步合并流程。18.如權(quán)利要求11所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制系統(tǒng),其特征在于,還包括:快照更新單元,用于更新子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的快照,所述快照更新單元包括: 版本號(hào)變更模塊,用于當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的余值發(fā)生變化時(shí),將所述子值數(shù)據(jù)塊或所述合并子值數(shù)據(jù)塊的版本號(hào)加I ; 版本號(hào)判斷模塊,用于判斷子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的快照的版本號(hào)是否小于對(duì)應(yīng)的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的版本號(hào); 數(shù)據(jù)塊快照更新模塊,用于當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的快照的版本號(hào)小于對(duì)應(yīng)的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的版本號(hào)時(shí),更新所述子值數(shù)據(jù)塊或所述合并子值數(shù)據(jù)塊的快照。19.如權(quán)利要求18所述的基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制系統(tǒng),其特征在于,所述快照更新單元,還包括: 快照標(biāo)示模塊,用于當(dāng)子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的余值大于或等于閾值時(shí),將子值數(shù)據(jù)塊對(duì)應(yīng)的快照和合并子值數(shù)據(jù)塊對(duì)應(yīng)的快照標(biāo)示為“可扣減”,否則將子值數(shù)據(jù)塊對(duì)應(yīng)的快照和合并子值數(shù)據(jù)塊對(duì)應(yīng)的快照標(biāo)示為“不可扣減”; 快照更新判斷模塊,用于判斷當(dāng)前是否發(fā)生合并; 快照更新控制模塊,用于當(dāng)發(fā)生合并時(shí),使能所述數(shù)據(jù)塊快照更新模塊,否則,禁止所述數(shù)據(jù)塊快照更新模塊。
【專利摘要】本申請(qǐng)實(shí)施例公開了一種基于數(shù)據(jù)庫(kù)的數(shù)據(jù)控制方法及系統(tǒng),通過(guò)將數(shù)據(jù)總值分為多個(gè)子值,分別存放于水平拆分的多個(gè)子值數(shù)據(jù)塊中,使子值數(shù)據(jù)塊分布于不同的數(shù)據(jù)庫(kù),從而解決集中式數(shù)據(jù)控制存在的熱點(diǎn)問(wèn)題。通過(guò)設(shè)置合并子值數(shù)據(jù)塊,當(dāng)子值數(shù)據(jù)塊的余值小于閾值或者余值小于或等于閾值時(shí),采取碎片合并機(jī)制,將子值數(shù)據(jù)塊中的余值合并至合并子值數(shù)據(jù)塊中,并將被合并的子值數(shù)據(jù)塊的余值設(shè)為零,同時(shí)合并子值數(shù)據(jù)塊也參與扣減,從而使所有數(shù)據(jù)塊的總余值達(dá)到最小,最大程度地減少余值碎片的產(chǎn)生,避免資源和數(shù)據(jù)庫(kù)空間的浪費(fèi)。
【IPC分類】G06F17/30
【公開號(hào)】CN105335394
【申請(qǐng)?zhí)枴緾N201410333960
【發(fā)明人】邱碩
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司
【公開日】2016年2月17日
【申請(qǐng)日】2014年7月14日
【公告號(hào)】US20160012525, WO2016011067A1