[發(fā)明專利]緩存數(shù)據(jù)的分頁(yè)查詢方法、系統(tǒng)及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202010136438.8 | 申請(qǐng)日: | 2020-03-02 |
| 公開(公告)號(hào): | CN111367952B | 公開(公告)日: | 2023-08-25 |
| 發(fā)明(設(shè)計(jì))人: | 何建濱;蔡苗;陳震宇;劉國(guó)華 | 申請(qǐng)(專利權(quán))人: | 中國(guó)郵政儲(chǔ)蓄銀行股份有限公司 |
| 主分類號(hào): | G06F16/2455 | 分類號(hào): | G06F16/2455 |
| 代理公司: | 北京市萬慧達(dá)律師事務(wù)所 11111 | 代理人: | 黃玉東 |
| 地址: | 100032*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 緩存 數(shù)據(jù) 分頁(yè) 查詢 方法 系統(tǒng) 計(jì)算機(jī) 可讀 存儲(chǔ) 介質(zhì) | ||
本發(fā)明公開緩存數(shù)據(jù)的分頁(yè)查詢方法、系統(tǒng)及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,該方法包括步驟:接收用戶的查詢請(qǐng)求;判斷是否需要?jiǎng)?chuàng)建或刷新緩存數(shù)據(jù);若需要,則啟動(dòng)創(chuàng)建或刷新緩存數(shù)據(jù)的子線程,同時(shí)在創(chuàng)建或刷新緩存數(shù)據(jù)過程中輪詢緩存進(jìn)度表,直至已緩存數(shù)據(jù)條數(shù)滿足用戶查詢頁(yè)碼時(shí)讀取用戶查詢頁(yè)碼對(duì)應(yīng)的緩存數(shù)據(jù),或者緩存完成時(shí)讀取最大頁(yè)碼對(duì)應(yīng)的緩存數(shù)據(jù);若不需要,則從已有緩存數(shù)據(jù)中讀取用戶請(qǐng)求頁(yè)面的緩存數(shù)據(jù)。緩存數(shù)據(jù)的分頁(yè)查詢系統(tǒng)采用上述緩存數(shù)據(jù)的分頁(yè)查詢方法,在緩存數(shù)據(jù)的同時(shí)實(shí)現(xiàn)了數(shù)據(jù)分頁(yè)查詢請(qǐng)求的快速響應(yīng),提升了用戶體驗(yàn)。
技術(shù)領(lǐng)域
本發(fā)明計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及緩存數(shù)據(jù)的分頁(yè)查詢方法、系統(tǒng)及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
在前端數(shù)據(jù)查詢中,有時(shí)查詢的數(shù)據(jù)集較大,且時(shí)常請(qǐng)求頻率較高。如果每次實(shí)時(shí)查詢數(shù)據(jù),或數(shù)據(jù)完全檢索出來緩存后再響應(yīng)用戶查詢,通常會(huì)導(dǎo)致數(shù)據(jù)請(qǐng)求響應(yīng)很慢,特別是在此類數(shù)據(jù)查詢后還有后續(xù)處理的情況下,會(huì)消耗大量的時(shí)間。
目前已有把作為查詢結(jié)果的數(shù)據(jù)集緩存到內(nèi)存中的技術(shù),例如現(xiàn)有專利“一種利用緩存響應(yīng)數(shù)據(jù)請(qǐng)求的方法和系統(tǒng)(CN108804447A)”,請(qǐng)參閱圖1,該現(xiàn)有專利文件公開了使用緩存技術(shù)進(jìn)行數(shù)據(jù)緩存,然后使用哈希函數(shù)根據(jù)查詢條件表達(dá)式計(jì)算哈希值,同時(shí)把此哈希值和查詢結(jié)果以鍵值對(duì)的形式存儲(chǔ)在緩存中。但是當(dāng)用戶首次查詢數(shù)據(jù)或緩存過期需要刷新緩存、并且數(shù)據(jù)集較大時(shí),還是需要一定的時(shí)間才能完成響應(yīng),這樣就會(huì)需要等候較長(zhǎng)的時(shí)間,給用戶帶來不好的體驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供緩存數(shù)據(jù)的分頁(yè)查詢方法、系統(tǒng)及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),解決了現(xiàn)有技術(shù)中較大數(shù)據(jù)量在首次查詢或者需要刷新緩存數(shù)據(jù)時(shí),要等數(shù)據(jù)集完全檢索并緩存后再響應(yīng)用戶查詢請(qǐng)求,導(dǎo)致查詢響應(yīng)時(shí)間較長(zhǎng)的問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種緩存數(shù)據(jù)的分頁(yè)查詢方法,包括步驟:
接收用戶的查詢請(qǐng)求,所述用戶的查詢請(qǐng)求包括原始查詢sql和查詢條件;
根據(jù)所述原始查詢sql和所述查詢條件判斷是否需要?jiǎng)?chuàng)建或刷新緩存數(shù)據(jù);
若需要,則啟動(dòng)創(chuàng)建或刷新緩存數(shù)據(jù)的子線程,同時(shí)在創(chuàng)建或刷新緩存數(shù)據(jù)過程中輪詢緩存進(jìn)度表,直至已緩存數(shù)據(jù)條數(shù)滿足用戶查詢頁(yè)碼時(shí)讀取用戶查詢頁(yè)碼對(duì)應(yīng)的緩存數(shù)據(jù),或者緩存完成時(shí)讀取最大頁(yè)碼對(duì)應(yīng)的緩存數(shù)據(jù);若不需要,則從已有緩存數(shù)據(jù)中讀取用戶請(qǐng)求頁(yè)面的緩存數(shù)據(jù)。
優(yōu)選地,根據(jù)原始查詢sql和查詢條件判斷是否需要?jiǎng)?chuàng)建或刷新緩存數(shù)據(jù)的方法包括:
將原始查詢sql和查詢條件組成的表達(dá)式使用SHA256算法轉(zhuǎn)換得到唯一的緩存主鍵;
基于所述緩存主鍵判斷是否已存在用戶查詢請(qǐng)求對(duì)應(yīng)的緩存數(shù)據(jù);
若不存在緩存數(shù)據(jù),則輸出創(chuàng)建緩存數(shù)據(jù)的指令;若已存在緩存數(shù)據(jù),則進(jìn)一步判斷已有緩存數(shù)據(jù)是否需要強(qiáng)制刷新;
若需要強(qiáng)制刷新,則輸出刷新緩存數(shù)據(jù)的指令;若不需要強(qiáng)制刷新,則進(jìn)一步判斷已有緩存數(shù)據(jù)是否已過期;
若已過期,則輸出刷新緩存數(shù)據(jù)的指令;若未過期,則輸出不刷新緩存數(shù)據(jù)的指令。
具體地,基于所述緩存主鍵檢索緩存日志表以判斷是否已存在用戶查詢請(qǐng)求對(duì)應(yīng)的緩存數(shù)據(jù);
根據(jù)緩存日志表中的強(qiáng)制刷新字段判斷已有緩存數(shù)據(jù)是否需要強(qiáng)制刷新;
根據(jù)緩存日志表中的緩存完成時(shí)間戳字段和緩存過期時(shí)長(zhǎng)字段判斷已有緩存數(shù)據(jù)是否已過期。
較佳地,利用基于redis的分布式鎖對(duì)所述緩存主鍵上鎖,以實(shí)現(xiàn)啟動(dòng)創(chuàng)建或刷新緩存數(shù)據(jù)的子線程,其中,創(chuàng)建或刷新緩存數(shù)據(jù)的子線程執(zhí)行動(dòng)作的步驟包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)郵政儲(chǔ)蓄銀行股份有限公司,未經(jīng)中國(guó)郵政儲(chǔ)蓄銀行股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010136438.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 逐出高速緩存的行的電路布置、數(shù)據(jù)處理系統(tǒng)和方法
- 共享緩存管理系統(tǒng)及方法
- 分布式緩存系統(tǒng)、數(shù)據(jù)的緩存方法及緩存數(shù)據(jù)的查詢方法
- 一種緩存替換方法;裝置和系統(tǒng)
- 加速引擎及處理器
- 一種日志緩存方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 緩存控制方法、裝置和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 至少具有三個(gè)緩存級(jí)別的緩存層級(jí)的混合低級(jí)緩存包含策略
- 基于雙緩存區(qū)的緩存方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 緩存預(yù)載方法、裝置、處理器芯片及服務(wù)器
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 紙張分頁(yè)裝置
- 一種網(wǎng)頁(yè)分割方法和分頁(yè)服務(wù)器
- 分頁(yè)控件實(shí)現(xiàn)方法及裝置
- 報(bào)表自定義分頁(yè)打印裝置和方法
- 用于爬蟲的數(shù)據(jù)處理方法及裝置
- 頁(yè)面內(nèi)容刷新方法、系統(tǒng)及頁(yè)面內(nèi)容同步刷新的管理系統(tǒng)
- 分頁(yè)控件實(shí)現(xiàn)方法、裝置及設(shè)備
- 一種Linux分頁(yè)替換方法及系統(tǒng)
- 數(shù)據(jù)庫(kù)分庫(kù)分表的分頁(yè)查詢方法、裝置和計(jì)算機(jī)設(shè)備
- 列表分頁(yè)快速響應(yīng)系統(tǒng)和方法
- 帶有前處理和后處理的數(shù)據(jù)庫(kù)復(fù)合查詢系統(tǒng)及方法
- 數(shù)據(jù)庫(kù)查詢的方法和系統(tǒng)
- 查詢系統(tǒng)、查詢終端以及查詢方法
- 交易信息查詢方法、查詢裝置及查詢系統(tǒng)
- 數(shù)據(jù)查詢與結(jié)果生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 在RDF數(shù)據(jù)集上進(jìn)行OPTIONAL查詢的方法及存儲(chǔ)介質(zhì)
- 一種多表關(guān)聯(lián)查詢方法、裝置及設(shè)備
- 一種基于Impala的查詢方法和裝置
- 從查詢生成子查詢
- 一種基于通用查詢語(yǔ)言的查詢方法及查詢系統(tǒng)





