一種抽獎(jiǎng)資格索引系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫索引技術(shù)領(lǐng)域,尤其涉及一種抽獎(jiǎng)資格索引系統(tǒng)及方法。
【背景技術(shù)】
[0002]傳統(tǒng)的抽獎(jiǎng)系統(tǒng)通常為傳統(tǒng)數(shù)據(jù)庫,其在數(shù)據(jù)庫中建立一張用戶抽獎(jiǎng)資格表,每一次查詢抽獎(jiǎng)資格都需要在該數(shù)據(jù)庫中執(zhí)行一次查詢語句,若存在用戶重復(fù)查詢抽獎(jiǎng)資格時(shí),上述查詢語句的重復(fù)執(zhí)行次數(shù)會(huì)非常多,從而拖慢整個(gè)查詢速度。如果存在大量的并發(fā)的重復(fù)查詢操作,則可能會(huì)造成數(shù)據(jù)庫的服務(wù)質(zhì)量下降,甚至無法正常提供服務(wù)。
【發(fā)明內(nèi)容】
[0003]根據(jù)現(xiàn)有技術(shù)中存在的上述問題,現(xiàn)提供一種抽獎(jiǎng)資格索引系統(tǒng)及方法的技術(shù)方案,旨在提升抽獎(jiǎng)資格重復(fù)查詢的查詢效率,并且能夠保持整個(gè)抽獎(jiǎng)系統(tǒng)中抽獎(jiǎng)資格狀態(tài)的統(tǒng)一性。
[0004]上述技術(shù)方案具體包括:
[0005]—種抽獎(jiǎng)資格索引系統(tǒng),其中,包括:
[0006]第一存儲(chǔ)單元,用于保存關(guān)聯(lián)于不同的使用者的抽獎(jiǎng)資格信息;
[0007]第一索引單元,連接所述第一存儲(chǔ)單元,用于針對(duì)每一個(gè)所述抽獎(jiǎng)資格信息設(shè)置一個(gè)用于索引的資格標(biāo)識(shí)信息,每個(gè)所述資格標(biāo)識(shí)信息對(duì)應(yīng)一個(gè)用戶信息;
[0008]第二索引單元,連接所述第一索引單元,用于根據(jù)每一個(gè)所述資格標(biāo)識(shí)信息設(shè)置一個(gè)用于索引的資格權(quán)重信息,所述資格權(quán)重信息包括關(guān)聯(lián)于所述資格標(biāo)識(shí)信息的所述用戶信息和資格過期時(shí)間;
[0009]第一查詢單元,連接所述第二索引單元,用于根據(jù)所述用戶信息查詢得到所述第二索引單元中包括的對(duì)應(yīng)的所述資格權(quán)重信息,從而根據(jù)所述資格權(quán)重信息索引得到所述資格標(biāo)識(shí)信息,以及根據(jù)所述資格標(biāo)識(shí)信息最終索引得到所述抽獎(jiǎng)資格信息并輸出。
[0010]優(yōu)選的,該抽獎(jiǎng)資格索引系統(tǒng),其中,所述資格過期時(shí)間從一針對(duì)所述抽獎(jiǎng)資格信息的預(yù)設(shè)的起始操作時(shí)間起至一針對(duì)所述抽獎(jiǎng)資格信息的預(yù)設(shè)的終止操作時(shí)間為止;
[0011 ]所述第一查詢單元將當(dāng)前查詢的時(shí)間作為所述終止操作時(shí)間,查找是否存在相匹配的所述用戶信息的操作時(shí)間處于所述資格過期時(shí)間內(nèi),并根據(jù)查找得到的所述用戶信息獲得所述資格標(biāo)識(shí)信息,以及根據(jù)所述資格標(biāo)識(shí)信息索引得到所述抽獎(jiǎng)資格信息并輸出。
[0012]優(yōu)選的,該抽獎(jiǎng)資格索引系統(tǒng),其中,所述第一查詢單元根據(jù)所述用戶信息查詢得到至少一個(gè)所述資格權(quán)重信息;
[0013]則所述抽獎(jiǎng)資格索引系統(tǒng)中還包括:
[0014]展示單元,連接所述第一查詢單元,用于將所述第一查詢單元查詢得到的所述資格權(quán)重信息的個(gè)數(shù)展示給使用者查看。
[0015]優(yōu)選的,該抽獎(jiǎng)資格索引系統(tǒng),其中,適用于redis存儲(chǔ)系統(tǒng);
[0016]所述第一索引單元采用鍵值對(duì)形式的索引建立方式形成包括所述資格標(biāo)識(shí)信息的索引信息,采用所述資格標(biāo)識(shí)信息形成鍵值信息,以及采用經(jīng)過序列化后的所述抽獎(jiǎng)資格信息形成形式信息。
[0017]優(yōu)選的,該抽獎(jiǎng)資格索引系統(tǒng),其中,還包括:
[0018]新增單元,分別連接所述第一索引單元和所述第二索引單元,用于根據(jù)新增的所述抽獎(jiǎng)資格信息分別形成用于索引的所述資格標(biāo)識(shí)信息以及所述資格權(quán)重信息;
[0019]第二存儲(chǔ)單元,分別連接所述新增單元和所述第一索引單元,新增的所述抽獎(jiǎng)資格信息被同時(shí)保存于所述第二存儲(chǔ)單元中,所述第一索引單元根據(jù)所述第二存儲(chǔ)單元中保存的所述抽獎(jiǎng)資格信息生成相應(yīng)的用于索引的所述資格標(biāo)識(shí)信息;
[0020]標(biāo)記單元,連接所述第二存儲(chǔ)單元,用于將在所述第二存儲(chǔ)單元中的保存時(shí)間超過一預(yù)設(shè)的過期時(shí)間的所述抽獎(jiǎng)資格信息標(biāo)記為過期;
[0021]第二查詢單元,連接所述第二索引單元,用于按照預(yù)設(shè)的第一時(shí)間間隔查找得到至當(dāng)前時(shí)間為止在所述第二存儲(chǔ)單元中保存的被標(biāo)記為過期的所述抽獎(jiǎng)資格信息,并包括在一待清理列表中輸出;
[0022]清理單元,分別連接所述第二查詢單元、所述第一索引單元、所述第二索引單元以及所述第二存儲(chǔ)單元,用于根據(jù)所述待清理列表刪除對(duì)應(yīng)的所述抽獎(jiǎng)資格信息。
[0023]優(yōu)選的,該抽獎(jiǎng)資格索引系統(tǒng),其中,還包括:
[0024]狀態(tài)更改單元,連接所述第二索引單元,用于在關(guān)聯(lián)于所述抽獎(jiǎng)資格信息的抽獎(jiǎng)資格被使用后,將所述第二索引單元中的對(duì)應(yīng)所述抽獎(jiǎng)資格信息中的所述操作時(shí)間更新為大于所述終止操作時(shí)間的一預(yù)設(shè)值。
[0025]優(yōu)選的,該抽獎(jiǎng)資格索引系統(tǒng),其中,還包括:
[0026]操作記錄單元,連接所述新增單元,用于記錄對(duì)所述抽獎(jiǎng)資格信息的新增記錄,以及對(duì)關(guān)聯(lián)于所述抽獎(jiǎng)資格信息的抽獎(jiǎng)資格的使用記錄;
[0027]同步單元,分別連接所述操作記錄單元和所述第一存儲(chǔ)單元,用于根據(jù)所述操作記錄單元中的所述新增記錄和/或所述使用記錄:
[0028]將所述抽獎(jiǎng)資格信息添加入所述第一存儲(chǔ)單元中;和/或
[0029]更改保存于所述第一存儲(chǔ)單元中的所述抽獎(jiǎng)資格信息的使用狀態(tài)。
[0030]優(yōu)選的,該抽獎(jiǎng)資格索引系統(tǒng),其中,在所述操作記錄單元中針對(duì)同一個(gè)所述抽獎(jiǎng)資格信息只存在所述新增記錄時(shí),所述同步單元將所述抽獎(jiǎng)資格信息添加入所述第一存儲(chǔ)單元中;或者
[0031]在所述操作記錄單元中針對(duì)同一個(gè)所述抽獎(jiǎng)資格信息只存在所述使用記錄時(shí),所述同步單元將所述第一存儲(chǔ)單元中保存的對(duì)應(yīng)的所述抽獎(jiǎng)資格信息的所述使用狀態(tài)更改為已使用;或者
[0032]在所述操作記錄單元中針對(duì)同一個(gè)所述抽獎(jiǎng)資格信息同時(shí)存在所述新增記錄和所述使用記錄時(shí),所述同步單元將所述抽獎(jiǎng)資格信息添加入所述第一存儲(chǔ)單元中,并且將被添加的所述抽獎(jiǎng)資格信息的所述使用狀態(tài)更改為已使用。
[0033]優(yōu)選的,該抽獎(jiǎng)資格索引系統(tǒng),其中,還包括:
[0034]操作清除單元,分別連接所述操作記錄單元和所述同步單元;
[0035]所述操作清除單元用于:
[0036]在所述同步單元進(jìn)行一次將所述抽獎(jiǎng)資格信息添加入所述第一存儲(chǔ)單元中的操作或者進(jìn)行一次更改所述抽獎(jiǎng)資格信息的使用狀態(tài)的操作后,清除所述操作記錄單元中保存的關(guān)聯(lián)于對(duì)應(yīng)的所述抽獎(jiǎng)資格信息的所有所述新增記錄以及所述使用記錄。
[0037]一種抽獎(jiǎng)資格索引方法,其中,:
[0038]于一第一存儲(chǔ)單元中保存關(guān)聯(lián)于不同的使用者的抽獎(jiǎng)資格信息;
[0039]針對(duì)每一個(gè)所述抽獎(jiǎng)資格信息設(shè)置一個(gè)用于索引的資格標(biāo)識(shí)信息,每個(gè)所述資格標(biāo)識(shí)信息對(duì)應(yīng)一個(gè)用戶信息;
[0040]根據(jù)每一個(gè)所述資格標(biāo)識(shí)信息設(shè)置一個(gè)用于索引的資格權(quán)重信息,所述資格權(quán)重信息包括關(guān)聯(lián)于所述資格標(biāo)識(shí)信息的所述用戶信息和資格過期時(shí)間,還包括:
[0041]步驟SI,根據(jù)所述用戶信息查詢得到所述第二索引單元中包括的對(duì)應(yīng)的所述資格權(quán)重信息;
[0042]步驟S2,根據(jù)所述資格權(quán)重信息索引得到所述資格標(biāo)識(shí)信息;
[0043]步驟S3,根據(jù)所述資格標(biāo)識(shí)信息最終索引得到所述抽獎(jiǎng)資格信息并輸出。
[0044]優(yōu)選的,該抽獎(jiǎng)資格索引方法,其中,所述資格過期時(shí)間從一針對(duì)所述抽獎(jiǎng)資格信息的預(yù)設(shè)的起始操作時(shí)間起至一針對(duì)所述抽獎(jiǎng)資格信息的預(yù)設(shè)的終止操作時(shí)間為止;
[0045]所述步驟S3具體包括:
[0046]步驟S31,將當(dāng)前查詢的時(shí)間作為所述終止操作時(shí)間,查找是否存在相匹配的所述用戶信息的操作時(shí)間處于所述資格過期時(shí)間內(nèi):
[0047]若不存在相匹配的所述用戶信息,則退出;
[0048]步驟S32,根據(jù)查找得到的所述用戶信息獲得所述資格標(biāo)識(shí)信息;
[0049]步驟S33,根據(jù)所述資格標(biāo)識(shí)信息索引得到所述抽獎(jiǎng)資格信息并輸出。
[0050]優(yōu)選的,該抽獎(jiǎng)資格索引方法,其中,所述步驟SI中,根據(jù)所述用戶信息查詢得到至少一個(gè)所述資格權(quán)重信息,并通過一顯示屏將所述第一查詢單元查詢得到的所述資格權(quán)重信息的個(gè)數(shù)展示給使用者查看。
[0051]優(yōu)選的,該抽獎(jiǎng)資格索引方法,其中,適用于redis存儲(chǔ)系統(tǒng),并且采用鍵值對(duì)形式的索引建立方式形成包括所述資格標(biāo)識(shí)信息的索引信息,采用所述資格標(biāo)識(shí)信息形成鍵值信息,以及采用經(jīng)過序列化后的所述抽獎(jiǎng)資格信息形成形式信息。
[0052]優(yōu)選的,該抽獎(jiǎng)資格索引方法,其中,于所述第一存儲(chǔ)單元中清理過期的所述抽獎(jiǎng)資格信息的步驟包括:
[0053]步驟Al,根據(jù)新增的所述抽獎(jiǎng)資格信息分別形成用于索引的所述資格標(biāo)識(shí)信息以及所述資格權(quán)重信息,并將新增的所述抽獎(jiǎng)資格信息保存于一第二存儲(chǔ)單元中;
[0054]步驟A2,將在所述第二存儲(chǔ)單元中的保存時(shí)間超過一預(yù)設(shè)的過期時(shí)間的所述抽獎(jiǎng)資格信息標(biāo)記為過期;
[0055]步驟A3,按照預(yù)設(shè)的第一時(shí)間間隔查找得到至當(dāng)前時(shí)間為止在所述第二存儲(chǔ)單元中保存的被標(biāo)記為過期的所述抽獎(jiǎng)資格信息,并包括在一待清理列表中輸出;
[0056]步驟A4,根據(jù)所述待清理列表刪除對(duì)應(yīng)的所述抽獎(jiǎng)資格信息。
[0057]優(yōu)選的,該抽獎(jiǎng)資格索引方法,其中,在關(guān)聯(lián)于所述抽獎(jiǎng)資格信息的抽獎(jiǎng)資格被使用后,將所述第二索引單元中的對(duì)應(yīng)所述抽獎(jiǎng)資格信息中的所述操作時(shí)間更新為大于所述終止操作時(shí)間的一預(yù)設(shè)值。
[0058]優(yōu)選的,該抽獎(jiǎng)資格索引方法,其中,記錄對(duì)所述抽獎(jiǎng)資格信息的新增記錄,以及對(duì)關(guān)聯(lián)于所述抽獎(jiǎng)資格信息的抽獎(jiǎng)資格的使用記錄;
[0059]則采用一同步單元,根據(jù)所述新增記錄和/或所述使用記錄:
[0060]將所述抽獎(jiǎng)資格信息添加入所述第一存儲(chǔ)單元中;和/或
[0061]更改保存于所述第一存儲(chǔ)單元中的所述抽獎(jiǎng)資格信息的使用狀態(tài)。
[0062]優(yōu)選的,該抽獎(jiǎng)資格