欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法

文檔序號(hào):6541317閱讀:199來源:國知局
一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法,包括插入步驟和消費(fèi)步驟;插入步驟包括:11)在內(nèi)存中開辟一個(gè)固定長度內(nèi)存空間,用于存儲(chǔ)監(jiān)測到的源數(shù)據(jù)庫同步數(shù)據(jù);12)在數(shù)據(jù)庫中新建一個(gè)表,用于存儲(chǔ)監(jiān)測到的源數(shù)據(jù)庫同步數(shù)據(jù)和同步數(shù)據(jù)的新加屬性;消費(fèi)步驟包括:13)當(dāng)一個(gè)數(shù)據(jù)消費(fèi)請(qǐng)求到來時(shí),首先從內(nèi)存空間中讀取,如果讀取失敗則從數(shù)據(jù)庫表中檢索,在讀取的過程中,如果發(fā)現(xiàn)內(nèi)存空間中不存在數(shù)據(jù),此時(shí)從數(shù)據(jù)庫表將數(shù)據(jù)拷貝到內(nèi)存中,然后從內(nèi)存中進(jìn)行讀取,利用數(shù)據(jù)庫記錄同步記錄和緩解了內(nèi)存空間的壓力,避免了由于同步數(shù)據(jù)瞬時(shí)急劇增加導(dǎo)致的系統(tǒng)崩潰問題;實(shí)現(xiàn)了系統(tǒng)重啟動(dòng)后同步數(shù)據(jù)可恢復(fù)。
【專利說明】一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫數(shù)據(jù)同步領(lǐng)域,主要是一種構(gòu)建同步系統(tǒng)中同步數(shù)據(jù)緩存的一種方法,尤其涉及一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法。
【背景技術(shù)】
[0002]數(shù)據(jù)庫數(shù)據(jù)同步是指在分布式數(shù)據(jù)存儲(chǔ)中實(shí)現(xiàn)不同數(shù)據(jù)庫中數(shù)據(jù)保持完整性和統(tǒng)一性的一種重要技術(shù)。隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)服務(wù)系統(tǒng)的服務(wù)范圍越來越大,服務(wù)負(fù)荷越來越重,服務(wù)安全要求越來越高,分布式數(shù)據(jù)庫存儲(chǔ)系統(tǒng)或主從模式數(shù)據(jù)庫存儲(chǔ)系統(tǒng)變成了網(wǎng)絡(luò)系統(tǒng)的必然選擇。在這種模式下,數(shù)據(jù)庫同步技術(shù)應(yīng)運(yùn)而生,它使得不同數(shù)據(jù)庫之間保持?jǐn)?shù)據(jù)的完整性和統(tǒng)一性,并且提高了系統(tǒng)的數(shù)據(jù)安全性和服務(wù)穩(wěn)定性。
[0003]數(shù)據(jù)庫數(shù)據(jù)同步過程包括源數(shù)據(jù)庫數(shù)據(jù)獲取、數(shù)據(jù)傳輸和目的數(shù)據(jù)庫數(shù)據(jù)消費(fèi)三個(gè)過程。數(shù)據(jù)庫數(shù)據(jù)同步包含多種模式:一對(duì)一單向同步、一對(duì)多單向同步、一對(duì)一雙向同步、一對(duì)多雙向同步和多種單一模式組合的綜合同步模式;在同步過程中,源數(shù)據(jù)庫數(shù)據(jù)獲取速度、網(wǎng)絡(luò)傳輸速度和目的數(shù)據(jù)庫數(shù)據(jù)消費(fèi)速度的不穩(wěn)定性和不一致性使得同步數(shù)據(jù)容易堆積和丟失;正是由于以上原因,數(shù)據(jù)緩存系統(tǒng)在數(shù)據(jù)傳輸過程中應(yīng)運(yùn)而生,并且變得越來越重要。
[0004]傳統(tǒng)的數(shù)據(jù)同步緩存技術(shù)采用獨(dú)立開辟和管理內(nèi)存空間的方法,該類方法滿足了數(shù)據(jù)同步的基本需求,但是這種方法存在以下缺陷:1)當(dāng)系統(tǒng)遇到宕機(jī)或斷電時(shí),系統(tǒng)重啟動(dòng)后,同步數(shù)據(jù)不能夠恢復(fù);2)不具備衡量數(shù)據(jù)同步中數(shù)據(jù)的堆積程度和反饋機(jī)制;3)內(nèi)存空間有限,當(dāng)緩存數(shù)據(jù)急劇增加時(shí),系統(tǒng)穩(wěn)定性急劇下降。4)同步完成后,同步數(shù)據(jù)不可查看和檢索。

