基于大數(shù)據(jù)的數(shù)據(jù)訪問處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,特別是涉及一種基于大數(shù)據(jù)的數(shù)據(jù)訪問處理方法和
目.0
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的發(fā)展,豐富多彩的APP(應(yīng)用程序)為人們的生活帶來了越來越多的樂趣。APP的用戶通常分為普通用戶和會(huì)員用戶,普通用戶和會(huì)員用戶能體驗(yàn)到服務(wù)是不相同的。會(huì)員用戶因?yàn)橹Ц读速M(fèi)用因此在APP中的某些操作動(dòng)作的次數(shù)是不受限制,普通用戶卻只能在規(guī)定時(shí)間內(nèi)獲得有限的操作次數(shù)。APP開發(fā)商采用這種方式可以激勵(lì)普通用戶注冊(cè)為會(huì)員。例如,APP為一款情侶游戲,情侶雙方可在游戲中種植花草并可以對(duì)花草進(jìn)行澆水或施肥等操作,普通會(huì)員會(huì)限制每個(gè)月澆水的操作次數(shù),當(dāng)操作次數(shù)滿了后需要等到下個(gè)月才能對(duì)花草進(jìn)行澆水,但是會(huì)員用戶則沒有操作次數(shù)限制。
[0003]用戶在APP中產(chǎn)生的用戶行為數(shù)據(jù)(用戶操作動(dòng)作的次數(shù))存儲(chǔ)在對(duì)應(yīng)數(shù)據(jù)庫服務(wù)器中。APP在使用過程中需要對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行頻繁的訪問。例如,對(duì)于上述情侶游戲,若普通用戶每月的澆水次數(shù)限制在5次,普通用戶每觸發(fā)一次澆水動(dòng)作便會(huì)查詢一次數(shù)據(jù)庫中的澆水次數(shù),判斷澆水次數(shù)是否小于5,若是,則允許用戶澆水并將澆水次數(shù)增加一次,若否,則表示用戶澆水次數(shù)已經(jīng)達(dá)到了上限,阻止用戶的澆水動(dòng)作并提醒用戶升級(jí)為會(huì)員。
[0004]傳統(tǒng)的數(shù)據(jù)訪問處理方法,所有的數(shù)據(jù)都記錄在一張表中。在大數(shù)據(jù)時(shí)代由于數(shù)據(jù)是海量的,通過一張數(shù)據(jù)表來處理數(shù)據(jù)訪問請(qǐng)求,服務(wù)器在面臨高并發(fā)數(shù)據(jù)訪問和海量數(shù)據(jù)流時(shí),容易引起數(shù)據(jù)阻塞,使得數(shù)據(jù)訪問請(qǐng)求處理不穩(wěn)定。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)上述技術(shù)問題,提供一種不容易引起數(shù)據(jù)阻塞的基于大數(shù)據(jù)的數(shù)據(jù)訪問處理方法和裝置。
[0006]一種基于大數(shù)據(jù)的數(shù)據(jù)訪問處理方法,所述方法包括:
[0007]接收數(shù)據(jù)訪問請(qǐng)求,并記錄所述接收數(shù)據(jù)訪問請(qǐng)求的系統(tǒng)時(shí)間,所述數(shù)據(jù)訪問請(qǐng)求中攜帶有用戶編號(hào);
[0008]提取用戶編號(hào)中預(yù)設(shè)位置的編號(hào),所述編號(hào)即為用戶編號(hào)所在用戶分組的組號(hào),所述組號(hào)對(duì)應(yīng)兩個(gè)數(shù)據(jù)表;
[0009]根據(jù)所述兩個(gè)數(shù)據(jù)表與時(shí)間的對(duì)應(yīng)關(guān)系,確定所述系統(tǒng)時(shí)間對(duì)應(yīng)的數(shù)據(jù)表;
[0010]通過所述數(shù)據(jù)表來處理所述數(shù)據(jù)訪問請(qǐng)求。
[0011 ] 在其中一個(gè)實(shí)施例中,所述兩個(gè)數(shù)據(jù)表分別為單月數(shù)據(jù)表和雙月數(shù)據(jù)表;所述根據(jù)所述兩個(gè)數(shù)據(jù)表與時(shí)間的對(duì)應(yīng)關(guān)系,確定接收數(shù)據(jù)訪問請(qǐng)求的時(shí)間對(duì)應(yīng)的數(shù)據(jù)表的步驟,包括:
[0012]獲取接收數(shù)據(jù)訪問請(qǐng)求的時(shí)間對(duì)應(yīng)的月份;
[0013]若所述月份為單月,則確定單月表來處理數(shù)據(jù)訪問請(qǐng)求;
[0014]若所述月份為雙月,則確定雙月表來處理數(shù)據(jù)訪問請(qǐng)求。
[0015]在其中一個(gè)實(shí)施例中,,所述方法還包括:
[0016]根據(jù)預(yù)設(shè)時(shí)間定期檢測兩個(gè)數(shù)據(jù)表;
[0017]根據(jù)所述兩個(gè)數(shù)據(jù)表與時(shí)間的對(duì)應(yīng)關(guān)系,將與定期檢測的時(shí)間不對(duì)應(yīng)的數(shù)據(jù)表中的數(shù)據(jù)記錄刪除。
[0018]在其中一個(gè)實(shí)施例中,所述接收數(shù)據(jù)訪問請(qǐng)求的步驟之后,所述方法還包括:
[0019]判斷緩存中是否存在所述數(shù)據(jù)訪問請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),若是,則通過緩存響應(yīng)所述數(shù)據(jù)訪問請(qǐng)求,并將響應(yīng)所述數(shù)據(jù)訪問請(qǐng)求的結(jié)果同步至數(shù)據(jù)庫中;
[0020]若否,則進(jìn)入提取用戶編號(hào)中預(yù)設(shè)位置的編號(hào)的步驟。
[0021]在其中一個(gè)實(shí)施例中,所述方法還包括:
[0022]監(jiān)測緩存中的可用存儲(chǔ)空間;
[0023]若所述可用存儲(chǔ)空間小于預(yù)設(shè)閾值時(shí),則刪除緩存中訪問頻率低的數(shù)據(jù)直至所述可用存儲(chǔ)空間大于或等于預(yù)設(shè)閾值。
[0024]一種基于大數(shù)據(jù)的數(shù)據(jù)訪問處理裝置,所述裝置包括:
[0025]請(qǐng)求接收模塊,用于接收數(shù)據(jù)訪問請(qǐng)求,并記錄所述接收數(shù)據(jù)訪問請(qǐng)求的系統(tǒng)時(shí)間,所述數(shù)據(jù)訪問請(qǐng)求中攜帶有用戶編號(hào);
[0026]編號(hào)提取模塊,用于提取用戶編號(hào)中預(yù)設(shè)位置的編號(hào),所述編號(hào)即為用戶編號(hào)所在用戶分組的組號(hào),所述組號(hào)對(duì)應(yīng)兩個(gè)數(shù)據(jù)表;
[0027]數(shù)據(jù)表確定模塊,用于根據(jù)所述兩個(gè)數(shù)據(jù)表與時(shí)間的對(duì)應(yīng)關(guān)系,確定系統(tǒng)時(shí)間對(duì)應(yīng)的數(shù)據(jù)表;
[0028]請(qǐng)求處理模塊,用于通過所述數(shù)據(jù)表來處理所述數(shù)據(jù)訪問請(qǐng)求。
[0029]在其中一個(gè)實(shí)施例中,所述兩個(gè)數(shù)據(jù)表分別為單月數(shù)據(jù)表和雙月數(shù)據(jù)表;所述數(shù)據(jù)表確定模塊還用于獲取接收數(shù)據(jù)訪問請(qǐng)求的系統(tǒng)時(shí)間對(duì)應(yīng)的月份;若所述月份為單月,則確定單月表來處理數(shù)據(jù)訪問請(qǐng)求;若所述月份為雙月,則確定雙月表來處理數(shù)據(jù)訪問請(qǐng)求。
[0030]在其中一個(gè)實(shí)施例中,所述裝置還包括:
[0031]定期檢測模塊,用于根據(jù)預(yù)設(shè)時(shí)間定期檢測兩個(gè)數(shù)據(jù)表;
[0032]數(shù)據(jù)清空模塊,用于根據(jù)所述兩個(gè)數(shù)據(jù)表與時(shí)間的對(duì)應(yīng)關(guān)系,將與定期檢測的時(shí)間不對(duì)應(yīng)的數(shù)據(jù)表中的數(shù)據(jù)記錄刪除。
[0033]在其中一個(gè)實(shí)施例中,所述裝置還包括:
[0034]判斷模塊,用于判斷緩存中是否存在所述數(shù)據(jù)訪問請(qǐng)求對(duì)應(yīng)的數(shù)據(jù);
[0035]緩存響應(yīng)模塊,用于當(dāng)判斷模塊的判斷結(jié)果為是時(shí),通過緩存響應(yīng)所述數(shù)據(jù)訪問請(qǐng)求,并將響應(yīng)所述數(shù)據(jù)訪問請(qǐng)求的結(jié)果同步至數(shù)據(jù)庫中;
[0036]當(dāng)判斷模塊的判斷結(jié)果為否時(shí),進(jìn)入所述編號(hào)提取模塊。
[0037]在其中一個(gè)實(shí)施例中,所述裝置還包括:
[0038]存儲(chǔ)空間檢測模塊,用于監(jiān)測緩存中的可用存儲(chǔ)空間;
[0039]存儲(chǔ)空間清理模塊,用于若所述可用存儲(chǔ)空間小于預(yù)設(shè)閾值時(shí),則刪除緩存中訪問頻率低的數(shù)據(jù)直至所述可用存儲(chǔ)空間大于或等于預(yù)設(shè)閾值。
[0040]上述基于大數(shù)據(jù)的數(shù)據(jù)訪問處理方法和裝置,可以根據(jù)接收數(shù)據(jù)訪問請(qǐng)求的系統(tǒng)時(shí)間在用戶分組對(duì)應(yīng)的兩個(gè)數(shù)據(jù)表切換處理數(shù)據(jù)訪問請(qǐng)求,由于數(shù)據(jù)表是有時(shí)間效力,保證了用來處理數(shù)據(jù)訪問請(qǐng)求的數(shù)據(jù)表中記錄的數(shù)據(jù)量不會(huì)很龐大,在面臨高并發(fā)數(shù)據(jù)訪問時(shí),不容易引起數(shù)據(jù)阻塞,提高了處理數(shù)據(jù)訪問請(qǐng)求的穩(wěn)定性。
【附圖說明】
[0041]圖1為一個(gè)實(shí)施例中基于大數(shù)據(jù)的數(shù)據(jù)訪問處理方法的流程示意圖;
[0042]圖2為一個(gè)實(shí)施例中基于大數(shù)據(jù)的數(shù)據(jù)訪問處理裝置的結(jié)構(gòu)示意圖;
[0043]圖3為另一個(gè)實(shí)施例中基于大數(shù)據(jù)的數(shù)據(jù)訪問處理裝置的結(jié)構(gòu)示意圖;
[0044]圖4為再一個(gè)實(shí)施例中基于大數(shù)據(jù)的數(shù)據(jù)訪問處理裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0045]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0046]如圖1所示,在一個(gè)實(shí)施例中,提供了基于大數(shù)據(jù)的數(shù)據(jù)訪問處理方法,該方法包括如下步驟:
[0047]步驟101,請(qǐng)求接收模塊,用于接收數(shù)據(jù)訪問請(qǐng)求,并記錄接收數(shù)據(jù)訪問請(qǐng)求的系統(tǒng)時(shí)間。
[0048]數(shù)據(jù)訪問請(qǐng)求中攜帶有用戶編號(hào)。用戶編號(hào)是指用戶在應(yīng)用程序的注冊(cè)過程中應(yīng)用服務(wù)器分配的用戶標(biāo)識(shí),用以區(qū)分不同的用戶。用戶編號(hào)的字符串可以由十進(jìn)制、二進(jìn)制、字母組成或者混合組成。例如,用戶編號(hào)為十進(jìn)制的數(shù)字,根據(jù)用戶在