[發(fā)明專利]數(shù)據(jù)處理方法、裝置和計算機可讀存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 201911239374.8 | 申請日: | 2019-12-06 |
| 公開(公告)號: | CN112925787A | 公開(公告)日: | 2021-06-08 |
| 發(fā)明(設(shè)計)人: | 華竹軒;劉智瓊;池?zé)槼?/a>;朱明英;伍運珍;俞科峰;陳娜;李舒婷 | 申請(專利權(quán))人: | 中國電信股份有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/23;G06F16/28 |
| 代理公司: | 中國貿(mào)促會專利商標(biāo)事務(wù)所有限公司 11038 | 代理人: | 孫玉 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)處理 方法 裝置 計算機 可讀 存儲 介質(zhì) | ||
本公開涉及一種數(shù)據(jù)處理方法、裝置和計算機可讀存儲介質(zhì),涉及。本公開的方法包括:獲取待插入數(shù)據(jù)對應(yīng)的序列名;根據(jù)序列名在內(nèi)存中獲取對應(yīng)的序列段的當(dāng)前序列值;其中,內(nèi)存中存儲不同序列名對應(yīng)的序列段;更新內(nèi)存中序列名對應(yīng)的當(dāng)前序列值;將獲取的當(dāng)前序列值與待插入數(shù)據(jù)插入MySQL數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)表中。
技術(shù)領(lǐng)域
本公開涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)處理方法、裝置和計算機可讀存儲介質(zhì)。
背景技術(shù)
MySQL是開放源碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),采用GPL(General Public License,通用公共許可證)協(xié)議發(fā)布,用戶可以根據(jù)自己的需求進(jìn)行修改。MySQL具有跨平臺性,不僅可以在Linux系統(tǒng)上使用,還可以在Windows、Mac OS等系統(tǒng)上使用。MySQL數(shù)據(jù)庫應(yīng)用廣泛。
MySQL數(shù)據(jù)庫沒有提供自增長的唯一序列,即在MySQL數(shù)據(jù)庫中插入數(shù)據(jù)時,無法自動生成標(biāo)識每條數(shù)據(jù)的唯一序列值。用戶不能通過序列值查找相應(yīng)的數(shù)據(jù),操作很不方便。
發(fā)明內(nèi)容
本公開所要解決的一個技術(shù)問題是:如何在MySQL數(shù)據(jù)庫針對插入的數(shù)據(jù)自動生成自增長的唯一序列值。
根據(jù)本公開的一些實施例,提供的一種數(shù)據(jù)處理方法,包括:獲取待插入數(shù)據(jù)對應(yīng)的序列名;根據(jù)序列名在內(nèi)存中獲取對應(yīng)的序列段的當(dāng)前序列值;其中,內(nèi)存中存儲不同序列名對應(yīng)的序列段;更新內(nèi)存中序列名對應(yīng)的當(dāng)前序列值;將獲取的當(dāng)前序列值與待插入數(shù)據(jù)插入MySQL數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)表中。
在一些實施例中,根據(jù)序列名在內(nèi)存中獲取對應(yīng)的序列段的當(dāng)前序列值包括:根據(jù)序列名在內(nèi)存中查找對應(yīng)的序列段;在序列段中讀取當(dāng)前序列值;其中,序列名是根據(jù)待插入數(shù)據(jù)對應(yīng)的數(shù)據(jù)表確定的。
在一些實施例中,更新內(nèi)存中序列名對應(yīng)的當(dāng)前序列值包括:在獲取的當(dāng)前序列值不是序列段的最大值的情況下,將獲取的當(dāng)前序列值加1,作為更新后的序列名對應(yīng)的當(dāng)前序列值;或者,在獲取的當(dāng)前序列值是序列段的最大值的情況下,根據(jù)預(yù)設(shè)步長,確定序列段增加一個步長之后的新的序列段;將新的序列段的第一個值,作為更新后的序列名對應(yīng)的當(dāng)前序列值;或者,在獲取的當(dāng)前序列值是序列段的最大值的情況下,從MySQL數(shù)據(jù)庫中獲取新的序列段,將新的序列段的第一個值,作為更新后的序列名對應(yīng)的當(dāng)前序列值;其中,新的序列段是MySQL數(shù)據(jù)庫在序列段增加一個步長之后得到的。
在一些實施例中,MySQL數(shù)據(jù)庫存儲序列配置表,序列配置表包括:序列名,序列最大值以及預(yù)設(shè)步長;在獲取的當(dāng)前序列值是序列段的最大值的情況下,根據(jù)預(yù)設(shè)步長,確定序列段增加一個步長之后的新的序列段包括:判斷獲取的當(dāng)前序列值是否為序列最大值;在獲取的當(dāng)前序列值不是序列最大值的情況下,根據(jù)序列名從序列配置表中讀取對應(yīng)的預(yù)設(shè)步長;根據(jù)預(yù)設(shè)步長,確定序列段增加一個步長之后的新的序列段。
在一些實施例中,還包括:在MySQL數(shù)據(jù)庫中存儲序列配置表,序列配置表包括:序列名,序列最小值以及預(yù)設(shè)步長;讀取序列配置表;根據(jù)序列最小值和預(yù)設(shè)步長,確定序列名對應(yīng)的初始的序列段;將初始的序列段與序列名對應(yīng)存入內(nèi)存中。
在一些實施例中,還包括:在MySQL數(shù)據(jù)庫中存儲序列配置表,序列配置表包括:序列名,序列段最小值,序列段最大值;讀取序列配置表;根據(jù)序列段最小值和序列段最大值,確定序列名對應(yīng)的序列段;將序列段與序列名對應(yīng)存入內(nèi)存中。
在一些實施例中,在內(nèi)存中對序列段進(jìn)行樂觀鎖控制,以使針對不同待插入數(shù)據(jù)獲取的當(dāng)前序列值不同。
根據(jù)本公開的另一些實施例,提供的一種數(shù)據(jù)處理裝置,包括:序列名獲取模塊,用于獲取待插入數(shù)據(jù)對應(yīng)的序列名;序列值獲取模塊,用于根據(jù)序列名在內(nèi)存中獲取對應(yīng)的序列段的當(dāng)前序列值;其中,內(nèi)存中存儲不同序列名對應(yīng)的序列段;更新模塊,用于更新內(nèi)存中序列名對應(yīng)的當(dāng)前序列值;插入模塊,用于將獲取的當(dāng)前序列值與待插入數(shù)據(jù)插入MySQL數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)表中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國電信股份有限公司,未經(jīng)中國電信股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911239374.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)處理設(shè)備,數(shù)據(jù)處理方法,和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理電路、數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法、數(shù)據(jù)處理控制方法
- 數(shù)據(jù)處理設(shè)備、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及計算機可讀取的記錄介質(zhì)
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序





