本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種用戶匯總數(shù)據(jù)的展示方法、裝置及服務(wù)器。
背景技術(shù):
目前,用戶在使用互聯(lián)網(wǎng)的應(yīng)用中,如使用網(wǎng)站提供的代金券進(jìn)行交易的行為越來越普遍,使得用戶在不同網(wǎng)站上均持有不同數(shù)量的代金券,造成用戶很難清楚地掌握這些代金券的使用情況。
相關(guān)技術(shù)中,網(wǎng)站在用戶登錄的用戶界面上設(shè)置了代金券選項(xiàng),可以在用戶點(diǎn)擊用戶界面上的代金券選項(xiàng)后,將用戶在該網(wǎng)站上所持有的代金券的明細(xì)都顯示給用戶,使得用戶可以了解在該網(wǎng)站下所擁有的代金券的使用情況。
在網(wǎng)站向用戶顯示代金券的明細(xì)時,由于用戶界面的信息量很大,當(dāng)用戶在該網(wǎng)站上擁有的代金券數(shù)量較多時,使得用戶很難在短時間內(nèi)了解在該網(wǎng)站下所擁有的代金券的整體情況,降低了用戶使用代金券時的用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種用戶匯總數(shù)據(jù)的展示方法、裝置及服務(wù)器,使得用戶可以在短時間內(nèi)了解在網(wǎng)絡(luò)應(yīng)用下所擁有的匯總數(shù)據(jù)。
第一方面,本發(fā)明實(shí)施例提供了一種用戶匯總數(shù)據(jù)的展示方法,包括:
接收用戶終端發(fā)送的匯總數(shù)據(jù)的獲取請求,其中,所述獲取請求攜帶有用戶的標(biāo)識信息,所述匯總數(shù)據(jù)根據(jù)所述用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)生成;
根據(jù)所述用戶的標(biāo)識信息查找對應(yīng)的緩存數(shù)據(jù)區(qū);
將查找到的所述緩存數(shù)據(jù)區(qū)內(nèi)存儲的匯總數(shù)據(jù)發(fā)送給所述用戶終端以進(jìn)行展示。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了上述第一方面的第一種可能的實(shí)現(xiàn)方式,其中,所述方法還包括:
按照設(shè)定周期獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù);
根據(jù)獲取的所述增量數(shù)據(jù)更新對應(yīng)緩存數(shù)據(jù)區(qū)的匯總數(shù)據(jù)。
結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第一方面的第二種可能的實(shí)現(xiàn)方式,其中,按照設(shè)定周期獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù)包括:
按照設(shè)定周期檢查用戶明細(xì)數(shù)據(jù)庫中在當(dāng)前周期內(nèi)是否存在數(shù)據(jù)變化,其中,所述用戶明細(xì)數(shù)據(jù)庫記錄有各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
如果所述當(dāng)前周期內(nèi)所述用戶明細(xì)數(shù)據(jù)庫內(nèi)有變化的數(shù)據(jù),將變化的數(shù)據(jù)作為對應(yīng)用戶的行為記錄的增量數(shù)據(jù);
如果所述當(dāng)前周期內(nèi)所述用戶明細(xì)數(shù)據(jù)庫內(nèi)沒有變化的數(shù)據(jù),檢查所述用戶明細(xì)數(shù)據(jù)庫在所述當(dāng)前周期內(nèi)是否發(fā)生有邏輯增量,其中,所述邏輯增量包括因時間和/或地域變化引起所述用戶明細(xì)數(shù)據(jù)庫增加或刪除的數(shù)據(jù);
當(dāng)所述用戶明細(xì)數(shù)據(jù)庫有邏輯增量時,將所述邏輯增量作為對應(yīng)用戶的增量行為記錄數(shù)據(jù)。
結(jié)合第一方面的第一種或者第二種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第一方面的第三種可能的實(shí)現(xiàn)方式,其中,接收匯總數(shù)據(jù)的獲取請求之前,所述方法還包括:
讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
統(tǒng)計(jì)所述各個用戶的行為記錄數(shù)據(jù);
根據(jù)統(tǒng)計(jì)結(jié)果生成所述各個用戶的匯總數(shù)據(jù);
按照所述各個用戶的標(biāo)識信息將所述匯總數(shù)據(jù)分別存儲于對應(yīng)的緩存數(shù)據(jù)區(qū)。
結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第一方面的第四種可能的實(shí)現(xiàn)方式,其中,讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)包括:
當(dāng)全量匯總獲取服務(wù)啟動時或者當(dāng)檢測到所述用戶明細(xì)數(shù)據(jù)庫記錄的數(shù)據(jù)與對應(yīng)的緩存數(shù)據(jù)區(qū)存儲的數(shù)據(jù)不一致時,讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù),并啟動增量任務(wù)計(jì)時器,以在所述增量任務(wù)計(jì)時器的計(jì)時達(dá)到所述設(shè)定周期對應(yīng)的時長時,執(zhí)行所述獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù)的步驟。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了上述第一方面的第五種可能的實(shí)現(xiàn)方式,其中,根據(jù)所述用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄生成的匯總內(nèi)容包括:
按照所述用戶登錄的網(wǎng)絡(luò)應(yīng)用的標(biāo)識逐一統(tǒng)計(jì)所述用戶獲取的代金券信息和/或交易信息,所述代金券信息包括:總張數(shù)和/或總金額;所述交易信息包括:對應(yīng)應(yīng)用的支付總金額和/或?qū)?yīng)時間段內(nèi)的支付總金額;
將統(tǒng)計(jì)得到的所述用戶的代金券信息和/或交易信息整合為所述用戶的匯總數(shù)據(jù)。
第二方面,本發(fā)明實(shí)施例提供了一種用戶匯總數(shù)據(jù)的展示裝置,包括:
請求接收模塊,用于接收用戶終端發(fā)送的匯總數(shù)據(jù)的獲取請求,其中,所述獲取請求攜帶有用戶的標(biāo)識信息,所述匯總數(shù)據(jù)根據(jù)所述用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)生成;
數(shù)據(jù)查找模塊,用于根據(jù)所述用戶的標(biāo)識信息查找對應(yīng)的緩存數(shù)據(jù)區(qū);
展示模塊,用于將查找到的所述緩存數(shù)據(jù)區(qū)內(nèi)存儲的匯總數(shù)據(jù)發(fā)送給所述用戶終端以進(jìn)行展示。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了上述第二方面的第一種可能的實(shí)現(xiàn)方式,其中,所述裝置還包括:
增量數(shù)據(jù)獲取模塊,用于按照設(shè)定周期獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù);
更新模塊,用于根據(jù)獲取的所述增量數(shù)據(jù)更新對應(yīng)緩存數(shù)據(jù)區(qū)的匯總數(shù)據(jù)。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第二方面的第二種可能的實(shí)現(xiàn)方式,其中,所述增量數(shù)據(jù)獲取模塊包括:
第一檢查單元,用于按照設(shè)定周期檢查用戶明細(xì)數(shù)據(jù)庫中在當(dāng)前周期內(nèi)是否存在數(shù)據(jù)變化,其中,所述用戶明細(xì)數(shù)據(jù)庫記錄有各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
第一增量數(shù)據(jù)確定單元,用于當(dāng)所述第一檢查單元確定當(dāng)前周期內(nèi)所述用戶明細(xì)數(shù)據(jù)庫內(nèi)有變化的數(shù)據(jù)時,將變化的數(shù)據(jù)作為對應(yīng)用戶的行為記錄的增量數(shù)據(jù);
第二檢查單元,用于當(dāng)所述檢查單元確定當(dāng)前周期內(nèi)所述用戶明細(xì)數(shù)據(jù)庫內(nèi)沒有變化的數(shù)據(jù)時,檢查所述用戶明細(xì)數(shù)據(jù)庫在所述當(dāng)前周期內(nèi)是否發(fā)生有邏輯增量,其中,所述邏輯增量包括因時間和/或地域變化引起所述用戶明細(xì)數(shù)據(jù)庫增加或刪除的數(shù)據(jù);
第二增量數(shù)據(jù)確定單元,用于當(dāng)所述第二檢查單元確定所述用戶明細(xì)數(shù)據(jù)庫有邏輯增量時,將所述邏輯增量作為對應(yīng)用戶的行為記錄的增量數(shù)據(jù)。
結(jié)合第二方面的第一種或者第二種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第二方面的第三種可能的實(shí)現(xiàn)方式,其中,所述裝置還包括:
數(shù)據(jù)讀取模塊,用于讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)所述各個用戶的行為記錄數(shù)據(jù);
生成模塊,用于根據(jù)統(tǒng)計(jì)結(jié)果生成所述各個用戶的匯總數(shù)據(jù);
存儲模塊,用于按照所述各個用戶的標(biāo)識信息將所述匯總數(shù)據(jù)分別存儲于對應(yīng)的緩存數(shù)據(jù)區(qū)。
結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第二方面的第四種可能的實(shí)現(xiàn)方式,其中,所述數(shù)據(jù)讀取模塊包括:
全量數(shù)據(jù)獲取單元,用于當(dāng)全量匯總獲取服務(wù)啟動時或者當(dāng)檢測到所述用戶明細(xì)數(shù)據(jù)庫記錄的數(shù)據(jù)與對應(yīng)的緩存數(shù)據(jù)區(qū)存儲的數(shù)據(jù)不一致時,讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
計(jì)時器啟動單元,用于在所述全量數(shù)據(jù)獲取單元讀取所述行為記錄數(shù)據(jù)時,啟動增量任務(wù)計(jì)時器,以在所述增量任務(wù)計(jì)時器的計(jì)時達(dá)到所述設(shè)定周期對應(yīng)的時長時,觸發(fā)所述增量數(shù)據(jù)獲取模塊獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù)。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了上述第二方面的第五種可能的實(shí)現(xiàn)方式,其中,所述裝置還包括:
信息統(tǒng)計(jì)模塊,用于按照所述用戶登錄的網(wǎng)絡(luò)應(yīng)用的標(biāo)識逐一統(tǒng)計(jì)所述用戶獲取的代金券信息和/或交易信息,所述代金券信息包括:總張數(shù)和/或總金額;所述交易信息包括:對應(yīng)應(yīng)用的支付總金額和/或?qū)?yīng)時間段內(nèi)的支付總金額;
信息整合模塊,用于將統(tǒng)計(jì)得到的所述用戶的代金券信息和/或交易信息整合為所述用戶的匯總數(shù)據(jù)。
第三方面,本發(fā)明實(shí)施例提供了一種服務(wù)器,包括:接收器、顯示器和處理器;
所述接收器,用于接收用戶終端發(fā)送的匯總數(shù)據(jù)的獲取請求,其中,所述獲取請求攜帶有用戶的標(biāo)識信息,所述匯總數(shù)據(jù)根據(jù)所述用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)生成;
所述處理器,用于根據(jù)所述用戶的標(biāo)識信息查找對應(yīng)的緩存數(shù)據(jù)區(qū);
所述顯示器,用于將查找到的所述緩存數(shù)據(jù)區(qū)內(nèi)存儲的匯總數(shù)據(jù)發(fā)送給所述用戶終端以進(jìn)行展示。
本發(fā)明實(shí)施例提供的一種用戶匯總數(shù)據(jù)的展示方法、裝置及服務(wù)器,通過接收用戶終端發(fā)送的攜帶有用戶的標(biāo)識信息的匯總數(shù)據(jù)獲取請求,并根據(jù)獲取請求中用戶的標(biāo)識信息查找出所存儲的匯總數(shù)據(jù)并展示給用戶,從而在用戶登錄網(wǎng)絡(luò)應(yīng)用時,就可以使用戶通過在登錄界面上顯示的匯總數(shù)據(jù)獲悉數(shù)據(jù)的變化情況,以代金券為例,現(xiàn)有技術(shù)中需要用戶點(diǎn)擊用戶界面上的代金券選項(xiàng)后才將用戶在該網(wǎng)站上所持有的代金券的明細(xì)顯示給用戶,本發(fā)明通過上述方式,可以使得用戶在短時間內(nèi)了解在該網(wǎng)站下所擁有的代金券的匯總情況,提高了用戶網(wǎng)上操作的體驗(yàn)度。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1a示出了本發(fā)明實(shí)施例1所提供的一種用戶匯總數(shù)據(jù)的展示方法的流程圖;
圖1b示出了本發(fā)明實(shí)施例1所提供的一種用戶匯總數(shù)據(jù)的展示方法中服務(wù)器獲取匯總數(shù)據(jù)的示意圖;
圖2本發(fā)明實(shí)施例1展示代金券匯總數(shù)據(jù)的示意圖;
圖3示出了本發(fā)明實(shí)施例1所提供的一種用戶匯總數(shù)據(jù)的展示方法中服務(wù)器獲取增量數(shù)據(jù)的示意圖;
圖4示出了本發(fā)明實(shí)施例1所提供的一種用戶匯總數(shù)據(jù)的展示方法中服務(wù)器通過redis存儲層和mysql存儲層獲取匯總數(shù)據(jù)并向用戶展示的示意圖;
圖5示出了本發(fā)明實(shí)施例1所提供的一種用戶匯總數(shù)據(jù)的展示方法中服務(wù)器獲取全量匯總數(shù)據(jù)的示意圖;
圖6示出了本發(fā)明實(shí)施例2提供的一種用戶匯總數(shù)據(jù)的展示裝置的結(jié)構(gòu)示意圖;
圖7示出了本發(fā)明實(shí)施例3提供的一種服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。因此,以下對在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
考慮到相關(guān)技術(shù)中在向用戶顯示代金券的明細(xì)時,由于用戶界面的信息量很大,當(dāng)用戶在該網(wǎng)站上擁有的代金券數(shù)量較多時,使得用戶很難在短時間內(nèi)了解在該網(wǎng)站下所擁有的代金券的整體情況,降低了用戶使用代金券時的用戶體驗(yàn)?;诖耍景l(fā)明實(shí)施例 提供了一種用戶匯總數(shù)據(jù)的展示方法和裝置,下面通過實(shí)施例進(jìn)行描述。
需要說明的是,本發(fā)明實(shí)施例不僅能夠適用于向用戶展示網(wǎng)站的匯總數(shù)據(jù),對于涉及其他類型的網(wǎng)絡(luò)應(yīng)用也同樣適用。實(shí)施例1
本實(shí)施例提供了一種用戶匯總數(shù)據(jù)的展示方法。本發(fā)明實(shí)施例的執(zhí)行主體為服務(wù)器,用戶通過終端登錄網(wǎng)絡(luò)應(yīng)用時,網(wǎng)絡(luò)應(yīng)用的后臺服務(wù)器可以通過本發(fā)明實(shí)施例提供的方法,將用戶在該網(wǎng)絡(luò)應(yīng)用上的匯總數(shù)據(jù)展示在用戶的登錄界面上。
其中,服務(wù)器中至少設(shè)置有展示模型層、屬性選擇層和redis存儲層,來將用戶在該網(wǎng)絡(luò)應(yīng)用上的匯總數(shù)據(jù)展示在用戶的登錄界面上。
參見圖1a和圖1b,本實(shí)施例提供了一種用戶匯總數(shù)據(jù)的展示方法包括如下步驟:
步驟100、接收用戶終端發(fā)送的匯總數(shù)據(jù)的獲取請求,其中,該獲取請求攜帶有用戶的標(biāo)識信息,該匯總數(shù)據(jù)根據(jù)用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)生成。
在用戶登錄網(wǎng)絡(luò)應(yīng)用時,網(wǎng)絡(luò)應(yīng)用會根據(jù)接收到的用戶發(fā)出的登錄指令中攜帶的用戶的標(biāo)識信息,形成匯總數(shù)據(jù)的獲取請求,并將形成的獲取請求發(fā)送給后臺運(yùn)行的服務(wù)器,服務(wù)器通過展示模型層接收匯總數(shù)據(jù)的獲取請求。
其中,用戶終端,是用戶登錄網(wǎng)絡(luò)應(yīng)用時使用的設(shè)備,可以是現(xiàn)有的任何計(jì)算機(jī)、筆記本電腦、移動終端或者掌上電腦。相應(yīng)的,用戶的行為記錄數(shù)據(jù),就是用戶在網(wǎng)絡(luò)應(yīng)用上執(zhí)行過的行為后被網(wǎng)絡(luò)應(yīng)用記錄的數(shù)據(jù)。比如:用戶在淘寶上購買了商品后,淘寶會記錄用戶的交易行為。
步驟102、根據(jù)用戶的標(biāo)識信息查找對應(yīng)的緩存數(shù)據(jù)區(qū)。
具體地,服務(wù)器通過展示模型層接收匯總數(shù)據(jù)的獲取請求后,根據(jù)獲取請求中攜帶的用戶的標(biāo)識信息,在屬性選擇層中確定向用戶展示的匯總數(shù)據(jù)的存儲key值,并根據(jù)確定的存儲key值,生成匯總數(shù)據(jù)讀取指令,并將生成的匯總數(shù)據(jù)讀取指令發(fā)送到redis存儲層,讀取redis存儲層中該存儲key值所對應(yīng)的匯總數(shù)據(jù)。redis存儲層在獲取到匯總數(shù)據(jù)讀取指令后,會根據(jù)匯總數(shù)據(jù)讀取指令中攜帶的存儲key值,先確定該存儲key值對應(yīng)的value值,然后根據(jù)redis存儲層中預(yù)設(shè)的value值和緩存數(shù)據(jù)區(qū)的對應(yīng)關(guān)系表,確定存儲該value值的緩存數(shù)據(jù)區(qū);其中,redis存儲層中包括多個緩存數(shù)據(jù)區(qū),用于存儲各式數(shù)據(jù)。
其中,存儲key值對應(yīng)的value值,就是需要在用戶的登錄界面上展示的匯總數(shù)據(jù)。
步驟104、將查找到的緩存數(shù)據(jù)區(qū)內(nèi)存儲的匯總數(shù)據(jù)發(fā)送給用戶終端以進(jìn)行展示。
redis存儲層從存儲該value值的緩存數(shù)據(jù)區(qū)中讀取到value值后,將讀取到的value值反饋給展示模型層。展示模型層在獲取到redis存儲層反饋的value值后,會將獲取到的value值通過網(wǎng)絡(luò)應(yīng)用展示在用戶的登錄界面上。
參見圖2,在以下各實(shí)施例中,對于用戶在網(wǎng)絡(luò)應(yīng)用上的行為記錄數(shù)據(jù),以登錄網(wǎng)站的代金券為例進(jìn)行說明。
以下以代金券為例,對本實(shí)施例中展示的匯總數(shù)據(jù)的過程進(jìn)行說明。展示匯總數(shù)據(jù)的過程包括:,在將代金券的匯總數(shù)據(jù)展示給用戶時,可以在網(wǎng)絡(luò)應(yīng)用的登錄界面中預(yù)先設(shè)置顯示匯總數(shù)據(jù)的預(yù)設(shè)位置,該預(yù)設(shè)位置可以為登錄界面的上側(cè)、下側(cè)、左側(cè)、右側(cè)或登 錄界面中排序的序號為預(yù)設(shè)序號的展示區(qū)域的位置處。服務(wù)器可以將代金券的匯總數(shù)據(jù)插入登錄界面中的上述預(yù)設(shè)位置處,以在用戶的登錄界面上向用戶展示。
進(jìn)一步地,根據(jù)用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)生成匯總數(shù)據(jù),包括:
按照用戶登錄的網(wǎng)絡(luò)應(yīng)用的標(biāo)識逐一統(tǒng)計(jì)用戶獲取的代金券信息和/或交易信息,代金券信息包括:總張數(shù)和/或總金額;交易信息包括:對應(yīng)應(yīng)用的支付總金額和/或?qū)?yīng)時間段內(nèi)的支付總金額;
將統(tǒng)計(jì)得到的用戶的代金券信息和/或交易信息整合為用戶的匯總數(shù)據(jù)。
其中,服務(wù)器對每個用戶分別設(shè)置有代金券明細(xì)表,代金券明細(xì)表用于記錄每個用戶所擁有的代金券的明細(xì)信息,代金券的明細(xì)信息包括但不限于:代金券可以使用的開始時間和過期時間、最近一次的使用時間、面值和可使用余額。所以在獲取代金券信息時,服務(wù)器只要對每個用戶中當(dāng)前代金券明細(xì)表中記錄的各個代金券的明細(xì)信息進(jìn)行統(tǒng)計(jì),就可以得到每個用戶的代金券信息。
其中,服務(wù)器對注冊的每個用戶分別設(shè)置有交易明細(xì)表,用戶在登錄網(wǎng)址進(jìn)行每一次交易時,服務(wù)器都會記錄下所進(jìn)行的交易明細(xì)信息,交易明細(xì)信息包括但不限于:每次交易的時間、每次交易的金額、每次交易的商品以及該次交易所使用的應(yīng)用名稱。所以在獲取交易信息時,服務(wù)器只要對每個用戶中對交易明細(xì)表中記錄的當(dāng)前交易明細(xì)信息進(jìn)行統(tǒng)計(jì),就可以得到每個用戶在不同應(yīng)用下的交易信息。
以上實(shí)例中,交易所使用的不同網(wǎng)絡(luò)應(yīng)用包括:淘寶、京東以及當(dāng)當(dāng)?shù)荣徫锷坛茿PP。交易明細(xì)表和代金券明細(xì)表都設(shè)置在mysql存儲層中預(yù)設(shè)的明細(xì)數(shù)據(jù)庫中。
綜上所述,本實(shí)施例提供的用戶匯總數(shù)據(jù)的展示方法,通過接收用戶終端發(fā)送的攜帶有用戶的標(biāo)識信息的匯總數(shù)據(jù)獲取請求,并根據(jù)獲取請求中用戶的標(biāo)識信息查找出所存儲的匯總數(shù)據(jù)并展示給用戶,從而在用戶登錄網(wǎng)絡(luò)應(yīng)用時,就可以使用戶通過在登錄界面上顯示的匯總數(shù)據(jù)獲悉數(shù)據(jù)的變化情況,以代金券為例,現(xiàn)有技術(shù)中需要用戶點(diǎn)擊用戶界面上的代金券選項(xiàng)后才將用戶在該網(wǎng)絡(luò)應(yīng)用上所持有的代金券的明細(xì)顯示給用戶,本發(fā)明通過上述方式,可以使得用戶在短時間內(nèi)了解在該網(wǎng)絡(luò)應(yīng)用下所擁有的代金券的匯總情況,提高了用戶網(wǎng)上操作的體驗(yàn)度。
相關(guān)技術(shù)中,為了使用戶可以在登錄后實(shí)時了解代金券的整體情況,在mysql存儲層中會通過binlog的方式對mysql存儲層中存儲的代金券明細(xì)進(jìn)行實(shí)時更新,但是低版本(版本在5.0以下)的mysql存儲層不能通過binlog的方式進(jìn)行更新;而且對代金券明細(xì)進(jìn)行實(shí)時更新的操作,還會造成mysql存儲層中存儲的代金券明細(xì)信息越來越多,所消耗的存儲量也越來越大,所以,為了使低版本的mysql存儲層可以實(shí)時更新代金券的使用情況的同時降低代金券信息所消耗的存儲量,本實(shí)施例提供的用戶匯總數(shù)據(jù)的展示方法還包括以下步驟(1)至步驟(2):
(1)按照設(shè)定周期獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù);
(2)根據(jù)獲取的增量數(shù)據(jù)更新對應(yīng)緩存數(shù)據(jù)區(qū)的匯總數(shù)據(jù)。
具體地,步驟1包括以下步驟(1a)至步驟(1d):
(1a)按照設(shè)定周期檢查用戶明細(xì)數(shù)據(jù)庫中在當(dāng)前周期內(nèi)是否存在數(shù)據(jù)變化,其中,用戶明細(xì)數(shù)據(jù)庫記錄有各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
(1b)如果當(dāng)前周期內(nèi)用戶明細(xì)數(shù)據(jù)庫內(nèi)有變化的數(shù)據(jù),將變化的數(shù)據(jù)作為對應(yīng)用戶的行為記錄的增量數(shù)據(jù);
(1c)如果當(dāng)前周期內(nèi)用戶明細(xì)數(shù)據(jù)庫內(nèi)沒有變化的數(shù)據(jù),檢查用戶明細(xì)數(shù)據(jù)庫在當(dāng)前周期內(nèi)是否發(fā)生有邏輯增量,其中,邏輯增量包括因時間和/或地域變化引起用戶明細(xì)數(shù)據(jù)庫增加或刪除的數(shù)據(jù);
(1d)當(dāng)用戶明細(xì)數(shù)據(jù)庫有邏輯增量時,將邏輯增量作為對應(yīng)用戶的行為記錄的增量數(shù)據(jù)。
其中,變化的數(shù)據(jù)表示明細(xì)數(shù)據(jù)庫中存儲的數(shù)據(jù)發(fā)生了變化,這部分的變化采用在mysql存儲層中增加modify_time來表示(`modify_time`timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP),注意modify_time需要增加索引。
行為記錄的增量數(shù)據(jù),就是指在一個周期內(nèi),各個用戶在不同網(wǎng)絡(luò)應(yīng)用上進(jìn)行新的交易行為時,形成的新的交易信息和新的使用代金券的代金券信息。
邏輯增量表示明細(xì)數(shù)據(jù)庫中存儲數(shù)據(jù)未發(fā)生變化,但因?yàn)闀r間、空間等維度發(fā)生變化,導(dǎo)致不需要展示該明細(xì)數(shù)據(jù)應(yīng)該被剔除或被增加;在本實(shí)施例中,代金券明細(xì)中過期時間表示此邏輯增量。用戶只要進(jìn)行了交易,明細(xì)數(shù)據(jù)庫中的交易明細(xì)表就會記錄一條新的交易明細(xì)信息,從而造成明細(xì)數(shù)據(jù)庫的數(shù)據(jù)變化,而新增的一條交易明細(xì)信息,就會作為當(dāng)前周期內(nèi)的行為記錄的增量數(shù)據(jù)。
如果用戶在進(jìn)行交易時使用了代金券,那么明細(xì)數(shù)據(jù)庫中的代金券明細(xì)表會根據(jù)代金券的使用情況對記錄的代金券明細(xì)信息進(jìn)行更新,那么此時明細(xì)數(shù)據(jù)庫中記錄的數(shù)據(jù)變化的數(shù)據(jù),就是新增的一條新的交易明細(xì)信息以及更新后的代金券明細(xì)信息,所以新增的一條新的交易明細(xì)信息以及更新后的代金券明細(xì)信息此時會作為當(dāng)前周期內(nèi)的行為記錄得增量數(shù)據(jù)。
如果在當(dāng)前周期內(nèi)用戶沒有進(jìn)行交易,只是由于當(dāng)前服務(wù)器的系統(tǒng)時間已經(jīng)達(dá)到某張代金券的過期時間,那么這張過期的代金券就是當(dāng)前周期內(nèi)發(fā)生的邏輯增量,作為行為記錄的增量數(shù)據(jù)。
在服務(wù)器中,還設(shè)置有數(shù)據(jù)處理層;參見圖3,服務(wù)器獲取行為記錄的增量數(shù)據(jù)的流程如下:服務(wù)器通過預(yù)設(shè)的定時任務(wù)調(diào)度器周期性生成增量數(shù)據(jù)匯總服務(wù)請求,并將生成的增量數(shù)據(jù)匯總服務(wù)請求發(fā)送到服務(wù)器的數(shù)據(jù)處理層,使得數(shù)據(jù)處理層從mysql存儲層中獲取行為記錄的增量數(shù)據(jù),數(shù)據(jù)處理層在獲取到行為記錄的增量數(shù)據(jù)后,會將獲取到的行為記錄的增量數(shù)據(jù)發(fā)送到redis存儲層,redis存儲層接收并存儲數(shù)據(jù)處理層發(fā)送的行為記錄的增量數(shù)據(jù),并向服務(wù)器反饋獲取增量數(shù)據(jù)的結(jié)果。
參見圖4,當(dāng)在預(yù)設(shè)期限內(nèi)不能獲取到行為記錄的增量數(shù)據(jù)或者服務(wù)器得到獲取行為記錄的增量數(shù)據(jù)失敗的信息時,服務(wù)器采用現(xiàn)有的mc存儲層+mysql存儲層的查詢方式,獲取并向用戶展示匯總數(shù)據(jù),具體獲取過程包括:服務(wù)器獲取匯總數(shù)據(jù)查詢請求,根據(jù)查詢請求在mc存儲層(比如memcache緩存系統(tǒng))中尋找匯總數(shù)據(jù),如果在mc存儲層中找到用戶需要的匯總數(shù)據(jù),那么直接返回該匯總數(shù)據(jù);如果在mc存儲層中無法找到用戶需要的匯總數(shù)據(jù),那么 會生成sql去mysql存儲層中檢索匯總數(shù)據(jù),將得到檢索到的匯總數(shù)據(jù)緩存入mc存儲層,并由mc存儲層向用戶展示匯總數(shù)據(jù)。
綜上所述,周期性獲取各個用戶的行為記錄的增量數(shù)據(jù),并根據(jù)獲取到的行為記錄的增量數(shù)據(jù),對各個用戶對應(yīng)的緩存數(shù)據(jù)區(qū)中存儲的匯總數(shù)據(jù)進(jìn)行更新,無需使用binlog方式就可以對各個用戶的代金券使用情況以及交易情況進(jìn)行更新,可以使低版本的mysql存儲層也可以實(shí)時更新匯總數(shù)據(jù),而且只需向用戶展示匯總信息,相對于明細(xì)信息的展示,可以降低代金券信息所消耗的redis存儲層的存儲量,提高redis存儲層的使用效率。
相關(guān)技術(shù)中,由于對redis存儲層中緩存的匯總數(shù)據(jù)是周期性更新的,那么在服務(wù)器關(guān)閉之前如果未能對redis存儲層中存儲的匯總數(shù)據(jù)進(jìn)行更新,會造成redis存儲層中存儲的內(nèi)容與mysql存儲層中存儲的匯總數(shù)據(jù)不一致,從而造成向用戶展示匯總數(shù)據(jù)時出現(xiàn)錯誤,為了保證向用戶展示匯總數(shù)據(jù)盡可能正確,在接收匯總數(shù)據(jù)的獲取請求之前,用戶匯總數(shù)據(jù)的展示方法還包括以下步驟1至步驟4:
(1)讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
(2)統(tǒng)計(jì)各個用戶的行為記錄數(shù)據(jù);
(3)根據(jù)統(tǒng)計(jì)結(jié)果生成各個用戶的匯總數(shù)據(jù);
(4)按照各個用戶的標(biāo)識信息將匯總數(shù)據(jù)分別存儲于對應(yīng)的緩存數(shù)據(jù)區(qū)。
具體地,上述步驟1包括以下流程:當(dāng)全量匯總獲取服務(wù)啟動時或者當(dāng)檢測到用戶明細(xì)數(shù)據(jù)庫記錄的數(shù)據(jù)與對應(yīng)的緩存數(shù)據(jù)區(qū)存儲的數(shù)據(jù)不一致時,讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù),并啟動增量任務(wù)計(jì)時器,以在增量任務(wù)計(jì)時 器的計(jì)時達(dá)到設(shè)定周期對應(yīng)的時長時,執(zhí)行獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù)的步驟。
其中,參見圖5,服務(wù)器獲取全量匯總數(shù)據(jù)的過程如下:服務(wù)器會在關(guān)閉并重新啟動時或者對用戶明細(xì)數(shù)據(jù)庫記錄的數(shù)據(jù)與對應(yīng)的緩存數(shù)據(jù)區(qū)存儲的數(shù)據(jù)一致性進(jìn)行檢測時檢測到用戶明細(xì)數(shù)據(jù)庫記錄的數(shù)據(jù)與對應(yīng)的緩存數(shù)據(jù)區(qū)存儲的數(shù)據(jù)不一致時,會向全量匯總數(shù)據(jù)服務(wù)提出請求,全量匯總數(shù)據(jù)服務(wù)在得到服務(wù)器提出的請求后,向mysql存儲層發(fā)送全量匯總數(shù)據(jù)獲取指令,以讀取mysql存儲層中存儲的用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù),在設(shè)定周期對應(yīng)的時長內(nèi)得到各個用戶的行為記錄的增量數(shù)據(jù);并在增量任務(wù)計(jì)時器的計(jì)時達(dá)到設(shè)定周期對應(yīng)的時長時,將獲取到的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù)導(dǎo)入redis存儲層中對應(yīng)的緩存數(shù)據(jù)區(qū)中,完成獲取全量匯總數(shù)據(jù)的操作。
以上實(shí)例中,全量匯總數(shù)據(jù),就是指對mysql存儲層中用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)進(jìn)行統(tǒng)計(jì)后,得到的包含各個用戶的匯總數(shù)據(jù)的數(shù)據(jù)集合。相應(yīng)的,全量匯總數(shù)據(jù)服務(wù),就是服務(wù)器中運(yùn)行的系統(tǒng)進(jìn)程,當(dāng)服務(wù)器想要獲取全量匯總數(shù)據(jù)時,就會調(diào)用該進(jìn)程。
綜上所述,在接收匯總數(shù)據(jù)的獲取請求之前,先對明細(xì)數(shù)據(jù)庫中記錄的用戶行為記錄數(shù)據(jù)進(jìn)行統(tǒng)計(jì)并生成各個用戶的匯總數(shù)據(jù),然后將生成的各個用戶的匯總數(shù)據(jù)存儲到對應(yīng)的緩存數(shù)據(jù)區(qū)中,從而在向用戶展示匯總數(shù)據(jù)時,保證了所展示的匯總數(shù)據(jù)正確率。
實(shí)施例2
參見圖6,本實(shí)施例提供了一種用戶匯總數(shù)據(jù)的展示裝置,該裝置用于執(zhí)行上述實(shí)施例1提供的用戶匯總數(shù)據(jù)的展示方法。該裝置具體包括:
請求接收模塊600,用于接收用戶終端發(fā)送的匯總數(shù)據(jù)的獲取請求,其中,該獲取請求攜帶有用戶的標(biāo)識信息,該匯總數(shù)據(jù)根據(jù)用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)生成;
數(shù)據(jù)查找模塊602,用于根據(jù)用戶的標(biāo)識信息查找對應(yīng)的緩存數(shù)據(jù)區(qū);
展示模塊604,用于將查找到的緩存數(shù)據(jù)區(qū)內(nèi)存儲的匯總數(shù)據(jù)發(fā)送給用戶終端以進(jìn)行展示。
相關(guān)技術(shù)中,為了使用戶可以在登錄后實(shí)時了解代金券的整體情況,在mysql存儲層中會通過binlog的方式對mysql存儲層中存儲的代金券明細(xì)進(jìn)行實(shí)時更新,但是低版本(版本在5.0以下)的mysql存儲層不能通過binlog的方式進(jìn)行更新;而且對代金券明細(xì)進(jìn)行實(shí)時更新的操作,還會造成mysql存儲層中存儲的代金券明細(xì)信息越來越多,所消耗的存儲量也越來越大,所以,為了使低版本的mysql存儲層可以實(shí)時更新代金券的使用情況的同時降低代金券信息所消耗的存儲量,該裝置還包括:
增量數(shù)據(jù)獲取模塊,用于按照設(shè)定周期獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù);
更新模塊,用于根據(jù)獲取的增量數(shù)據(jù)更新對應(yīng)緩存數(shù)據(jù)區(qū)的匯總數(shù)據(jù)。
其中,增量數(shù)據(jù)獲取模塊包括:
第一檢查單元,用于按照設(shè)定周期檢查用戶明細(xì)數(shù)據(jù)庫中在當(dāng)前周期內(nèi)是否存在數(shù)據(jù)變化,其中,用戶明細(xì)數(shù)據(jù)庫記錄有各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
第一增量數(shù)據(jù)確定單元,用于當(dāng)?shù)谝粰z查單元確定當(dāng)前周期內(nèi)用戶明細(xì)數(shù)據(jù)庫內(nèi)有變化的數(shù)據(jù)時,將變化的數(shù)據(jù)作為對應(yīng)用戶的行為記錄的增量數(shù)據(jù);
第二檢查單元,用于當(dāng)檢查單元確定當(dāng)前周期內(nèi)用戶明細(xì)數(shù)據(jù)庫內(nèi)沒有變化的數(shù)據(jù)時,檢查用戶明細(xì)數(shù)據(jù)庫在當(dāng)前周期內(nèi)是否發(fā)生有邏輯增量,其中,邏輯增量包括因時間和/或地域變化引起用戶明細(xì)數(shù)據(jù)庫增加或刪除的數(shù)據(jù);
第二增量數(shù)據(jù)確定單元,用于當(dāng)?shù)诙z查單元確定用戶明細(xì)數(shù)據(jù)庫有邏輯增量時,將邏輯增量作為對應(yīng)用戶的行為記錄的增量數(shù)據(jù)。
綜上所述,周期性獲取各個用戶的行為記錄的增量數(shù)據(jù),并根據(jù)獲取到的行為記錄的增量數(shù)據(jù),對各個用戶對應(yīng)的緩存數(shù)據(jù)區(qū)中存儲的匯總數(shù)據(jù)進(jìn)行更新,無需使用binlog方式就可以對各個用戶的代金券使用情況以及交易情況進(jìn)行更新,可以使低版本的mysql存儲層也可以實(shí)時更新匯總數(shù)據(jù),而且只需向用戶展示匯總信息,相對于明細(xì)信息的展示,可以降低代金券信息所消耗的redis存儲層的存儲量,提高redis存儲層的使用效率。
相關(guān)技術(shù)中,由于對redis存儲層中緩存的匯總數(shù)據(jù)是周期性更新的,那么在服務(wù)器關(guān)閉之前如果未能對redis存儲層中存儲的匯總數(shù)據(jù)進(jìn)行更新,會造成redis存儲層中存儲的內(nèi)容與mysql存儲層中存儲的匯總數(shù)據(jù)不一致,從而造成向用戶展示匯總數(shù)據(jù)時出現(xiàn)錯誤,為了保證向用戶展示匯總數(shù)據(jù)盡可能正確,該裝置還包括:
數(shù)據(jù)讀取模塊,用于讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)各個用戶的行為記錄數(shù)據(jù);
生成模塊,用于根據(jù)統(tǒng)計(jì)結(jié)果生成各個用戶的匯總數(shù)據(jù);
存儲模塊,用于按照各個用戶的標(biāo)識信息將匯總數(shù)據(jù)分別存儲于對應(yīng)的緩存數(shù)據(jù)區(qū)。
其中,數(shù)據(jù)讀取模塊包括:全量數(shù)據(jù)獲取單元,用于當(dāng)全量匯總獲取服務(wù)啟動時或者當(dāng)檢測到用戶明細(xì)數(shù)據(jù)庫記錄的數(shù)據(jù)與對應(yīng)的緩存數(shù)據(jù)區(qū)存儲的數(shù)據(jù)不一致時,讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);
計(jì)時器啟動單元,用于在全量數(shù)據(jù)獲取單元讀取行為記錄數(shù)據(jù)時,啟動增量任務(wù)計(jì)時器,以在增量任務(wù)計(jì)時器的計(jì)時達(dá)到設(shè)定周期對應(yīng)的時長時,觸發(fā)增量數(shù)據(jù)獲取模塊獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù)。
綜上所述,在接收匯總數(shù)據(jù)的獲取請求之前,先對明細(xì)數(shù)據(jù)庫中記錄的用戶行為記錄數(shù)據(jù)進(jìn)行統(tǒng)計(jì)并生成各個用戶的匯總數(shù)據(jù),然后將生成的各個用戶的匯總數(shù)據(jù)存儲到對應(yīng)的緩存數(shù)據(jù)區(qū)中,從而在向用戶展示匯總數(shù)據(jù)時,保證了所展示的匯總數(shù)據(jù)正確率。
當(dāng)匯總數(shù)據(jù)是涉及用戶使用代金券進(jìn)行交易的數(shù)據(jù)時,該裝置還包括:
信息統(tǒng)計(jì)模塊,用于按照用戶登錄的網(wǎng)絡(luò)應(yīng)用的標(biāo)識逐一統(tǒng)計(jì)用戶獲取的代金券信息和/或交易信息,代金券信息包括:總張數(shù)和/或總金額;交易信息包括:對應(yīng)應(yīng)用的支付總金額和/或?qū)?yīng)時間段內(nèi)的支付總金額;
信息整合模塊,用于將統(tǒng)計(jì)得到的用戶的代金券信息和/或交易信息整合為用戶的匯總數(shù)據(jù)。
綜上所述,本實(shí)施例提供的用戶匯總數(shù)據(jù)的展示裝置,通過接收用戶終端發(fā)送的攜帶有用戶的標(biāo)識信息的匯總數(shù)據(jù)獲取請求,并根據(jù)獲取請求中用戶的標(biāo)識信息查找出所存儲的匯總數(shù)據(jù)并展示給用戶,從而在用戶登錄網(wǎng)絡(luò)應(yīng)用時,就可以使用戶通過在登錄界面上顯示的匯總數(shù)據(jù)獲悉數(shù)據(jù)的變化情況,以代金券為例,現(xiàn)有技術(shù)中需要用戶點(diǎn)擊用戶界面上的代金券選項(xiàng)后才將用戶在該網(wǎng)絡(luò)應(yīng)用上所持有的代金券的明細(xì)顯示給用戶,本發(fā)明通過上述方式,可以使得用戶在短時間內(nèi)了解在該網(wǎng)絡(luò)應(yīng)用下所擁有的代金券的匯總情況,提高了用戶網(wǎng)上操作的體驗(yàn)度。
實(shí)施例3
參見圖7,本發(fā)明實(shí)施例提供了一種服務(wù)器,該服務(wù)器用于執(zhí)行上述實(shí)施例1提供的用戶匯總數(shù)據(jù)的展示方法。該服務(wù)器具體包括:接收器700、顯示器702和處理器704;
接收器700,用于接收用戶終端發(fā)送的匯總數(shù)據(jù)的獲取請求,其中,該獲取請求攜帶有用戶的標(biāo)識信息,該匯總數(shù)據(jù)根據(jù)用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)生成;
處理器702,用于根據(jù)用戶的標(biāo)識信息查找對應(yīng)的緩存數(shù)據(jù)區(qū);
顯示器704,用于將查找到的緩存數(shù)據(jù)區(qū)內(nèi)存儲的匯總數(shù)據(jù)發(fā)送給用戶終端以進(jìn)行展示。
相關(guān)技術(shù)中,為了使用戶可以在登錄后實(shí)時了解代金券的整體情況,在mysql存儲層中會通過binlog的方式對mysql存儲層中存儲的代金券明細(xì)進(jìn)行實(shí)時更新,但是低版本(版本在5.0以下)的mysql存儲層不能通過binlog的方式進(jìn)行更新;而且對代金券明細(xì) 進(jìn)行實(shí)時更新的操作,還會造成mysql存儲層中存儲的代金券明細(xì)信息越來越多,所消耗的存儲量也越來越大,所以,為了使低版本的mysql存儲層可以實(shí)時更新代金券的使用情況的同時降低代金券信息所消耗的存儲量,處理器702還用于:按照設(shè)定周期獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù);根據(jù)獲取的增量數(shù)據(jù)更新對應(yīng)緩存數(shù)據(jù)區(qū)的匯總數(shù)據(jù)。
其中,處理器702按照設(shè)定周期獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù)時,具體用于:按照設(shè)定周期檢查用戶明細(xì)數(shù)據(jù)庫中在當(dāng)前周期內(nèi)是否存在數(shù)據(jù)變化,其中,用戶明細(xì)數(shù)據(jù)庫記錄有各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);當(dāng)前周期內(nèi)用戶明細(xì)數(shù)據(jù)庫內(nèi)有變化的數(shù)據(jù)時,將變化的數(shù)據(jù)作為對應(yīng)用戶的行為記錄的增量數(shù)據(jù);當(dāng)前周期內(nèi)用戶明細(xì)數(shù)據(jù)庫內(nèi)沒有變化的數(shù)據(jù)時,檢查用戶明細(xì)數(shù)據(jù)庫在當(dāng)前周期內(nèi)是否發(fā)生有邏輯增量,其中,邏輯增量包括因時間和/或地域變化引起用戶明細(xì)數(shù)據(jù)庫增加或刪除的數(shù)據(jù);當(dāng)用戶明細(xì)數(shù)據(jù)庫有邏輯增量時,將邏輯增量作為對應(yīng)用戶的行為記錄的增量數(shù)據(jù)。
綜上所述,周期性獲取各個用戶的行為記錄的增量數(shù)據(jù),并根據(jù)獲取到的行為記錄的增量數(shù)據(jù),對各個用戶對應(yīng)的緩存數(shù)據(jù)區(qū)中存儲的匯總數(shù)據(jù)進(jìn)行更新,無需使用binlog方式就可以對各個用戶的代金券使用情況以及交易情況進(jìn)行更新,可以使低版本的mysql存儲層也可以實(shí)時更新匯總數(shù)據(jù),而且只需向用戶展示匯總信息,相對于明細(xì)信息的展示,可以降低代金券信息所消耗的redis存儲層的存儲量,提高redis存儲層的使用效率。
相關(guān)技術(shù)中,由于對redis存儲層中緩存的匯總數(shù)據(jù)是周期性更新的,那么在服務(wù)器關(guān)閉之前如果未能對redis存儲層中存儲的匯總 數(shù)據(jù)進(jìn)行更新,會造成redis存儲層中存儲的內(nèi)容與mysql存儲層中存儲的匯總數(shù)據(jù)不一致,從而造成向用戶展示匯總數(shù)據(jù)時出現(xiàn)錯誤,為了保證向用戶展示匯總數(shù)據(jù)盡可能正確,該處理器702還用于:
讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù);統(tǒng)計(jì)各個用戶的行為記錄數(shù)據(jù);根據(jù)統(tǒng)計(jì)結(jié)果生成各個用戶的匯總數(shù)據(jù);按照各個用戶的標(biāo)識信息將匯總數(shù)據(jù)分別存儲于對應(yīng)的緩存數(shù)據(jù)區(qū)。
其中,該處理器702在讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù)時,具體用于:當(dāng)全量匯總獲取服務(wù)啟動時或者當(dāng)檢測到用戶明細(xì)數(shù)據(jù)庫記錄的數(shù)據(jù)與對應(yīng)的緩存數(shù)據(jù)區(qū)存儲的數(shù)據(jù)不一致時,讀取用戶明細(xì)數(shù)據(jù)庫中記錄的各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄數(shù)據(jù),并啟動增量任務(wù)計(jì)時器,以在增量任務(wù)計(jì)時器的計(jì)時達(dá)到設(shè)定周期對應(yīng)的時長時,獲取各個用戶在網(wǎng)絡(luò)應(yīng)用的行為記錄的增量數(shù)據(jù)。
綜上所述,在接收匯總數(shù)據(jù)的獲取請求之前,先對明細(xì)數(shù)據(jù)庫中記錄的用戶行為記錄數(shù)據(jù)進(jìn)行統(tǒng)計(jì)并生成各個用戶的匯總數(shù)據(jù),然后將生成的各個用戶的匯總數(shù)據(jù)存儲到對應(yīng)的緩存數(shù)據(jù)區(qū)中,從而在向用戶展示匯總數(shù)據(jù)時,保證了所展示的匯總數(shù)據(jù)正確率。
當(dāng)匯總數(shù)據(jù)是涉及用戶使用代金券進(jìn)行交易的數(shù)據(jù)時,該處理器702還用于:按照用戶登錄的網(wǎng)絡(luò)應(yīng)用的標(biāo)識逐一統(tǒng)計(jì)用戶獲取的代金券信息和/或交易信息,代金券信息包括:總張數(shù)和/或總金額;交易信息包括:對應(yīng)應(yīng)用的支付總金額和/或?qū)?yīng)時間段內(nèi)的支付總金額;將統(tǒng)計(jì)得到的用戶的代金券信息和/或交易信息整合為用戶的匯總數(shù)據(jù)。
綜上所述,本實(shí)施例提供的服務(wù)器,通過接收用戶終端發(fā)送的攜帶有用戶的標(biāo)識信息的匯總數(shù)據(jù)獲取請求,并根據(jù)獲取請求中用戶的標(biāo)識信息查找出所存儲的匯總數(shù)據(jù)并展示給用戶,從而在用戶登錄網(wǎng)絡(luò)應(yīng)用時,就可以使用戶通過在登錄界面上顯示的匯總數(shù)據(jù)獲悉數(shù)據(jù)的變化情況,以代金券為例,現(xiàn)有技術(shù)中需要用戶點(diǎn)擊用戶界面上的代金券選項(xiàng)后才將用戶在該網(wǎng)絡(luò)應(yīng)用上所持有的代金券的明細(xì)顯示給用戶,本發(fā)明通過上述方式,可以使得用戶在短時間內(nèi)了解在該網(wǎng)絡(luò)應(yīng)用下所擁有的代金券的匯總情況,提高了用戶網(wǎng)上操作的體驗(yàn)度。
本發(fā)明實(shí)施例所提供的進(jìn)行用戶匯總數(shù)據(jù)的展示的計(jì)算機(jī)程序產(chǎn)品,包括存儲了程序代碼的計(jì)算機(jī)可讀存儲介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中所述的方法,具體實(shí)現(xiàn)可參見方法實(shí)施例,在此不再贅述。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,又例如,多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。