[發(fā)明專利]一種數(shù)據(jù)訪問的方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)有效
| 申請?zhí)枺?/td> | 201911019573.8 | 申請日: | 2019-10-24 |
| 公開(公告)號: | CN110716947B | 公開(公告)日: | 2022-07-19 |
| 發(fā)明(設(shè)計(jì))人: | 李新 | 申請(專利權(quán))人: | 網(wǎng)易(杭州)網(wǎng)絡(luò)有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/25 |
| 代理公司: | 北京超凡宏宇專利代理事務(wù)所(特殊普通合伙) 11463 | 代理人: | 程曉 |
| 地址: | 310052 浙江省*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 訪問 方法 裝置 計(jì)算機(jī) 設(shè)備 存儲(chǔ) 介質(zhì) | ||
本申請?zhí)峁┝艘环N數(shù)據(jù)訪問的方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),其中,該方法應(yīng)用于安裝有Android操作系統(tǒng)的終端,包括:響應(yīng)于所述終端中目標(biāo)應(yīng)用的啟動(dòng),建立所述目標(biāo)應(yīng)用對應(yīng)的目標(biāo)數(shù)據(jù)庫,所述目標(biāo)數(shù)據(jù)庫中包含用于存儲(chǔ)鍵值對數(shù)據(jù)的數(shù)據(jù)表;當(dāng)接收到線程或進(jìn)程對所述數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)的訪問請求時(shí),為所述線程或進(jìn)程分配所述目標(biāo)數(shù)據(jù)庫的線程鎖或進(jìn)程鎖;若分配成功,則通過所述線程或進(jìn)程對所述數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)進(jìn)行訪問,能夠通過鎖機(jī)制實(shí)現(xiàn)對數(shù)據(jù)庫中存儲(chǔ)的鍵值對數(shù)據(jù)的訪問操作,從而確保了數(shù)據(jù)訪問的準(zhǔn)確性。
技術(shù)領(lǐng)域
本申請涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)訪問的方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù)
安卓(Android)系統(tǒng)是一種基于Linux內(nèi)核的操作系統(tǒng),主要應(yīng)用于移動(dòng)終端,如手機(jī)、平板電腦等。Android系統(tǒng)作為一個(gè)多進(jìn)程系統(tǒng),其應(yīng)用程序(Application,APP)是運(yùn)行在對應(yīng)的一個(gè)或多個(gè)進(jìn)程中的。
在Android APP的應(yīng)用過程中,如果需要進(jìn)行數(shù)據(jù)存儲(chǔ)(如,游戲用戶名稱等屬性信息的存儲(chǔ)、是否打開音量等狀態(tài)信息的存儲(chǔ)),通常可以利用Android系統(tǒng)提供的SharePreference類進(jìn)行數(shù)據(jù)保存。該SharePreference類作為一種輕量級的存儲(chǔ)類,可以將數(shù)據(jù)對象構(gòu)造為鍵值對(Key-Value)的方式,并可以以可擴(kuò)展標(biāo)記語言(eXtensibleMarkup Language,XML)文件方式進(jìn)行存儲(chǔ)。
對于一個(gè)應(yīng)用程序運(yùn)行的多個(gè)進(jìn)程之間通常不會(huì)進(jìn)行數(shù)據(jù)通信,這樣有可能出現(xiàn)訪問沖突的情況。比如,當(dāng)不同的進(jìn)程同時(shí)向該XML文件寫入數(shù)據(jù)時(shí),會(huì)導(dǎo)致XML文件內(nèi)容出現(xiàn)寫入數(shù)據(jù)邏輯錯(cuò)誤的問題。
發(fā)明內(nèi)容
有鑒于此,本申請的目的在于提供一種數(shù)據(jù)訪問的方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),能夠通過鎖機(jī)制實(shí)現(xiàn)對數(shù)據(jù)庫中存儲(chǔ)的鍵值對數(shù)據(jù)的訪問操作,確保了數(shù)據(jù)訪問的準(zhǔn)確性。
主要包括以下幾個(gè)方面:
第一方面,本申請?zhí)峁┝艘环N數(shù)據(jù)訪問的方法,應(yīng)用于安裝有Android操作系統(tǒng)的終端,所述方法包括:
響應(yīng)于所述終端中目標(biāo)應(yīng)用的啟動(dòng),建立所述目標(biāo)應(yīng)用對應(yīng)的目標(biāo)數(shù)據(jù)庫,所述目標(biāo)數(shù)據(jù)庫中包含用于存儲(chǔ)鍵值對數(shù)據(jù)的數(shù)據(jù)表;
當(dāng)接收到線程或進(jìn)程對所述數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)的訪問請求時(shí),為所述線程或進(jìn)程分配所述目標(biāo)數(shù)據(jù)庫的線程鎖或進(jìn)程鎖;
若分配成功,則通過所述線程或進(jìn)程對所述數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)進(jìn)行訪問。
在一種實(shí)施方式中,所述方法還包括:
在所述終端的內(nèi)存中,為所述線程或進(jìn)程建立對應(yīng)的映射集合,并將從所述目標(biāo)數(shù)據(jù)庫中讀取的鍵值對數(shù)據(jù)存儲(chǔ)于所述映射集合中。
在一種實(shí)施方式中,所述通過所述線程或進(jìn)程對所述數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)進(jìn)行訪問,包括:通過所述線程或進(jìn)程對所述數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)進(jìn)行修改;
所述方法還包括:
當(dāng)所述數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)發(fā)生修改,則將所述映射集合中對應(yīng)所述數(shù)據(jù)表中發(fā)生修改的數(shù)據(jù)標(biāo)記為臟數(shù)據(jù)。
在一種實(shí)施方式中,所述方法還包括:
當(dāng)接收到線程或進(jìn)程對所述數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)的訪問請求時(shí),從所述線程或進(jìn)程對應(yīng)的映射集合中查找是否存在待訪問的數(shù)據(jù)及所述待訪問的數(shù)據(jù)是否為臟數(shù)據(jù);
若所述映射集合中存在所述待訪問的數(shù)據(jù)且所述待訪問的數(shù)據(jù)不為臟數(shù)據(jù),則將所述映射集合中待訪問的數(shù)據(jù)返回至訪問的線程或進(jìn)程。
在一種實(shí)施方式中,所述方法還包括:
若所述映射集合中不存在所述待訪問的數(shù)據(jù)或者所述待訪問的數(shù)據(jù)為臟數(shù)據(jù),則從所述目標(biāo)數(shù)據(jù)庫中查找所述待訪問的數(shù)據(jù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于網(wǎng)易(杭州)網(wǎng)絡(luò)有限公司,未經(jīng)網(wǎng)易(杭州)網(wǎng)絡(luò)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911019573.8/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)裝置
- 存儲(chǔ)器訪問調(diào)度裝置、調(diào)度方法與存儲(chǔ)器訪問控制系統(tǒng)
- 一種限制用戶訪問的方法和裝置
- 一種訪問信息提供方法及系統(tǒng)
- 數(shù)據(jù)訪問權(quán)限的控制方法及裝置
- 基于智能家居系統(tǒng)的訪問授權(quán)方法、裝置及設(shè)備
- 網(wǎng)站訪問請求的動(dòng)態(tài)調(diào)度方法及裝置
- 基于訪問頻率的監(jiān)測方法、裝置、設(shè)備和計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 訪問憑證驗(yàn)證方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種應(yīng)用訪問控制方法、系統(tǒng)和介質(zhì)
- 異常訪問行為的檢測方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





