亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于數(shù)據(jù)庫的數(shù)據(jù)控制方法及系統(tǒng)的制作方法_4

文檔序號(hào):9579282閱讀:來源:國知局
述簡(jiǎn)明方便,省略開始的數(shù)據(jù)總值分為多個(gè)子值和將子值存放于水平拆分的子值數(shù)據(jù)塊中的過程,以一個(gè)已經(jīng)發(fā)生過扣減的當(dāng)前總余值為54的數(shù)據(jù)控制為例,此時(shí)的總余值相當(dāng)于當(dāng)前的數(shù)據(jù)總值,其存放于4個(gè)水平拆分的子值數(shù)據(jù)塊中。
[0150]將4個(gè)子值數(shù)據(jù)塊分別標(biāo)示為1號(hào)、2號(hào)、3號(hào)和4號(hào),1號(hào)的余值為15,2號(hào)的余值為0(狀態(tài)為失效),3號(hào)的余值為17,4號(hào)的余值為22。其中,隨機(jī)選取了 4號(hào)子值數(shù)據(jù)塊作為合并子值數(shù)據(jù)塊。該數(shù)據(jù)控制的扣減額為6,設(shè)定閾值為10。以進(jìn)行一次扣減為例,說明數(shù)據(jù)控制的流程:
[0151](1)當(dāng)進(jìn)行一次扣減時(shí),查詢子值數(shù)據(jù)塊的快照。查詢得到1號(hào)、3號(hào)和4號(hào)子值數(shù)據(jù)塊有效,且余值皆大于閾值。隨機(jī)選取了 1號(hào)子值數(shù)據(jù)塊進(jìn)行扣減;
[0152](2)在1號(hào)子值數(shù)據(jù)塊所在的數(shù)據(jù)庫上,開啟第一事務(wù),鎖1號(hào)子值數(shù)據(jù)塊的余值記錄;
[0153](3)將1號(hào)子值數(shù)據(jù)塊的余值扣減至9,并插入一條值為6的扣減流水;
[0154](4)判斷得到此時(shí)的余值9小于10 (閾值);
[0155](5)插入一條值為9的合并流水,將其狀態(tài)設(shè)置為INIT (Initial的簡(jiǎn)寫,表示初始狀態(tài));
[0156](6)將1號(hào)子值數(shù)據(jù)塊的余值減至0,并將1號(hào)子值數(shù)據(jù)塊在狀態(tài)設(shè)置為失效,提交第一事務(wù);
[0157](7)發(fā)起異步合并流程和快照更新流程;
[0158]此時(shí)4個(gè)子值數(shù)據(jù)塊的余值的和為0+0+17+22 = 39,而54的總余值扣減6之后應(yīng)為48,差值9記錄在合并流水中,將由異步合并流程回加至4號(hào)子值數(shù)據(jù)塊(合并子值數(shù)據(jù)塊),異步合并流程為:
[0159](8)讀取步驟(5)插入的值為9的合并流水;
[0160](9)在合并子值數(shù)據(jù)塊(4號(hào)子值數(shù)據(jù)塊)所在的數(shù)據(jù)庫中,開啟第二事務(wù),將合并子值數(shù)據(jù)塊的余值增加9 ;
[0161](10)插入一條值為9的增加流水,插入成功后提交第二事務(wù);
[0162](11)將合并流水狀態(tài)改為SUSS (Success的簡(jiǎn)寫,成功),即將合并流水的狀態(tài)改為完成狀態(tài)。
[0163]此時(shí)合并完成,4個(gè)子值數(shù)據(jù)塊的余值的和為48。
[0164]其中,第一事務(wù)主要負(fù)責(zé)在子值數(shù)據(jù)塊的余值中減去扣減額,以及當(dāng)子值數(shù)據(jù)塊的余值小于閾值時(shí),將子值數(shù)據(jù)塊的余值減至零,并設(shè)置子值數(shù)據(jù)塊的狀態(tài)為失效;第二事務(wù)主要負(fù)責(zé)對(duì)合并子值數(shù)據(jù)塊的余值進(jìn)行增加,并插入增加流水。需要說明的是,數(shù)據(jù)庫事務(wù)為數(shù)據(jù)庫常規(guī)技術(shù)手段,為一系列操作的虛擬集合,可以根據(jù)需要選擇哪些操作構(gòu)成一個(gè)事務(wù),數(shù)據(jù)庫事務(wù)為數(shù)據(jù)庫處理的基本程序元素,為隱含存在,因此是否在流程中明示數(shù)據(jù)庫事務(wù)并不影響本申請(qǐng)的原理和應(yīng)用。
[0165]其中步驟(7)發(fā)起的快照更新流程可參見前述的快照更新流程。
[0166]需要說明的是,通常是并發(fā)地進(jìn)行扣減,扣減操作、合并操作和快照更新操作等也是并發(fā)地進(jìn)行,但每一次進(jìn)行扣減時(shí),處理的過程都相同,為簡(jiǎn)明清楚地說明本申請(qǐng)的原理和應(yīng)用,以上實(shí)施例和應(yīng)用案例皆是以進(jìn)行一次扣減為例來說明本申請(qǐng)的,本領(lǐng)域技術(shù)人員可以容易地由一次扣減的情況推斷出并發(fā)處理的情況。
[0167]通過以上的方法實(shí)施例的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,并存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)智能設(shè)備執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁碟或者光盤等各種可以存儲(chǔ)數(shù)據(jù)和程序代碼的介質(zhì)。
[0168]圖3為本申請(qǐng)一示例性實(shí)施例示出的一種基于數(shù)據(jù)庫的數(shù)據(jù)控制系統(tǒng)的框圖。如圖3所不,在一種可能的實(shí)施方式中,所述系統(tǒng)可以包括:
[0169]數(shù)據(jù)總值拆分單元U301,用于將數(shù)據(jù)總值分為多個(gè)子值,并將子值分別存放于水平拆分的子值數(shù)據(jù)塊中;
[0170]合并子值數(shù)據(jù)塊生成單元U302,與U301連接,用于生成合并子值數(shù)據(jù)塊;
[0171]所述合并子值數(shù)據(jù)塊生成單元可以在子值數(shù)據(jù)塊之外,另外開辟數(shù)據(jù)塊作為合并子值數(shù)據(jù)塊,其初始余值為零;或者,選取子值數(shù)據(jù)塊其中之一作為合并子值數(shù)據(jù)塊,選取方式可以為隨機(jī)選取,也可以選擇余值最小的子值數(shù)據(jù)塊為合并子值數(shù)據(jù)塊。選取子值數(shù)據(jù)塊其中之一作為合并子值數(shù)據(jù)塊為優(yōu)選方式,有利于節(jié)省數(shù)據(jù)庫空間。
[0172]余值碎片合并單元U303,與U301和U302連接,用于當(dāng)子值數(shù)據(jù)塊小于或等于閾值時(shí),將所述子值數(shù)據(jù)塊的余值合并至合并子值數(shù)據(jù)塊中,且設(shè)置所述子值數(shù)據(jù)塊的余值為
v=j=,
令;
[0173]其中,所述閾值大于或等于扣減額且小于數(shù)據(jù)總值。
[0174]扣減單元U304,與U301、U302和U303連接,用于當(dāng)用戶發(fā)起扣減時(shí),在余值大于或等于閾值的子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊中選取其中之一進(jìn)行扣減。
[0175]圖4為本申請(qǐng)一示例性實(shí)施例示出的圖3所示系統(tǒng)中余值碎片合并單元的框圖。如圖4所示,在一種可能的實(shí)施方式中,所述余值碎片合并單元U303,可以包括:
[0176]判斷模塊U401,用于判斷子值數(shù)據(jù)塊的余值是否小于或等于閾值;
[0177]合并流水插入模塊U402,與U401連接,用于當(dāng)子值數(shù)據(jù)塊的余值小于或等于閾值時(shí),插入合并流水,合并流水的合并額等于所述子值數(shù)據(jù)塊的余值;
[0178]置零模塊U403,與U402連接,用于將所述子值數(shù)據(jù)塊的余值設(shè)置為零;
[0179]異步合并模塊U404,與U402和U403連接,所述異步合并模塊用于發(fā)起并執(zhí)行異步合并流程,所述異步合并模塊包括:
[0180]合并流水讀取子模塊U4041,用于讀取所述合并流水;
[0181]余值合并子模塊U4042,與U4041連接,用于在合并子值數(shù)據(jù)塊所在的數(shù)據(jù)庫中,增加合并子值數(shù)據(jù)塊的余值,增加的額度等于合并流水的合并額;
[0182]合并流水狀態(tài)設(shè)置子模塊U4043,與U4042連接,用于將所述合并流水狀態(tài)設(shè)置為完成狀態(tài)。
[0183]在增加合并子值數(shù)據(jù)塊的余值后,即余值合并完成后,合并流水狀態(tài)設(shè)置子模塊U407將合并流水狀態(tài)設(shè)置為完成狀態(tài)。
[0184]圖5為本申請(qǐng)另一示例性實(shí)施例示出的圖3所示系統(tǒng)中余值碎片合并單元的框圖。如圖5所示,在一種可能的實(shí)施方式中,所述余值碎片合并單元U303,可以包括:
[0185]判斷模塊U501,用于判斷子值數(shù)據(jù)塊的余值是否小于或等于閾值;
[0186]合并流水插入模塊U502,與U501連接,用于當(dāng)子值數(shù)據(jù)塊的余值小于或等于閾值時(shí),插入合并流水,合并流水的合并額等于所述子值數(shù)據(jù)塊的余值;
[0187]置零模塊U503,與U502連接,用于將所述子值數(shù)據(jù)塊的余值設(shè)置為零;
[0188]數(shù)據(jù)塊狀態(tài)設(shè)置模塊U504,與U503連接,用于當(dāng)子值數(shù)據(jù)塊的余值為零時(shí),設(shè)置所述子值數(shù)據(jù)塊的狀態(tài)為失效。
[0189]異步合并模塊U505,與U502和U504連接,所述異步合并模塊用于發(fā)起并執(zhí)行異步合并流程,所述異步合并模塊包括:
[0190]合并流水讀取子模塊U5051,用于讀取所述合并流水;
[0191]余值合并子模塊U5052,與U4051連接,用于在合并子值數(shù)據(jù)塊所在的數(shù)據(jù)庫中,增加合并子值數(shù)據(jù)塊的余值,增加的額度等于合并流水的合并額;
[0192]增加流水插入子模塊U5053,與U5052連接,用于在增加合并子值數(shù)據(jù)塊的余值后,插入增加流水,且增加流水以所述合并流水的主鍵值為唯一性約束。
[0193]合并流水狀態(tài)設(shè)置子模塊U5054,與U5053連接,用于將所述合并流水狀態(tài)設(shè)置為完成狀態(tài)。
[0194]圖6為本申請(qǐng)一示例性實(shí)施例示出的圖3所示系統(tǒng)中扣減單元的框圖。如圖6所示,當(dāng)子值數(shù)據(jù)塊的余值為零時(shí),設(shè)置所述子值數(shù)據(jù)塊的狀態(tài)為失效時(shí),所述扣減單元U304,在一種可能的實(shí)施方式中,可以包括:
[0195]快照查詢模塊U601,用于當(dāng)用戶發(fā)起扣減時(shí),查詢子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的快照;
[0196]數(shù)據(jù)塊選取模塊U602,與U601連接,用于在合并子值數(shù)據(jù)塊和有效的子值數(shù)據(jù)塊中隨機(jī)選取其中之一;
[0197]數(shù)據(jù)塊鎖定模塊U603,與U602連接,用于當(dāng)選取的為子值數(shù)據(jù)塊時(shí),在被選取的子值數(shù)據(jù)塊所在的數(shù)據(jù)庫上,鎖定被選取的子值數(shù)據(jù)塊的余值記錄;
[0198]余值扣減模塊U604,U602和U603連接,用于對(duì)被選取的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊進(jìn)行扣減;
[0199]扣減流水插入模塊U605,與U604連接,在對(duì)被選取的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊進(jìn)行扣減后,插入扣減流水。
[0200]所述基于數(shù)據(jù)庫的數(shù)據(jù)控制系統(tǒng),在另一種可能的實(shí)施方式中,還可以包括:
[0201]合并補(bǔ)償后臺(tái)定時(shí)任務(wù)單元,用于周期性掃描合并流水和增加流水,當(dāng)存在合并流水對(duì)應(yīng)的增加流水為空時(shí),對(duì)所述合并流水重新執(zhí)行異步合并流程。所述合并補(bǔ)償后臺(tái)定時(shí)任務(wù)單元和異步合并模塊連接。
[0202]所述基于數(shù)據(jù)庫的數(shù)據(jù)控制系統(tǒng),還包括:
[0203]快照更新單元,用于更新子值數(shù)據(jù)塊和合并子值數(shù)據(jù)塊的快照。
[0204]其中,所述快照更新單元,在一種可能的實(shí)施方式中,可以包括:
[0205]版本號(hào)變更模塊,用于當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的余值發(fā)生變化時(shí),將所述子值數(shù)據(jù)塊或所述合并子值數(shù)據(jù)塊的版本號(hào)加1 ;
[0206]版本號(hào)判斷模塊,與版本號(hào)變更模塊連接,用于判斷子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的快照的版本號(hào)是否小于對(duì)應(yīng)的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的版本號(hào);
[0207]數(shù)據(jù)塊快照更新模塊,與版本號(hào)判斷模塊連接,用于當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的快照的版本號(hào)小于對(duì)應(yīng)的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的版本號(hào)時(shí),更新所述子值數(shù)據(jù)塊或所述合并子值數(shù)據(jù)塊的快照。
[0208]所述快照更新單元,在另一種可能的實(shí)施方式中,還可以包括:
[0209]快照標(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)示為“不可扣減”;
[0210]版本號(hào)變更模塊,用于當(dāng)子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的余值發(fā)生變化時(shí),將所述子值數(shù)據(jù)塊或所述合并子值數(shù)據(jù)塊的版本號(hào)加1;
[0211]版本號(hào)判斷模塊,與版本號(hào)變更模塊連接,用于判斷子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的快照的版本號(hào)是否小于對(duì)應(yīng)的子值數(shù)據(jù)塊或合并子值數(shù)據(jù)塊的版本號(hào);
[0212]快照更新判斷模塊,用于判斷當(dāng)前是否發(fā)生合并;
[0213]快照更新控制模塊,與快照更新判斷模塊和數(shù)據(jù)塊快照更新模塊連接,用于當(dāng)發(fā)生合并時(shí),使能所述數(shù)據(jù)塊快照更新模塊,否則,禁止所述數(shù)據(jù)塊快照更新模塊;
[0214]數(shù)據(jù)塊快照更新模塊,與版本號(hào)判斷模塊和快照更新控制模塊連接,用于當(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)前第4頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1