【發(fā)明內(nèi)容】

[0005]針對(duì)上述技術(shù)缺陷,本發(fā)明提出一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法。
[0006]為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下:
[0007]—種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法,包括插入步驟和消費(fèi)步驟;所述插入步驟包括:
[0008]11)在內(nèi)存中開辟一個(gè)固定長度內(nèi)存空間,用于存儲(chǔ)監(jiān)測到的源數(shù)據(jù)庫同步數(shù)據(jù);
[0009]12)在數(shù)據(jù)庫中新建一個(gè)表,用于存儲(chǔ)監(jiān)測到的源數(shù)據(jù)庫同步數(shù)據(jù)和同步數(shù)據(jù)的新加屬性;
[0010]所述消費(fèi)步驟包括:
[0011]13)當(dāng)一個(gè)數(shù)據(jù)消費(fèi)請(qǐng)求到來時(shí),首先從內(nèi)存空間中讀取,如果讀取失敗則從數(shù)據(jù)庫表中檢索,在讀取的過程中,如果發(fā)現(xiàn)內(nèi)存空間中不存在數(shù)據(jù),此時(shí)從數(shù)據(jù)庫表將數(shù)據(jù)拷貝到內(nèi)存中,然后從內(nèi)存中進(jìn)行讀取。
[0012]進(jìn)一步的,還包括如下步驟:[0013]23)在系統(tǒng)中新建一個(gè)文件,用于存儲(chǔ)最后一次被消費(fèi)的數(shù)據(jù)。
[0014]進(jìn)一步的,所述步驟11)和步驟12)具體包括如下步驟;
[0015]31)內(nèi)存空間存儲(chǔ)采用一個(gè)固定長度的隊(duì)列,該隊(duì)列設(shè)置兩個(gè)指針:內(nèi)存數(shù)據(jù)消費(fèi)指針和內(nèi)存數(shù)據(jù)插入指針,所述內(nèi)存數(shù)據(jù)消費(fèi)指針具有一個(gè)屬性d0,它指向隊(duì)列中下一個(gè)可能被消費(fèi)的數(shù)據(jù),每消費(fèi)一個(gè)數(shù)據(jù)dO加1,內(nèi)存數(shù)據(jù)消費(fèi)指針向后移動(dòng)一個(gè)位置;內(nèi)存數(shù)據(jù)插入指針指向下一個(gè)可以插入數(shù)據(jù)的位置;
[0016]32)當(dāng)一個(gè)需要被同步的數(shù)據(jù)到達(dá)時(shí),緩沖系統(tǒng)為其遞增產(chǎn)生一個(gè)唯一的id屬性,id屬性與原數(shù)據(jù)內(nèi)容合并為一個(gè)新的數(shù)據(jù);插入線程查看內(nèi)存空間是否已滿,如果已滿則將該數(shù)據(jù)插入數(shù)據(jù)庫表中,如果還有空間,則將該數(shù)據(jù)同時(shí)插入數(shù)據(jù)庫表和內(nèi)存空間中,內(nèi)存數(shù)據(jù)插入指針向后移動(dòng)一位。
[0017]進(jìn)一步的,所述步驟13)具體包括如下步驟;
[0018]41)當(dāng)一個(gè)數(shù)據(jù)消費(fèi)請(qǐng)求到來時(shí),同步比較同步消費(fèi)數(shù)據(jù)最大的id屬性值和內(nèi)存數(shù)據(jù)消費(fèi)指針的值來判斷是否存在未被消費(fèi)的數(shù)據(jù),如果存在未被消費(fèi)的數(shù)據(jù),則嘗試從內(nèi)存空間中讀取,如果發(fā)現(xiàn)內(nèi)存空間中不存在數(shù)據(jù),則數(shù)據(jù)庫表將數(shù)據(jù)拷貝到內(nèi)存中;如果讀取失敗則從數(shù)據(jù)庫表中檢索;當(dāng)讀取到可消費(fèi)數(shù)據(jù)后,發(fā)送該數(shù)據(jù)并將內(nèi)存消費(fèi)指針向后移動(dòng)一位并記錄消費(fèi)數(shù)據(jù)的時(shí)間。
[0019]進(jìn)一步的,所述步驟23)具體包括如下步驟;
[0020]51)首先判斷文件是否存在,如果不存在則創(chuàng)建文件,表示系統(tǒng)第一次啟動(dòng),數(shù)據(jù)恢復(fù)過程結(jié)束;如果文件存在,則讀取和解析文件中的內(nèi)容,如果內(nèi)容為空,則得到id屬性值a和數(shù)據(jù)內(nèi)容;利用數(shù)據(jù)庫表中id值大于a的數(shù)據(jù)初始化內(nèi)存空間和利用數(shù)據(jù)庫表中最后監(jiān)測到的數(shù)據(jù)為系統(tǒng)提供監(jiān)控起始點(diǎn)反饋。
[0021]進(jìn)一步的,如果發(fā)現(xiàn)內(nèi)存空間中不存在數(shù)據(jù),則數(shù)據(jù)庫表中按遞增順序讀取id值大于內(nèi)存數(shù)據(jù)消費(fèi)指針dO的數(shù)據(jù),將該數(shù)據(jù)拷貝到內(nèi)存中。
[0022]本發(fā)明的有益效果在于:利用數(shù)據(jù)庫記錄同步記錄和緩解了內(nèi)存空間的壓力,避免了由于同步數(shù)據(jù)瞬時(shí)急劇增加導(dǎo)致的系統(tǒng)崩潰問題;實(shí)現(xiàn)了系統(tǒng)重啟動(dòng)后同步數(shù)據(jù)可恢復(fù);通過id記錄,可以評(píng)測數(shù)據(jù)堆積程度并給出反饋。這一點(diǎn)對(duì)于發(fā)現(xiàn)網(wǎng)絡(luò)問題、調(diào)節(jié)監(jiān)測
頻率等具有重要意義。
【專利附圖】

