一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng)和方法
【專利摘要】本發(fā)明提供一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng)和方法,其中系統(tǒng)包括用于運(yùn)行處理進(jìn)程將關(guān)系表內(nèi)的數(shù)據(jù)建立關(guān)聯(lián)關(guān)系的關(guān)系表數(shù)據(jù)生成模塊、將關(guān)系表數(shù)據(jù)載入客戶端公共接口的memcached緩存中的關(guān)系表數(shù)據(jù)載入模塊、對memcached緩存中的關(guān)系表數(shù)據(jù)進(jìn)行更新處理的緩存更新模塊和對memcached緩存中的關(guān)系表數(shù)據(jù)的關(guān)聯(lián)關(guān)系進(jìn)行校驗(yàn)的關(guān)系表數(shù)據(jù)校驗(yàn)?zāi)K;本發(fā)明將數(shù)據(jù)量龐大的關(guān)系表數(shù)據(jù)提前建立好關(guān)聯(lián)關(guān)系再保存到緩存中,載入緩存前,將數(shù)據(jù)進(jìn)行壓縮處理后再載入,減少數(shù)據(jù)傳送的時(shí)間,提高了載入速度,實(shí)現(xiàn)可見即可得的效果,易于及時(shí)對關(guān)聯(lián)數(shù)據(jù)進(jìn)行更新,并進(jìn)行關(guān)聯(lián)數(shù)據(jù)的校驗(yàn),保證了數(shù)據(jù)的可靠性,能夠快速提高數(shù)據(jù)處理效率。
【專利說明】
一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng)和方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明主要涉及數(shù)據(jù)處理領(lǐng)域,具體涉及一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng)和方 法。
【背景技術(shù)】
[0002] 移動(dòng)BOSS系統(tǒng)中,基于產(chǎn)品模型的業(yè)務(wù)產(chǎn)品受理模塊,如開戶,產(chǎn)品變更等模塊, 在受理過程中需要給用戶訂購產(chǎn)品資費(fèi)信息,但因涉及到業(yè)務(wù)規(guī)則,各產(chǎn)品間的數(shù)據(jù)存在 各種關(guān)系(可選,依賴,互斥等等),受理過程中需要一一校驗(yàn)待受理產(chǎn)品資費(fèi)和已受理產(chǎn)品 資費(fèi)的關(guān)系。同時(shí)操作員受理的時(shí)候需要根據(jù)不同用戶展示不同的產(chǎn)品信息(展示的產(chǎn)品 資費(fèi)需要能夠訂購,即可見即可得)。
[0003] 現(xiàn)系統(tǒng)是將產(chǎn)品資費(fèi)的關(guān)系數(shù)據(jù)保存在物理表中(移動(dòng)BOSS-般保存在ORACLE庫 中),每個(gè)用戶受理的時(shí)候需要實(shí)時(shí)計(jì)算用戶數(shù)據(jù)和配置數(shù)據(jù)的關(guān)系,通過數(shù)據(jù)庫計(jì)算結(jié) 果,嚴(yán)重影響受理效率和用戶感知。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是提供一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng)和方法,將 關(guān)系表數(shù)據(jù)提前建立好關(guān)系再保存到緩存中,能夠快速提高計(jì)算效率,實(shí)現(xiàn)可見即可得的 效果。
[0005] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng), 包括關(guān)系表數(shù)據(jù)生成模塊、關(guān)系表數(shù)據(jù)載入模塊、緩存更新模塊和關(guān)系表數(shù)據(jù)校驗(yàn)?zāi)K,
[0006] 所述關(guān)系表數(shù)據(jù)生成模塊,用于建立關(guān)系表數(shù)據(jù)的處理進(jìn)程,并根據(jù)預(yù)設(shè)的配置 表運(yùn)行處理進(jìn)程,從而將關(guān)系表內(nèi)的數(shù)據(jù)以key-value數(shù)據(jù)形式建立關(guān)聯(lián)關(guān)系;
[0007] 所述關(guān)系表數(shù)據(jù)載入模塊,用于將key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)進(jìn)行壓縮處 理,并載入客戶端公共接口的memcached緩存中;
[0008] 所述緩存更新模塊,用于根據(jù)所述配置表的數(shù)據(jù)變化對memcached緩存中的關(guān)系 表數(shù)據(jù)進(jìn)行更新處理;
[0009] 所述關(guān)系表數(shù)據(jù)校驗(yàn)?zāi)K,用于對memcached緩存中的關(guān)系表數(shù)據(jù)的關(guān)聯(lián)關(guān)系進(jìn) 行校驗(yàn)。
[0010] 本發(fā)明的有益效果是:將數(shù)據(jù)量龐大的關(guān)系表數(shù)據(jù)提前建立好關(guān)聯(lián)關(guān)系再保存到 緩存中,載入緩存前,將數(shù)據(jù)進(jìn)行壓縮處理后再載入,減少數(shù)據(jù)傳送的時(shí)間,提高了載入速 度,實(shí)現(xiàn)可見即可得的效果,易于及時(shí)對關(guān)聯(lián)數(shù)據(jù)進(jìn)行更新,并進(jìn)行關(guān)聯(lián)數(shù)據(jù)的校驗(yàn),保證 了數(shù)據(jù)的可靠性,能夠快速提高數(shù)據(jù)處理效率。
[0011] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0012] 進(jìn)一步,所述關(guān)系表數(shù)據(jù)生成模塊包括進(jìn)程建立單元、信息讀取單元和數(shù)據(jù)關(guān)聯(lián) 建立單元,
[0013] 所述進(jìn)程建立單元,用于建立關(guān)系表數(shù)據(jù)的處理進(jìn)程;
[0014] 所述信息讀取單元,用于根據(jù)預(yù)設(shè)的配置表執(zhí)行處理進(jìn)程,來獲得關(guān)系表數(shù)據(jù)中 的主資費(fèi)信息,并根據(jù)所述主資費(fèi)信息獲得對應(yīng)的可選關(guān)系數(shù)據(jù);
[0015] 所述數(shù)據(jù)關(guān)聯(lián)建立單元,用于將獲得的主資費(fèi)信息和可選關(guān)系數(shù)據(jù)利用key-value 數(shù)據(jù)形式建立關(guān)聯(lián)關(guān)系 ,其中 key 值為主資費(fèi)信息, value 值為可選關(guān)系數(shù)據(jù)。
[0016] 采用上述進(jìn)一步方案的有益效果是:提前將龐大的主資費(fèi)信息與可選關(guān)系數(shù)據(jù)進(jìn) 行關(guān)聯(lián)關(guān)系的預(yù)處理,便于快速的導(dǎo)入memcached緩存中。
[0017]進(jìn)一步,所述可選關(guān)系數(shù)據(jù)建立成json串的數(shù)據(jù)格式。
[0018]采用上述進(jìn)一步方案的有益效果是:利于對可選關(guān)系數(shù)據(jù)進(jìn)行處理,數(shù)據(jù)處理速 度得以提高。
[0019] 進(jìn)一步,所述緩存更新模塊包括配置表檢測單元和更新處理單元,
[0020] 所述配置表檢測單元,用于實(shí)時(shí)檢測配置表的數(shù)據(jù)變化,當(dāng)產(chǎn)生變化時(shí),發(fā)送更新 指令至所述更新處理單元;
[0021] 所述更新處理單元,用于根據(jù)更新指令調(diào)用所述關(guān)系表數(shù)據(jù)生成模塊根據(jù)配置表 的新數(shù)據(jù)建立新的key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系,并發(fā)送載入指令至所述關(guān)系表數(shù)據(jù)載 入模塊,從而將新的key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)在memcached緩存中更新。
[0022] 采用上述進(jìn)一步方案的有益效果是:能夠根據(jù)配置表的數(shù)據(jù)變化,實(shí)時(shí)更新關(guān)系 表數(shù)據(jù),實(shí)現(xiàn)可見即可得的效果。
[0023] 進(jìn)一步,所述關(guān)系表數(shù)據(jù)校驗(yàn)?zāi)K包括讀取單元、解壓單元和校驗(yàn)單元,
[0024] 所述讀取單元,用于從memcached緩存中讀取關(guān)系表數(shù)據(jù)中的value值;
[0025] 所述解壓單元,用于將讀取到的value值進(jìn)行解壓縮,將解壓縮后的value值保存 在map空間中;
[0026] 所述校驗(yàn)單元,用于校驗(yàn)已有的value值是否都存在于map空間中,將不存在map空 間中的value值調(diào)用所述關(guān)系表數(shù)據(jù)生成模塊重新建立key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系。
[0027] 采用上述進(jìn)一步方案的有益效果是:能夠?qū)?shù)據(jù)的完整性進(jìn)行校驗(yàn),提高數(shù)據(jù)的 可靠性。
[0028] 本發(fā)明解決上述技術(shù)問題的另一技術(shù)方案如下:一種將關(guān)系表數(shù)據(jù)載入緩存的方 法,包括如下步驟:
[0029]步驟S1:建立關(guān)系表數(shù)據(jù)的處理進(jìn)程,并根據(jù)預(yù)設(shè)的配置表運(yùn)行處理進(jìn)程,從而將 關(guān)系表內(nèi)的數(shù)據(jù)以key-value數(shù)據(jù)形式建立關(guān)聯(lián)關(guān)系;
[0030]步驟S2:將key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)進(jìn)行壓縮處理后,載入客戶端公共接 口的memcached緩存中;
[0031]步驟S3:根據(jù)所述配置表的數(shù)據(jù)變化對memcached緩存中的關(guān)系表數(shù)據(jù)進(jìn)行更新 處理;
[0032]步驟S4:對memcached緩存中的關(guān)系表數(shù)據(jù)的關(guān)聯(lián)關(guān)系進(jìn)彳丁校驗(yàn)。
[0033] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0034] 進(jìn)一步,實(shí)現(xiàn)所述步驟S1的具體步驟為:
[0035]步驟S101:建立關(guān)系表數(shù)據(jù)的處理進(jìn)程;
[0036]步驟S102:根據(jù)預(yù)設(shè)的配置表執(zhí)行處理進(jìn)程,獲得關(guān)系表數(shù)據(jù)中的主資費(fèi)信息,并 根據(jù)所述主資費(fèi)信息獲得對應(yīng)的可選關(guān)系數(shù)據(jù);
[0037]步驟S103:將獲得的主資費(fèi)信息和可選關(guān)系數(shù)據(jù)利用key-value數(shù)據(jù)形式建立關(guān) 聯(lián)關(guān)系,其中key值為主資費(fèi)信息,value值為可選關(guān)系數(shù)據(jù)。
[0038]進(jìn)一步,所述可選關(guān)系數(shù)據(jù)建立成json串的數(shù)據(jù)格式。
[0039] 進(jìn)一步,實(shí)現(xiàn)所述步驟S3的具體步驟為:
[0040] 步驟S301:實(shí)時(shí)檢測配置表的數(shù)據(jù)變化,當(dāng)產(chǎn)生變化時(shí),執(zhí)行步驟S302;
[0041] 步驟S302:根據(jù)配置表的新數(shù)據(jù)建立新的key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系;
[0042] 步驟S303 :將新的key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)在memcached緩存中更新。
[0043] 進(jìn)一步,實(shí)現(xiàn)所述步驟S4的具體步驟為:
[0044] 步驟S401:從memcached緩存中讀取關(guān)系表數(shù)據(jù)中的value值;
[0045]步驟S402:將讀取到的value值進(jìn)行解壓縮,將解壓縮后的value值保存在map空間 中;
[0046]步驟S403:校驗(yàn)已有的value值是否都存在于map空間中,將不存在map空間中的 value值重新建立key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系。
【附圖說明】
[0047]圖1為本發(fā)明系統(tǒng)的模塊框圖;
[0048]圖2為本發(fā)明方法的方法流程圖;
[0049] 圖3為本發(fā)明實(shí)施例中value值設(shè)置的示意圖;
[0050] 圖4為本發(fā)明實(shí)施例中key值設(shè)置的示意圖。
【具體實(shí)施方式】
[0051]以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并 非用于限定本發(fā)明的范圍。
[0052]如圖1所示,一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng),包括關(guān)系表數(shù)據(jù)生成模塊、關(guān)系 表數(shù)據(jù)載入模塊、緩存更新模塊和關(guān)系表數(shù)據(jù)校驗(yàn)?zāi)K,
[0053]所述關(guān)系表數(shù)據(jù)生成模塊,用于建立關(guān)系表數(shù)據(jù)的處理進(jìn)程,并根據(jù)預(yù)設(shè)的配置 表運(yùn)行處理進(jìn)程,從而將關(guān)系表內(nèi)的數(shù)據(jù)以key-value數(shù)據(jù)形式建立關(guān)聯(lián)關(guān)系;
[0054]所述關(guān)系表數(shù)據(jù)載入模塊,用于將key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)進(jìn)行壓縮處 理,并載入客戶端公共接口的memcached緩存中;
[0055]所述緩存更新模塊,用于根據(jù)所述配置表的數(shù)據(jù)變化對memcached緩存中的關(guān)系 表數(shù)據(jù)進(jìn)行更新處理;
[0056]所述關(guān)系表數(shù)據(jù)校驗(yàn)?zāi)K,用于對memcached緩存中的關(guān)系表數(shù)據(jù)的關(guān)聯(lián)關(guān)系進(jìn) 行校驗(yàn)。
[0057]所述關(guān)系表數(shù)據(jù)生成模塊包括進(jìn)程建立單元、信息讀取單元和數(shù)據(jù)關(guān)聯(lián)建立單 元,
[0058] 所述進(jìn)程建立單元,用于建立關(guān)系表數(shù)據(jù)的處理進(jìn)程;
[0059] 所述信息讀取單元,用于根據(jù)預(yù)設(shè)的配置表執(zhí)行處理進(jìn)程,獲得關(guān)系表數(shù)據(jù)中的 主資費(fèi)信息,并根據(jù)所述主資費(fèi)信息獲得對應(yīng)的可選關(guān)系數(shù)據(jù);
[0060] 所述數(shù)據(jù)關(guān)聯(lián)建立單元,用于將獲得的主資費(fèi)信息和可選關(guān)系數(shù)據(jù)利用key- value數(shù)據(jù)形式建立關(guān)聯(lián)關(guān)系,其中key值為主資費(fèi)信息,value值為可選關(guān)系數(shù)據(jù)??梢詫?所述可選關(guān)系數(shù)據(jù)建立成json串的數(shù)據(jù)格式。
[0061] 所述關(guān)系表數(shù)據(jù)載入模塊中,將key-value數(shù)據(jù)形式中的value值進(jìn)行壓縮處理, 再載入客戶端公共接口的memcached緩存中。
[0062] 所述緩存更新模塊包括配置表檢測單元和更新處理單元,
[0063] 所述配置表檢測單元,用于實(shí)時(shí)檢測配置表的數(shù)據(jù)變化,當(dāng)產(chǎn)生變化時(shí),發(fā)送更新 指令至所述更新處理單元;
[0064] 所述更新處理單元,用于根據(jù)更新指令調(diào)用所述關(guān)系表數(shù)據(jù)生成模塊根據(jù)配置表 的新數(shù)據(jù)建立新的key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系,并發(fā)送載入指令至所述關(guān)系表數(shù)據(jù)載 入模塊,從而將新的key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)在memcached緩存中更新。
[0065] 所述關(guān)系表數(shù)據(jù)校驗(yàn)?zāi)K包括讀取單元、解壓單元和校驗(yàn)單元,
[0066] 所述讀取單元,用于從memcached緩存中讀取關(guān)系表數(shù)據(jù)中的value值;
[0067] 所述解壓單元,用于將讀取到的value值進(jìn)行解壓縮,將解壓縮后的value值保存 在map空間中;
[0068] 所述校驗(yàn)單元,用于校驗(yàn)已有的value值是否都存在于map空間中,將不存在map空 間中的value值調(diào)用所述關(guān)系表數(shù)據(jù)生成模塊重新建立key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系。
[0069] 如圖2所示,一種將關(guān)系表數(shù)據(jù)載入緩存的方法,包括如下步驟:
[0070] 步驟S1:建立關(guān)系表數(shù)據(jù)的處理進(jìn)程,并根據(jù)預(yù)設(shè)的配置表運(yùn)行處理進(jìn)程,從而將 關(guān)系表內(nèi)的數(shù)據(jù)以key-value數(shù)據(jù)形式建立關(guān)聯(lián)關(guān)系;
[0071 ]步驟S2:將key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)進(jìn)行壓縮處理,并載入客戶端公共接 口的memcached緩存中;
[0072]步驟S3:根據(jù)所述配置表的數(shù)據(jù)變化對memcached緩存中的關(guān)系表數(shù)據(jù)進(jìn)行更新 處理;
[0073]步驟S4:對memcached緩存中的關(guān)系表數(shù)據(jù)的關(guān)聯(lián)關(guān)系進(jìn)彳丁校驗(yàn)。
[0074]實(shí)現(xiàn)所述步驟S1的具體步驟為:
[0075]步驟S101:建立關(guān)系表數(shù)據(jù)的處理進(jìn)程;
[0076]步驟S102:根據(jù)預(yù)設(shè)的配置表執(zhí)行處理進(jìn)程,獲得關(guān)系表數(shù)據(jù)中的主資費(fèi)信息,并 根據(jù)所述主資費(fèi)信息獲得對應(yīng)的可選關(guān)系數(shù)據(jù);
[0077]步驟S103:將獲得的主資費(fèi)信息和可選關(guān)系數(shù)據(jù)利用key-value數(shù)據(jù)形式建立關(guān) 聯(lián)關(guān)系,其中key值為主資費(fèi)信息,value值為可選關(guān)系數(shù)據(jù)。
[0078]可以將所述可選關(guān)系數(shù)據(jù)建立成json串的數(shù)據(jù)格式。
[0079] 所述步驟S2中,將key-value數(shù)據(jù)形式中的value值進(jìn)行壓縮處理,再載入客戶端 公共接口的memcached緩存中。
[0080]配置表中數(shù)據(jù)設(shè)置為:
[0082] ELEMENT_TYPE相關(guān)字段描述了ELEMENT_ID字段的類型,比如ELEMENT_TYPEA
[0083] 1 標(biāo)識(shí) ELEMENT_IDA 為資費(fèi),
[0084] 2標(biāo)識(shí)ELEMENT_IDA為資費(fèi)分類,
[0085] 3標(biāo)識(shí)ELEMENT_IDA為產(chǎn)品,等等好幾個(gè)值。
[0086] ELEMENT_TYPEB 定義和 ELEMENT_TYPEA- 樣,ELEMENT_IDB 記錄那些資費(fèi)和 ELEMENT_IDA具有可選或轉(zhuǎn)移關(guān)系,
[0087] GR0UP_ID配置了哪個(gè)地市可以見到這種關(guān)系,
[0088] P0WER_RIGHT配置了哪種操作員級(jí)別可以見到這種關(guān)系,
[0089]資費(fèi)轉(zhuǎn)移關(guān)系核心數(shù)據(jù)量為主資費(fèi)和主資費(fèi)之間的關(guān)系,資費(fèi)可選關(guān)系為主資費(fèi) 和增值資費(fèi)的關(guān)系靜態(tài)數(shù)據(jù)的特點(diǎn)就是變化頻率比較低,這個(gè)時(shí)候考慮將設(shè)置的結(jié)果數(shù)據(jù) 按key-value數(shù)據(jù)形式保存到表中。
[0090]數(shù)據(jù)設(shè)置如圖3-4所示,
[0091] key值的設(shè)置:
[0092] key值設(shè)置的比較簡單,就是主資費(fèi)+關(guān)系類型+地市標(biāo)識(shí),如22CAZ01027_5_ 220000;
[0093] value值的設(shè)置:
[0094] value值的設(shè)置相對比較復(fù)雜了,需要考慮的就是我們從緩存獲取到數(shù)據(jù)后能夠 快速的查找到待校驗(yàn)的資費(fèi)是否在該value值里面,為了實(shí)現(xiàn)快速查找,VALUE值按XML報(bào)文 存儲(chǔ),轉(zhuǎn)化為UTYPE可以是實(shí)現(xiàn)快速查找。
[0095] 其中,A標(biāo)識(shí)代表配置表里面的具體字段名稱,用單獨(dú)的A代替為了減少數(shù)據(jù)量,提 升數(shù)據(jù)讀取效率,此處為配置表字段P〇WER_RIGHT字段名稱;
[0096] B標(biāo)識(shí)代表配置表里面具體字段名稱,用單獨(dú)的B代替為了減少數(shù)據(jù)量,提升數(shù)據(jù) 讀取效率,此處為配置表中字段RELATI0N_TYPE字段名稱;
[0097] 權(quán)限值代表為配置表中P0WER_RIGHT字段對應(yīng)的實(shí)際值;
[0098] 正反向值代表為配置表中RELATI0N_TYPE字段對應(yīng)的實(shí)際值。
[0099] 運(yùn)行處理進(jìn)程,每隔一段時(shí)間將所有主資費(fèi)對應(yīng)的可選關(guān)系和轉(zhuǎn)移關(guān)系數(shù)據(jù)存儲(chǔ) 至Ijmemcached緩存中,這個(gè)進(jìn)程可以將ELEMENT_TYPEB類型為非1的配置數(shù)據(jù)全部都轉(zhuǎn)化為 資費(fèi)標(biāo)識(shí)進(jìn)行存儲(chǔ)(需要分析數(shù)據(jù),考慮VALUE的數(shù)據(jù)集大小),業(yè)務(wù)受理服務(wù)可以直接根據(jù) key值從緩存中獲取該主資費(fèi)對應(yīng)的所有可選或轉(zhuǎn)移關(guān)系數(shù)據(jù),然后在業(yè)務(wù)受理服務(wù)中直 接拿待校驗(yàn)資費(fèi)去從VALUE中查找過濾就可以了,一次性待校驗(yàn)的資費(fèi)越多這種效率提升 感覺越明顯。
[0100] 實(shí)現(xiàn)所述步驟S3的具體步驟為:
[0101] 步驟S301:實(shí)時(shí)檢測配置表的數(shù)據(jù)變化,當(dāng)產(chǎn)生變化時(shí),執(zhí)行步驟S302;
[0102] 步驟S302:根據(jù)配置表的新數(shù)據(jù)建立新的key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系;
[0103] 步驟S303 :將新的key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)在memcached緩存中更新。 [0104]實(shí)現(xiàn)所述步驟S4的具體步驟為:
[0105] 步驟S401:從memcached緩存中讀取關(guān)系表數(shù)據(jù)中的value值;
[0106]步驟S402:將讀取到的value值進(jìn)行解壓縮,將解壓縮后的value值保存在map空間 中;
[0107]步驟S403:校驗(yàn)已有的value值是否都存在于map空間中,將不存在map空間中的 value值重新建立key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系。
[0108]本系統(tǒng)和方法,將關(guān)系表數(shù)據(jù)提如建立好關(guān)系再保存到緩存中,能夠快速提尚計(jì) 算效率,實(shí)現(xiàn)可見即可得的效果。
[0109]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng),其特征在于,包括關(guān)系表數(shù)據(jù)生成模塊、關(guān)系表 數(shù)據(jù)載入模塊、緩存更新模塊和關(guān)系表數(shù)據(jù)校驗(yàn)?zāi)K, 所述關(guān)系表數(shù)據(jù)生成模塊,用于建立關(guān)系表數(shù)據(jù)的處理進(jìn)程,并根據(jù)預(yù)設(shè)的配置表運(yùn) 行處理進(jìn)程,從而將關(guān)系表內(nèi)的數(shù)據(jù)以key-value數(shù)據(jù)形式建立關(guān)聯(lián)關(guān)系; 所述關(guān)系表數(shù)據(jù)載入模塊,用于將key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)進(jìn)行壓縮處理,并 載入客戶端公共接口的memcached緩存中; 所述緩存更新模塊,用于根據(jù)所述配置表的數(shù)據(jù)變化對memcached緩存中的關(guān)系表數(shù) 據(jù)進(jìn)行更新處理; 所述關(guān)系表數(shù)據(jù)校驗(yàn)?zāi)K,用于對memcached緩存中的關(guān)系表數(shù)據(jù)的關(guān)聯(lián)關(guān)系進(jìn)行校 驗(yàn)。2. 根據(jù)權(quán)利要求1所述的一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng),其特征在于,所述關(guān)系表 數(shù)據(jù)生成模塊包括進(jìn)程建立單元、信息讀取單元和數(shù)據(jù)關(guān)聯(lián)建立單元, 所述進(jìn)程建立單元,用于建立關(guān)系表數(shù)據(jù)的處理進(jìn)程; 所述信息讀取單元,用于根據(jù)預(yù)設(shè)的配置表執(zhí)行處理進(jìn)程,獲得關(guān)系表數(shù)據(jù)中的主資 費(fèi)信息,并根據(jù)所述主資費(fèi)信息獲得對應(yīng)的可選關(guān)系數(shù)據(jù); 所述數(shù)據(jù)關(guān)聯(lián)建立單元,用于將獲得的主資費(fèi)信息和可選關(guān)系數(shù)據(jù)利用key-value數(shù) 據(jù)形式建立關(guān)聯(lián)關(guān)系,其中key值為主資費(fèi)信息,value值為可選關(guān)系數(shù)據(jù)。3. 根據(jù)權(quán)利要求2所述的一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng),其特征在于,所述可選關(guān) 系數(shù)據(jù)建立成json串的數(shù)據(jù)格式。4. 根據(jù)權(quán)利要求1所述的一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng),其特征在于,所述緩存更 新模塊包括配置表檢測單元和更新處理單元, 所述配置表檢測單元,用于實(shí)時(shí)檢測配置表的數(shù)據(jù)變化,當(dāng)產(chǎn)生變化時(shí),發(fā)送更新指令 至所述更新處理單元; 所述更新處理單元,用于根據(jù)更新指令調(diào)用所述關(guān)系表數(shù)據(jù)生成模塊根據(jù)配置表的新 數(shù)據(jù)建立新的key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系,并發(fā)送載入指令至所述關(guān)系表數(shù)據(jù)載入模 塊,從而將新的key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)在memcached緩存中更新。5. 根據(jù)權(quán)利要求1所述的一種將關(guān)系表數(shù)據(jù)載入緩存的系統(tǒng),其特征在于,所述關(guān)系表 數(shù)據(jù)校驗(yàn)?zāi)K包括讀取單元、解壓單元和校驗(yàn)單元, 所述讀取單元,用于從memcached緩存中讀取關(guān)系表數(shù)據(jù)中的value值; 所述解壓單元,用于將讀取到的value值進(jìn)行解壓縮,將解壓縮后的value值保存在map 空間中; 所述校驗(yàn)單元,用于校驗(yàn)已有的value值是否都存在于map空間中,將不存在map空間中 的value值調(diào)用所述關(guān)系表數(shù)據(jù)生成模塊重新建立key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系。6. -種將關(guān)系表數(shù)據(jù)載入緩存的方法,其特征在于,包括如下步驟: 步驟Sl:建立關(guān)系表數(shù)據(jù)的處理進(jìn)程,并根據(jù)預(yù)設(shè)的配置表運(yùn)行處理進(jìn)程,從而將關(guān)系 表內(nèi)的數(shù)據(jù)以key-value數(shù)據(jù)形式建立關(guān)聯(lián)關(guān)系; 步驟S2:將key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)進(jìn)行壓縮處理,并載入客戶端公共接口的 memcached 緩存中; 步驟S3:根據(jù)配置表的數(shù)據(jù)變化對memcached緩存中的關(guān)系表數(shù)據(jù)進(jìn)行更新處理; 步驟S4:對memcached緩存中的關(guān)系表數(shù)據(jù)的關(guān)聯(lián)關(guān)系進(jìn)行校驗(yàn)。7. 根據(jù)權(quán)利要求6所述的一種將關(guān)系表數(shù)據(jù)載入緩存的方法,其特征在于,實(shí)現(xiàn)所述步 驟Sl的具體步驟為: 步驟SlOl:建立關(guān)系表數(shù)據(jù)的處理進(jìn)程; 步驟S102:根據(jù)預(yù)設(shè)的配置表執(zhí)行處理進(jìn)程,獲得關(guān)系表數(shù)據(jù)中的主資費(fèi)信息,并根據(jù) 所述主資費(fèi)信息獲得對應(yīng)的可選關(guān)系數(shù)據(jù); 步驟S103:將獲得的主資費(fèi)信息和可選關(guān)系數(shù)據(jù)利用key-value數(shù)據(jù)形式建立關(guān)聯(lián)關(guān) 系,其中key值為主資費(fèi)信息,value值為可選關(guān)系數(shù)據(jù)。8. 根據(jù)權(quán)利要求6所述的一種將關(guān)系表數(shù)據(jù)載入緩存的方法,其特征在于,所述可選關(guān) 系數(shù)據(jù)建立成json串的數(shù)據(jù)格式。9. 根據(jù)權(quán)利要求6所述的一種將關(guān)系表數(shù)據(jù)載入緩存的方法,其特征在于,實(shí)現(xiàn)所述步 驟S3的具體步驟為: 步驟S301:實(shí)時(shí)檢測配置表的數(shù)據(jù)變化,當(dāng)產(chǎn)生變化時(shí),執(zhí)行步驟S302; 步驟S302:根據(jù)配置表的新數(shù)據(jù)建立新的key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系; 步驟S303 :將新的key-value數(shù)據(jù)形式的關(guān)系表數(shù)據(jù)在memcached緩存中更新。10. 根據(jù)權(quán)利要求6所述的一種將關(guān)系表數(shù)據(jù)載入緩存的方法,其特征在于,實(shí)現(xiàn)所述 步驟S4的具體步驟為: 步驟S401:從memcached緩存中讀取關(guān)系表數(shù)據(jù)中的value值; 步驟S402:將讀取到的value值進(jìn)行解壓縮,將解壓縮后的value值保存在map空間中; 步驟S403:校驗(yàn)已有的value值是否都存在于map空間中,將不存在map空間中的value 值重新建立key-value數(shù)據(jù)形式的關(guān)聯(lián)關(guān)系。
【文檔編號(hào)】G06F17/30GK105930492SQ201610290715
【公開日】2016年9月7日
【申請日】2016年5月5日
【發(fā)明人】孫報(bào)明
【申請人】北京思特奇信息技術(shù)股份有限公司