[發明專利]數據源讀寫分離方法和裝置在審
| 申請號: | 202011050571.8 | 申請日: | 2020-09-29 |
| 公開(公告)號: | CN113761038A | 公開(公告)日: | 2021-12-07 |
| 發明(設計)人: | 趙力 | 申請(專利權)人: | 北京沃東天駿信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 李陽;王志遠 |
| 地址: | 100176 北京市北京經濟技術*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據源 讀寫 分離 方法 裝置 | ||
1.一種數據源讀寫分離方法,其特征在于,包括:
獲取業務系統的原始數據源,將所述原始數據源作為第一數據源,復制所述第一數據源得到第二數據源,將所述第一數據源和所述第二數據源其中之一作為讀數據源,另一個作為寫數據源;
攔截訪問所述業務系統的請求,并識別所述請求對應的操作類型,所述操作類型包括讀操作和寫操作;
在確定所述請求對應的操作類型為寫操作時,將所述請求鏈接到所述寫數據源進行寫操作;在確定所述請求對應的操作類型為讀操作時,將所述請求鏈接到所述讀數據源進行讀操作。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
創建代理管理器;
確定所述第一數據源和所述第二數據源的標識,所述標識包括讀標識和寫標識;
將所述標識記錄在所述代理管理器中。
3.根據權利要求2所述的方法,其特征在于,在確定所述請求對應的操作類型為寫操作時,將所述請求鏈接到所述寫數據源進行寫操作包括:
若確定所述請求對應的操作類型為寫操作,則從所述代理管理器中查找寫標識,將所述請求鏈接到與所述寫標識對應的第一數據源或第二數據源進行寫操作;
在確定所述請求對應的操作類型為讀操作時,將所述請求鏈接到所述讀數據源進行讀操作包括:
若確定所述請求對應的操作類型為讀操作,則從所述代理管理器中查找讀標識,將所述請求鏈接到與所述讀標識對應的第一數據源或第二數據源進行讀操作。
4.根據權利要求3所述的方法,其特征在于,獲取業務系統的原始數據源,將所述原始數據源作為第一數據源,復制所述第一數據源得到第二數據源包括:
獲取所述業務系統的原始數據源的實例,以獲取所述業務系統的原始數據源;
當所述實例的數量為多個時,確定所述業務系統包括多個原始數據源,將所述多個原始數據源中的每個原始數據源作為第一數據源;
分別復制所述第一數據源,得到多個對應的第二數據源。
5.根據權利要求4所述的方法,其特征在于,在識別所述請求對應的操作類型之前,所述方法還包括:
確定所述請求的目標實體類;
根據預設的對象關系映射表和所述目標實體類,從所述多個第一數據源中確定與所述請求對應的第一目標數據源,其中所述對象關系映射表用于記錄所述業務系統的原始數據源及對應的實體類的映射關系;
在確定所述請求對應的操作類型為寫操作時,將所述請求鏈接到所述寫數據源進行寫操作包括:
在確定所述請求對應的操作類型為寫操作的情況下,若所述第一目標數據源為寫數據源,則將所述請求鏈接到所述第一目標數據源進行寫操作,若所述第一目標數據源為讀數據源,則將所述請求鏈接到與所述第一目標數據源對應的第二目標數據源進行寫操作;
在確定所述請求對應的操作類型為讀操作時,將所述請求鏈接到所述讀數據源進行讀操作包括:
在確定所述請求對應的操作類型為讀操作的情況下,若所述第一目標數據源為讀數據源,則將所述請求鏈接到所述第一目標數據源進行讀操作,若所述第一目標數據源為寫數據源,則將所述請求鏈接到與所述第一目標數據源對應的第二目標數據源進行讀操作。
6.根據權利要求1所述的方法,其特征在于,識別所述請求對應的操作類型包括:獲取所述請求的注解,識別所述注解對應的操作類型。
7.根據權利要求1所述的方法,其特征在于,所述注解包括以下一種或多種:Mybatis注解、JPA注解和自定義注解。
8.根據權利要求1所述的方法,其特征在于,識別所述請求對應的操作類型包括:
通過抽象語法樹識別所述請求對應的操作類型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京沃東天駿信息技術有限公司;北京京東世紀貿易有限公司,未經北京沃東天駿信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011050571.8/1.html,轉載請聲明來源鉆瓜專利網。