【附圖說明】
[0023]圖1為三種存儲(chǔ)方式;
[0024]圖2為同步數(shù)據(jù)插入步驟;
[0025]圖3為同步數(shù)據(jù)消費(fèi)步驟;
[0026]圖4為數(shù)據(jù)恢復(fù)步驟。
【具體實(shí)施方式】
[0027]下面將結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步的說明。
[0028]本發(fā)明采用了三種存儲(chǔ)方式,如圖1所示,內(nèi)存空間存儲(chǔ)采用一個(gè)固定長度的隊(duì)列,該隊(duì)列具有兩個(gè)指針:內(nèi)存數(shù)據(jù)消費(fèi)指針和內(nèi)存數(shù)據(jù)插入指針。內(nèi)存數(shù)據(jù)消費(fèi)指針具有一個(gè)屬性dO,它指向隊(duì)列中下一個(gè)可能(如果d0==d,則可消費(fèi),否則不能被消費(fèi))被消費(fèi)的數(shù)據(jù),每消費(fèi)一個(gè)數(shù)據(jù)do加1,內(nèi)存數(shù)據(jù)消費(fèi)指針向后移動(dòng)一個(gè)位置;內(nèi)存數(shù)據(jù)插入指針指向下一個(gè)可以插入數(shù)據(jù)的位置。內(nèi)存空間存儲(chǔ)即將被消費(fèi)的數(shù)據(jù),這樣可以保證消費(fèi)請(qǐng)求到來時(shí)能夠做出快速的響應(yīng)。數(shù)據(jù)庫存儲(chǔ)每一個(gè)同步數(shù)據(jù),當(dāng)需要同步的數(shù)據(jù)到達(dá)緩存系統(tǒng)時(shí)會(huì)被存入數(shù)據(jù)庫表中;消費(fèi)請(qǐng)求到來時(shí),如果內(nèi)存空間中不存在該數(shù)據(jù),那么消費(fèi)線程可以從數(shù)據(jù)表中檢索得到。數(shù)據(jù)庫存儲(chǔ)規(guī)避了同步數(shù)據(jù)急劇增加帶來的風(fēng)險(xiǎn)和提供了查看歷史同步數(shù)據(jù)服務(wù)。另外,每當(dāng)一個(gè)數(shù)據(jù)成功被消費(fèi),這個(gè)數(shù)據(jù)將被以文件的方式保存在本地文件系統(tǒng)中,當(dāng)系統(tǒng)重啟時(shí),根據(jù)該點(diǎn)的記錄來恢復(fù)同步數(shù)據(jù)和指導(dǎo)監(jiān)測程序從何處重新開始監(jiān)控?cái)?shù)據(jù)的變化。上述三級(jí)緩存的方式,是本發(fā)明實(shí)現(xiàn)高性能、可恢復(fù)和能檢索緩存系統(tǒng)的基礎(chǔ)。
[0029]圖2展示了同步數(shù)據(jù)插入緩存系統(tǒng)的過程。當(dāng)一個(gè)需要被同步的數(shù)據(jù)到達(dá)時(shí),系統(tǒng)為其遞增產(chǎn)生一個(gè)唯一的id屬性,id屬性與原數(shù)據(jù)內(nèi)容合并為一個(gè)新的數(shù)據(jù);插入線程查看內(nèi)存空間是否已滿,如果已滿則將該數(shù)據(jù)插入數(shù)據(jù)庫表中,如果還有空間,則將該數(shù)據(jù)同時(shí)插入數(shù)據(jù)庫表和內(nèi)存空間中,內(nèi)存數(shù)據(jù)插入指針向后移動(dòng)一位。
[0030]圖3展示了數(shù)據(jù)消費(fèi)的具體步驟。當(dāng)一個(gè)數(shù)據(jù)消費(fèi)請(qǐng)求到來時(shí),同步比較同步消費(fèi)數(shù)據(jù)最大的id屬性值和內(nèi)存數(shù)據(jù)消費(fèi)指針的值來判斷是否存在未被消費(fèi)的數(shù)據(jù),如果存在未被消費(fèi)的數(shù)據(jù),則嘗試從內(nèi)存空間中讀取,如果讀取失敗則從數(shù)據(jù)庫表中檢索,在讀取的過程中,可能會(huì)發(fā)現(xiàn)內(nèi)存空間中不存在數(shù)據(jù),此時(shí)數(shù)據(jù)庫表中按遞增順序讀取id值大于內(nèi)存數(shù)據(jù)消費(fèi)指針dO的數(shù)據(jù),將該數(shù)據(jù)拷貝到內(nèi)存中;當(dāng)讀取到可消費(fèi)數(shù)據(jù)后,發(fā)送該數(shù)據(jù)并將內(nèi)存消費(fèi)指針向后移動(dòng)一位并記錄消費(fèi)數(shù)據(jù)的時(shí)間,一個(gè)消費(fèi)請(qǐng)求響應(yīng)過程結(jié)束。
[0031]圖4展示了系統(tǒng)啟動(dòng)時(shí)數(shù)據(jù)恢復(fù)的過程。首先判斷文件是否存在,如果不存在則創(chuàng)建文件,表示系統(tǒng)第一次啟動(dòng),數(shù)據(jù)恢復(fù)過程結(jié)束;如果文件存在,則讀取和解析文件中的內(nèi)容,如果內(nèi)容為空,則得到id屬性值a和數(shù)據(jù)內(nèi)容;最后利用數(shù)據(jù)庫表中id值大于a的數(shù)據(jù)初始化內(nèi)存空間和利用數(shù)據(jù)庫表中最后監(jiān)測到的數(shù)據(jù)(如果該數(shù)據(jù)不存在則利用屬性值為a的數(shù)據(jù)項(xiàng)的數(shù)據(jù)內(nèi)容)為監(jiān)測系統(tǒng)提供監(jiān)控起始點(diǎn)反饋。
[0032]本發(fā)明的步驟總體如下:
[0033]步驟1:在內(nèi)存中開辟一個(gè)固定長度內(nèi)存空間,用于存儲(chǔ)監(jiān)測到的源數(shù)據(jù)庫同步數(shù)據(jù);
[0034]步驟2:在數(shù)據(jù)庫中新建一個(gè)表,用于存儲(chǔ)監(jiān)測到的源數(shù)據(jù)庫同步數(shù)據(jù)和同步數(shù)據(jù)的新加屬性;
[0035]步驟3:在系統(tǒng)中新建一個(gè)文件,名為end。
[0036]步驟4:當(dāng)一個(gè)源數(shù)據(jù)庫同步數(shù)據(jù)到來時(shí),緩存系統(tǒng)給數(shù)據(jù)分配一個(gè)唯一遞增的id值,新的id值和原數(shù)據(jù)內(nèi)容合并成為一個(gè)新的數(shù)據(jù),并執(zhí)行以下過程:
[0037]1、將新數(shù)據(jù)分發(fā)給內(nèi)存數(shù)據(jù)管理線程和數(shù)據(jù)庫數(shù)據(jù)管理線程;
[0038]2、內(nèi)存數(shù)據(jù)管理線程查看內(nèi)存空間是否有剩余空間,如果有,則將新數(shù)據(jù)存放在隊(duì)尾;否則主動(dòng)扔掉數(shù)據(jù);
[0039]3、數(shù)據(jù)庫管理線程將新數(shù)據(jù)插入到記錄表中。
[0040]步驟5:當(dāng)要發(fā)送一個(gè)同步數(shù)據(jù)時(shí),將應(yīng)該發(fā)送數(shù)據(jù)的id屬性idO與內(nèi)存空間中內(nèi)存數(shù)據(jù)消費(fèi)指針指向同步數(shù)據(jù)的id屬性idl進(jìn)行比較。并執(zhí)行以下過程:[0041]1、如果idl等于idO,發(fā)送該數(shù)據(jù),發(fā)送指針向后移動(dòng)一位;否則從數(shù)據(jù)庫中讀取id等于idO的數(shù)據(jù),并發(fā)送該數(shù)據(jù),發(fā)送指針向后移動(dòng)一位。
[0042]2、將發(fā)送數(shù)據(jù)的全部屬性和內(nèi)容寫入一個(gè)文件end,覆蓋原來的內(nèi)容。
[0043]步驟6:當(dāng)系統(tǒng)啟動(dòng)(或重啟)時(shí),讀取end文件。并執(zhí)行以下過程:
[0044]1、如果end文件為空,表示系統(tǒng)第一次啟動(dòng),系統(tǒng)轉(zhuǎn)向步驟3和步驟4 ;
[0045]2、如果end不為空,解析end文件的內(nèi)容,獲取id值和數(shù)據(jù)內(nèi)容;然后查詢數(shù)據(jù)庫表,利用數(shù)據(jù)庫表初始化內(nèi)存空間;緩存系統(tǒng)向其它系統(tǒng)反饋?zhàn)詈蟊O(jiān)測到的數(shù)據(jù)內(nèi)容。系統(tǒng)轉(zhuǎn)向步驟3和步驟4 ;
[0046]步驟7:當(dāng)接收到一個(gè)查詢請(qǐng)求時(shí),數(shù)據(jù)庫管理線程查詢同步記錄。
[0047]步驟8:系統(tǒng)每隔5秒鐘會(huì)從數(shù)據(jù)庫表中統(tǒng)計(jì)出最近一秒鐘新插入到的數(shù)據(jù)量nl和被消費(fèi)到的數(shù)據(jù)量n2 ;系統(tǒng)產(chǎn)生的最大屬id性值為dmax,下一個(gè)將被消費(fèi)的id屬性值為dnext。則衡量數(shù)據(jù)堆積程度的參考值P= (dmax-dnext) * (nl/n2)。
[0048]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,包括插入步驟和消費(fèi)步驟;所述插入步驟包括: 11)在內(nèi)存中開辟一個(gè)固定長度內(nèi)存空間,用于存儲(chǔ)監(jiān)測到的源數(shù)據(jù)庫同步數(shù)據(jù); 12)在數(shù)據(jù)庫中新建一個(gè)表,用于存儲(chǔ)監(jiān)測到的源數(shù)據(jù)庫同步數(shù)據(jù)和同步數(shù)據(jù)的新加屬性; 所述消費(fèi)步驟包括: 13)當(dāng)一個(gè)數(shù)據(jù)消費(fèi)請(qǐng)求到來時(shí),首先從內(nèi)存空間中讀取,如果讀取失敗則從數(shù)據(jù)庫表中檢索,在讀取的過程中,如果發(fā)現(xiàn)內(nèi)存空間中不存在數(shù)據(jù),此時(shí)從數(shù)據(jù)庫表將數(shù)據(jù)拷貝到內(nèi)存中,然后從內(nèi)存中進(jìn)行讀取。
2.根據(jù)權(quán)利要求1所述的一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,還包括如下步驟: 23)在系統(tǒng)中新建一個(gè)文件,用于存儲(chǔ)最后一次被消費(fèi)的數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述步驟11)和步驟12)具體包括如下步驟; 31)內(nèi)存空間存儲(chǔ)采用一個(gè)固定長度的隊(duì)列,該隊(duì)列設(shè)置兩個(gè)指針:內(nèi)存數(shù)據(jù)消費(fèi)指針和內(nèi)存數(shù)據(jù)插入指針,所述內(nèi)存數(shù)據(jù)消費(fèi)指針具有一個(gè)屬性dO,它指向隊(duì)列中下一個(gè)可能被消費(fèi)的數(shù)據(jù),每消費(fèi)一個(gè)數(shù)據(jù)dO加1,內(nèi)存數(shù)據(jù)消費(fèi)指針向后移動(dòng)一個(gè)位置;內(nèi)存數(shù)據(jù)插入指針指向下一個(gè)可以插入數(shù)據(jù)的位置; 32)當(dāng)一個(gè)需要被同步的數(shù)據(jù)到達(dá)時(shí),緩沖系統(tǒng)為其遞增產(chǎn)生一個(gè)唯一的id屬性,id屬性與原數(shù)據(jù)內(nèi)容合并為一個(gè)新的數(shù)據(jù);插入線程查看內(nèi)存空間是否已滿,如果已滿則將該數(shù)據(jù)插入數(shù)據(jù)庫表中,如果還有空間,則將該數(shù)據(jù)同時(shí)插入數(shù)據(jù)庫表和內(nèi)存空間中,內(nèi)存數(shù)據(jù)插入指針向后移動(dòng)一位。
4.根據(jù)權(quán)利要求3所述的一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述步驟13)具體包括如下步驟; 41)當(dāng)一個(gè)數(shù)據(jù)消費(fèi)請(qǐng)求到來時(shí),同步比較同步消費(fèi)數(shù)據(jù)最大的id屬性值和內(nèi)存數(shù)據(jù)消費(fèi)指針的值來判斷是否存在未被消費(fèi)的數(shù)據(jù),如果存在未被消費(fèi)的數(shù)據(jù),則嘗試從內(nèi)存空間中讀取,如果發(fā)現(xiàn)內(nèi)存空間中不存在數(shù)據(jù),則數(shù)據(jù)庫表將數(shù)據(jù)拷貝到內(nèi)存中;如果讀取失敗則從數(shù)據(jù)庫表中檢索;當(dāng)讀取到可消費(fèi)數(shù)據(jù)后,發(fā)送該數(shù)據(jù)并將內(nèi)存消費(fèi)指針向后移動(dòng)一位并記錄消費(fèi)數(shù)據(jù)的時(shí)間。
5.根據(jù)權(quán)利要求4所述的一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述步驟23)具體包括如下步驟; 51)首先判斷文件是否存在,如果不存在則創(chuàng)建文件,表示系統(tǒng)第一次啟動(dòng),數(shù)據(jù)恢復(fù)過程結(jié)束;如果文件存在,則讀取和解析文件中的內(nèi)容,如果內(nèi)容為空,則得到id屬性值a和數(shù)據(jù)內(nèi)容;利用數(shù)據(jù)庫表中id值大于a的數(shù)據(jù)初始化內(nèi)存空間和利用數(shù)據(jù)庫表中最后監(jiān)測到的數(shù)據(jù)為系統(tǒng)提供監(jiān)控起始點(diǎn)反饋。
6.根據(jù)根據(jù)權(quán)利要求4所述的一種數(shù)據(jù)庫同步中實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,如果發(fā)現(xiàn)內(nèi)存空間中不存在數(shù)據(jù),則數(shù)據(jù)庫表中按遞增順序讀取id值大于內(nèi)存數(shù)據(jù)消費(fèi)指針dO的數(shù)據(jù),將該數(shù)據(jù)拷貝到內(nèi)存中。
【文檔編號(hào)】G06F17/30GK103942259SQ201410108047
【公開日】2014年7月23日 申請(qǐng)日期:2014年3月21日 優(yōu)先權(quán)日:2014年3月21日
【發(fā)明者】尹建偉, 陳楊, 李瑩, 鄧水光, 吳健, 吳朝暉 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
辽宁省| 砀山县| 白沙| 都兰县| 茂名市| 台南县| 乡城县| 沙河市| 迭部县| 昂仁县| 蓬安县| 怀远县| 陇西县| 桐城市| 邹城市| 庆城县| 五家渠市| 错那县| 景洪市| 凤城市| 苍梧县| 鹤山市| 海门市| 东阳市| 嵊州市| 宁晋县| 长兴县| 罗山县| 仪征市| 山阳县| 玉环县| 福海县| 米脂县| 集贤县| 冷水江市| 区。| 衡山县| 苏州市| 和硕县| 北宁市| 浮梁县|