[發(fā)明專利]一種讀取數(shù)據(jù)方法、裝置、電子設(shè)備及可讀存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 201710805732.1 | 申請日: | 2017-09-08 |
| 公開(公告)號: | CN107577775B | 公開(公告)日: | 2021-12-10 |
| 發(fā)明(設(shè)計)人: | 鄭程 | 申請(專利權(quán))人: | 北京奇藝世紀(jì)科技有限公司 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/21 |
| 代理公司: | 北京柏杉松知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11413 | 代理人: | 馬敬;項京 |
| 地址: | 100080 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 讀取 數(shù)據(jù) 方法 裝置 電子設(shè)備 可讀 存儲 介質(zhì) | ||
本發(fā)明實施例提供了一種讀取數(shù)據(jù)方法、裝置、電子設(shè)備及計算機(jī)可讀存儲介質(zhì)。上述方法包括:接收對應(yīng)第一目標(biāo)數(shù)據(jù)的讀取指令;獲取數(shù)據(jù)庫當(dāng)前的第一數(shù)據(jù)庫數(shù)據(jù)版本信息、數(shù)據(jù)庫存儲的上一版本數(shù)據(jù)的第二數(shù)據(jù)庫數(shù)據(jù)版本信息和緩存區(qū)域當(dāng)前的第一緩存數(shù)據(jù)版本信息;根據(jù)第一數(shù)據(jù)庫數(shù)據(jù)版本信息和第二數(shù)據(jù)庫數(shù)據(jù)版本信息,生成第二緩存數(shù)據(jù)版本信息;判斷第一緩存數(shù)據(jù)版本信息與第二緩存數(shù)據(jù)版本信息是否相同;如果第一緩存數(shù)據(jù)版本信息與第二緩存數(shù)據(jù)版本信息不相同,從數(shù)據(jù)庫讀取第一目標(biāo)數(shù)據(jù)。應(yīng)用本發(fā)明實施例提供的讀取數(shù)據(jù)方法,讀取到的數(shù)據(jù)與數(shù)據(jù)庫中當(dāng)前存儲的數(shù)據(jù)相同,可以提高讀取到的數(shù)據(jù)的準(zhǔn)確度。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)讀取技術(shù)領(lǐng)域,特別是涉及一種讀取數(shù)據(jù)方法、裝置、電子設(shè)備及計算機(jī)可讀存儲介質(zhì)。
背景技術(shù)
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,為了加快訪問數(shù)據(jù)的速度,通常會將數(shù)據(jù)庫中被頻繁訪問的數(shù)據(jù)存放到緩存區(qū)域中。讀取指令啟動線程首先讀取緩存區(qū)域,緩存區(qū)域中若不存在要讀取的數(shù)據(jù),則讀取數(shù)據(jù)庫獲得該數(shù)據(jù),然后將該數(shù)據(jù)寫入緩存區(qū)域。相對于直接從數(shù)據(jù)庫中讀取數(shù)據(jù),讀取緩存區(qū)域獲得數(shù)據(jù)的速度更快。當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)被修改時,為了保證從緩存區(qū)域讀取到的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)相同,現(xiàn)有讀取數(shù)據(jù)方法的具體步驟如下:修改數(shù)據(jù)時,寫入指令啟動線程刪除緩存區(qū)域中對應(yīng)的數(shù)據(jù),然后把更新后的數(shù)據(jù)寫入數(shù)據(jù)庫;讀取數(shù)據(jù)時,由于緩存區(qū)域中不存在該數(shù)據(jù),讀取指令啟動線程讀取數(shù)據(jù)庫獲得更新后的數(shù)據(jù),并把更新后的數(shù)據(jù)寫入緩存區(qū)域,下一次讀取緩存區(qū)域獲得的數(shù)據(jù)與數(shù)據(jù)庫中存儲的數(shù)據(jù)相同。
然而,發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有技術(shù)至少存在如下問題:
在線程并發(fā)的場景中,如果A、B兩個線程同時要對數(shù)據(jù)庫中的某數(shù)據(jù)項進(jìn)行修改,并且線程A和線程B都已經(jīng)刪除緩存中對應(yīng)的數(shù)據(jù)。接下來,線程A先把數(shù)據(jù)庫中該數(shù)據(jù)項的內(nèi)容修改為數(shù)據(jù)A,此時,另一線程C需要讀取該數(shù)據(jù)項,由于緩存區(qū)域中不存在該數(shù)據(jù)項,則會讀取數(shù)據(jù)庫獲得數(shù)據(jù)A,并把數(shù)據(jù)A寫入緩存區(qū)域,然后,線程B把數(shù)據(jù)庫中該數(shù)據(jù)項的內(nèi)容修改為數(shù)據(jù)B。此時,緩存區(qū)域中該數(shù)據(jù)項的內(nèi)容為數(shù)據(jù)A,數(shù)據(jù)庫中該數(shù)據(jù)項的內(nèi)容為數(shù)據(jù)B,這樣,當(dāng)再次讀取該數(shù)據(jù)項時,會從緩存區(qū)域中讀取數(shù)據(jù)A,出現(xiàn)讀取的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)不相同的情況,會導(dǎo)致讀取數(shù)據(jù)的準(zhǔn)確度較低。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種讀取數(shù)據(jù)方法、裝置、電子設(shè)備及計算機(jī)可讀存儲介質(zhì),以保證讀取到的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)相同,提高讀取到的數(shù)據(jù)的準(zhǔn)確度。具體技術(shù)方案如下:
第一方面,為了達(dá)到上述目的,本發(fā)明實施例公開了一種讀取數(shù)據(jù)方法,所述方法包括:
接收對應(yīng)第一目標(biāo)數(shù)據(jù)的讀取指令;
獲取數(shù)據(jù)庫當(dāng)前的第一數(shù)據(jù)庫數(shù)據(jù)版本信息、所述數(shù)據(jù)庫存儲的上一版本數(shù)據(jù)的第二數(shù)據(jù)庫數(shù)據(jù)版本信息和緩存區(qū)域當(dāng)前的第一緩存數(shù)據(jù)版本信息;
根據(jù)所述第一數(shù)據(jù)庫數(shù)據(jù)版本信息和所述第二數(shù)據(jù)庫數(shù)據(jù)版本信息,生成第二緩存數(shù)據(jù)版本信息;
判斷所述第一緩存數(shù)據(jù)版本信息與所述第二緩存數(shù)據(jù)版本信息是否相同;
如果所述第一緩存數(shù)據(jù)版本信息與所述第二緩存數(shù)據(jù)版本信息不相同,從所述數(shù)據(jù)庫讀取所述第一目標(biāo)數(shù)據(jù)。
可選的,所述方法還包括:
如果所述第一緩存數(shù)據(jù)版本信息與所述第二緩存數(shù)據(jù)版本信息相同,從所述緩存區(qū)域讀取所述第一目標(biāo)數(shù)據(jù)。
可選的,在所述從所述數(shù)據(jù)庫讀取所述第一目標(biāo)數(shù)據(jù)之后,所述方法還包括:
將所述數(shù)據(jù)庫中當(dāng)前存儲的數(shù)據(jù)寫入所述緩存區(qū)域。
可選的,所述方法還包括:
接收對應(yīng)第二目標(biāo)數(shù)據(jù)的寫入指令;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京奇藝世紀(jì)科技有限公司,未經(jīng)北京奇藝世紀(jì)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710805732.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(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)裝置





