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