[發明專利]一種數據庫序列的數據處理方法、裝置及服務器在審
| 申請號: | 201611013757.X | 申請日: | 2016-11-15 |
| 公開(公告)號: | CN107038191A | 公開(公告)日: | 2017-08-11 |
| 發明(設計)人: | 胡劉飛 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京三友知識產權代理有限公司11127 | 代理人: | 李輝 |
| 地址: | 英屬開曼*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 序列 數據處理 方法 裝置 服務器 | ||
技術領域
本申請屬于計算機數據處理技術領域,尤其涉及一種數據庫序列的數據處理方法、裝置及服務器。
背景技術
隨著信息技術的迅速發展,依賴于計算機處理的業務量越來越大。因此,對計算機業務數據的處理能力要求也越來越高。
在業務處理中,為了方便有效地描述一個業務對象,常常需要用一個唯一的ID(Identification,ID,身份標識或對象標識)來表示對象模型。隨著業務的發展,應用從單系統逐步演變為分布式系統,數據庫從單庫單表轉變到分庫分表,業務對象標識的管理技術也在不斷的變化。在高并發、分布式系統環境中,常常使用業務對象標識的管理技術是基于應用服務器緩存序列區間的sequence(數據庫序列)管理方式。所述的數據庫序列(sequence)通常是指一個通過數據庫生成的序列,由一組唯一數值構成,可以通過數據庫序列對象生成表的主鍵值或者業務對象的標識字段。可以通過數據庫序列對象(一個能產生順序編號的模式對象,可以自動生成序列號,產生一組等間隔的數值)自動生成,也可以通過數據庫表生成,管理sequence的表也叫做sequence表。具體的sequence管理方式可以包括:
A、在數據庫中維護一個sequence表,描述序列的名稱、當前值SEQCURRENT、最小值、最大值、步長STEP等信息;
B、應用服務器請求數據庫獲取指定步長的序列區間緩存在本地,區間為SEQRANGE:(當前值SEQCURRENT+STEP],同時更新sequence表的當前值為SEQCURRENT+STEP供使用;
C、當需要sequence時,應用服務器先從本地緩存序列區間SEQRANGE中獲取,本地緩存使用完之后再去請求數據庫獲取下一段序列區間緩存在本地供使用。
這樣,當收到業務請求時可以先從本地緩存中獲取一個sequence,然后可以加上業務來源、操作時間等業務屬性構建業務對象標識。等到本地sequence緩存使用完之后可以請求數據庫獲取下一段序列區間緩存在本地供使用。
現有的這種基于應用服務器緩存序列區間的sequence管理方法,由于應用服務器緩存序列區間的長度完全取決于sequence表的序列步長,這樣應用服務器緩存的序列區間長度都相同并且固定不變。因此會存在至少以下問題:
1、當業務并發要求較高時,會產生熱點問題。因為所有應用服務器緩存序列區間的長度相同,當業務并發量高時,應用服務器幾乎同時消耗完本地緩存序列,同時請求數據庫獲取下一段序列區間并更新sequence表,從而引發鎖沖突,出現數據庫熱點問題;
2、應用服務器分配的序列區間固定不變,不能靈活適配業務需要。如果分配的序列區太小,則會導致業務高峰期應用服務器請求數據庫獲取序列區間太過頻繁,增加數據庫壓力;而如果分配區間太大,一旦服務器重啟,會導致大量序列浪費,導致序列過度消耗,甚至可能出現無可用序列或者序列值重復。
因此,基于上述現有技術中的這種數據庫序列管理方式不能根據業務需求調整分配策略,業務適配性較差。并且當業務并發要求較高時還會增加訪問數據庫的壓力,引發鎖沖突,數據庫熱點問題突出,降低數據庫讀寫性能。
發明內容
本申請目的在于提供一種數據庫序列的數據處理方法、裝置及服務器,可以動態調整對象標識分配序列區間的大小,不同應用服務器獲取到大小不同的序列區間,使得服務器能夠靈活的適配業務需要,并且可以降低熱點問題,減小數據庫壓力,提高服務器性能。
本申請提供的一種數據庫序列的數據處理方法、裝置及服務器是這樣實現的:
一種數據庫序列的數據處理方法,所述方法包括:
獲取目標數據庫中數據庫序列的預置步長,確定所述預置步長的調整因子,所述調整因子與所述預置步長相關聯,且所述調整因子在取值范圍內按照預定方式確定出取值;
當接收到步長調整的指令時,根據所述指令調整所述調整因子的取值范圍。
一種數據庫序列的數據處理裝置,所述裝置包括:
處理單元,用于獲取目標數據庫中數據庫序列的預置步長,確定所述預置步長的調整因子,所述調整因子與所述預置步長相關聯,且所述調整因子在取值范圍內按照預定方式確定出取值;還用于當接收到步長調整的指令時,根據所述指令調整所述調整因子的取值范圍。
一種服務器,包括緩存、I/O接口、處理器,
所述緩存用于存儲分配的數據庫序列區間;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611013757.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基站天線的雙反射板
- 下一篇:一種有源天線反射板





