[發(fā)明專利]數(shù)據(jù)更新方法及裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202110189554.0 | 申請(qǐng)日: | 2021-02-19 |
| 公開(公告)號(hào): | CN112905614A | 公開(公告)日: | 2021-06-04 |
| 發(fā)明(設(shè)計(jì))人: | 周輝;高俊峰;李鵬;郝磊;李佳林 | 申請(qǐng)(專利權(quán))人: | 中國(guó)郵政儲(chǔ)蓄銀行股份有限公司 |
| 主分類號(hào): | G06F16/23 | 分類號(hào): | G06F16/23;G06F16/21 |
| 代理公司: | 北京康信知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11240 | 代理人: | 周春枚 |
| 地址: | 100032*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù) 更新 方法 裝置 電子設(shè)備 計(jì)算機(jī) 可讀 存儲(chǔ) 介質(zhì) | ||
本發(fā)明公開了一種數(shù)據(jù)更新方法及裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。其中,該數(shù)據(jù)更新方法包括:讀取對(duì)象數(shù)據(jù),其中,對(duì)象數(shù)據(jù)被多個(gè)事務(wù)對(duì)象進(jìn)行操作處理,之后檢測(cè)對(duì)象數(shù)據(jù)中是否存在更新數(shù)據(jù),其中,更新數(shù)據(jù)是指在當(dāng)前數(shù)據(jù)版本的基礎(chǔ)上出現(xiàn)變更的數(shù)據(jù),當(dāng)前數(shù)據(jù)版本對(duì)應(yīng)有數(shù)據(jù)當(dāng)前值,若對(duì)象數(shù)據(jù)中存在更新數(shù)據(jù),則將所有更新數(shù)據(jù)進(jìn)行合并,最后將合并后的更新數(shù)據(jù)加載至數(shù)據(jù)當(dāng)前值中。本發(fā)明解決了相關(guān)技術(shù)中在并發(fā)事務(wù)下進(jìn)行數(shù)據(jù)更新時(shí)成功率低的技術(shù)問(wèn)題。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)更新技術(shù)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)更新方法及裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
“鎖”是用于“并發(fā)控制”的,其目的是為了在不同用戶對(duì)同一個(gè)數(shù)據(jù)進(jìn)行操作時(shí),不會(huì)產(chǎn)生不合理的現(xiàn)象,目前,主要有悲觀鎖和樂(lè)觀鎖,其中,悲觀鎖的特點(diǎn)是獨(dú)占和排他,典型的悲觀鎖主要是共享鎖或排他鎖;樂(lè)觀鎖會(huì)假設(shè)數(shù)據(jù)一般情況下不會(huì)造成沖突,所以在對(duì)數(shù)據(jù)進(jìn)行提交更新時(shí),才會(huì)對(duì)數(shù)據(jù)是否發(fā)生沖突進(jìn)行檢測(cè),如果發(fā)現(xiàn)沖突,則返回給用戶錯(cuò)誤的信息,讓用戶決定如何去做,其本質(zhì)上解決了在并發(fā)事務(wù)下讀取數(shù)據(jù)的問(wèn)題,但對(duì)于數(shù)據(jù)讀取后,進(jìn)行數(shù)據(jù)的更新,僅對(duì)數(shù)據(jù)版本(Version)進(jìn)行校驗(yàn),如果不發(fā)生沖突則進(jìn)行更新,否則拒絕更新,所以并沒(méi)有解決高并發(fā)事務(wù)下的數(shù)據(jù)更新問(wèn)題,即樂(lè)觀鎖的樂(lè)觀體現(xiàn)在只有一個(gè)事務(wù)讀取和更新,而沒(méi)有其他事務(wù)對(duì)數(shù)據(jù)進(jìn)行更新的情況,所以一旦在一個(gè)事務(wù)讀取和更新期間,有其他事務(wù)也對(duì)數(shù)據(jù)進(jìn)行更新,那么樂(lè)觀鎖就失去了作用。
相關(guān)技術(shù)中,在并發(fā)事務(wù)下使用樂(lè)觀鎖的步驟為:1,從數(shù)據(jù)源中讀取數(shù)據(jù),包括數(shù)據(jù)的版本;2,根據(jù)需要對(duì)數(shù)據(jù)進(jìn)行加工,并準(zhǔn)備好需要更新的數(shù)據(jù);3,更新前進(jìn)行數(shù)據(jù)版本判斷;4,若版本一致,則將加工后的數(shù)據(jù)更新到數(shù)據(jù)源;5,若版本不一致,則不進(jìn)行數(shù)據(jù)更新。那么,如果版本不一致,則將無(wú)法進(jìn)行數(shù)據(jù)更新,即對(duì)數(shù)據(jù)的變化是零容忍的,一旦發(fā)生數(shù)據(jù)變化,所有的數(shù)據(jù)更新都會(huì)失敗,那么在大量并發(fā)更新的場(chǎng)景下,將導(dǎo)致大量更新操作要進(jìn)行重試,也就是再次讀取數(shù)據(jù)、再次進(jìn)行數(shù)據(jù)處理、再次進(jìn)行版本判斷,一旦版本再次不一致,將再次重復(fù)以上步驟,很可能導(dǎo)致事務(wù)超時(shí)失敗,即便最終更新成功,也會(huì)浪費(fèi)大量的系統(tǒng)資源進(jìn)行重復(fù)計(jì)算。
針對(duì)上述的問(wèn)題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)更新方法及裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),以至少解決相關(guān)技術(shù)中在并發(fā)事務(wù)下進(jìn)行數(shù)據(jù)更新時(shí)成功率低的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種數(shù)據(jù)更新方法,包括:讀取對(duì)象數(shù)據(jù),其中,所述對(duì)象數(shù)據(jù)被多個(gè)事務(wù)對(duì)象進(jìn)行操作處理;檢測(cè)所述對(duì)象數(shù)據(jù)中是否存在更新數(shù)據(jù),其中,所述更新數(shù)據(jù)是指在當(dāng)前數(shù)據(jù)版本的基礎(chǔ)上出現(xiàn)變更的數(shù)據(jù),所述當(dāng)前數(shù)據(jù)版本對(duì)應(yīng)有數(shù)據(jù)當(dāng)前值;若所述對(duì)象數(shù)據(jù)中存在所述更新數(shù)據(jù),將所有更新數(shù)據(jù)進(jìn)行合并;將合并后的所述更新數(shù)據(jù)加載至所述數(shù)據(jù)當(dāng)前值中。
可選地,檢測(cè)所述對(duì)象數(shù)據(jù)中是否存在更新數(shù)據(jù)的步驟,包括:以所述數(shù)據(jù)當(dāng)前值為基礎(chǔ),檢測(cè)是否有另一事務(wù)對(duì)象對(duì)所述當(dāng)前數(shù)據(jù)版本中的數(shù)據(jù)當(dāng)前值進(jìn)行變更操作,并確定所述對(duì)象數(shù)據(jù)中是否存在更新數(shù)據(jù)。
可選地,在檢測(cè)所述對(duì)象數(shù)據(jù)中是否存在更新數(shù)據(jù)之后,所述數(shù)據(jù)更新方法還包括:檢測(cè)所述對(duì)象數(shù)據(jù)中不存在更新數(shù)據(jù),記錄已讀取的所有對(duì)象數(shù)據(jù);將所有對(duì)象數(shù)據(jù)存儲(chǔ)在事務(wù)數(shù)據(jù)庫(kù)中。
可選地,若所述對(duì)象數(shù)據(jù)中存在更新數(shù)據(jù),將所有更新數(shù)據(jù)進(jìn)行合并的步驟,包括:若所述對(duì)象數(shù)據(jù)中存在更新數(shù)據(jù),計(jì)算所述更新數(shù)據(jù)與數(shù)據(jù)當(dāng)前值中保存的原始數(shù)據(jù)之間的差值;若所述差值在預(yù)設(shè)差值范圍內(nèi),將所有更新數(shù)據(jù)進(jìn)行合并。
可選地,若所述對(duì)象數(shù)據(jù)中存在更新數(shù)據(jù),將所有更新數(shù)據(jù)進(jìn)行合并的步驟,還包括:若所述對(duì)象數(shù)據(jù)中存在更新數(shù)據(jù),判斷所述當(dāng)前數(shù)據(jù)版本與歷史記錄版本是否一致;若所述當(dāng)前數(shù)據(jù)版本與所述歷史記錄版本不一致,對(duì)所述當(dāng)前數(shù)據(jù)版本中的所有更新數(shù)據(jù)進(jìn)行合并;將合并后的所有更新數(shù)據(jù)加載至所述數(shù)據(jù)當(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/202110189554.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(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)裝置
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





