[發明專利]訪問分布式數據庫的方法、數據源代理裝置及應用服務器在審
| 申請號: | 201510851922.8 | 申請日: | 2015-11-27 |
| 公開(公告)號: | CN105447151A | 公開(公告)日: | 2016-03-30 |
| 發明(設計)人: | 張科 | 申請(專利權)人: | 深圳市金蝶友商電子商務服務有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 王仲凱 |
| 地址: | 518057 廣東省深圳市南山區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 訪問 分布式 數據庫 方法 數據源 代理 裝置 應用 服務器 | ||
技術領域
本發明涉及計算機領域,尤其涉及一種訪問分布式數據庫的方法、數據源代理裝置及應用服務器。
背景技術
在互聯網應用中,應用服務器可以很方便的做集群,每個應用服務器的代碼是一樣的,配置也相同,因為這有利于發布部署。
在上述情況下,應用服務器集群訪問的數據庫配置也是相同的,當用戶數據增加,單一數據庫無法支撐,需要分離成多數據庫時,或者其他原因我們需要分離用戶數據的時候,數據庫需要進行分布式部署,此時很難在不變更程序或者程序配置的情況下讓應用服務器訪問不同的數據庫。當前流行的框架Spring在管理數據訪問接口(DAO,DataAccessObject)層時,配置的數據源就是這種情況。
現有技術中,應用程序需要很清楚分布式數據庫的分布情況,顯式的設置訪問數據庫,在需要變更數據源的時候,必須修改應用程序,配置數據源的過程對應用程序來說是非透明的,從而導致更新維護程序的成本高,不靈活。
發明內容
本發明實施例提供了一種訪問分布式數據庫的方法、數據源代理裝置及應用服務器,能夠靈活動態地設置數據源。
第一方面,本發明實施例提供了一種訪問分布式數據庫的方法,包括:
數據源代理接收數據庫訪問請求,通過數據源查詢服務獲取數據庫訪問請求對應的用戶標識,再確定用戶標識對應的底層數據源的標識,并返回底層數據源的標識對應的底層數據源的鏈接。
本發明實施例中,在訪問分布式數據庫時,并不是顯式的設置訪問數據庫,而是通過數據源代理進行訪問,從而針對不同的用戶,可以返回不同的底層數據源產生的鏈接,達到分布式訪問的目的,從而能夠靈活動態地設置數據源,節省更新維護程序的成本。
結合第一方面,在第一方面的第一種可能的實現方式中,數據源查詢服務包括一種分布式存儲規則,分布式存儲規則指示用戶標識與底層數據源標識之間的對應關系。
在具體的實施中,上述的數據源查詢服務由應用方提供,是獨立于應用本身的功能開發的,對應用來說是透明的。
因此,由數據源代理通過應用方提供的數據源查詢服務來確定線程上下文應用的底層數據源,從而動態地產生數據源鏈接,達到應用本身不知曉數據源代理的分布式特性的效果。
結合第一方面或第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,數據源代理返回底層數據源的標識對應的底層數據源的鏈接包括:數據源代理根據底層數據源的標識查找到相應的底層數據源,并返回該底層數據源的鏈接。
需要說明的是,首次訪問一個新的底層數據源時,需要新構造數據源并返回該數據源的鏈接。
結合第一方面、第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式,在第一方面的第三種可能的實現方式中,該方法還包括:數據源代理基于該底層數據源鏈接執行數據庫查詢指令。
第二方面,本發明實施例提供了一種訪問分布式數據庫的方法,包括:應用服務器獲取數據源代理;應用服務器接收用戶的訪問請求,之后,從所述數據源代理中獲取該用戶的底層數據源鏈接。
因此,應用服務器在訪問分布式數據庫時,并不是顯示的設置訪問數據庫,而是通過數據源代理進行訪問,數據源代理可以根據接收到的用戶請求來返回該用戶的底層數據源鏈接,從而達到靈活訪問分布式數據庫的目的。
結合第二方面,在第二方面的第一種可能的實現方式中,應用服務器獲取數據源代理具體為在實例化數據訪問接口DAO時獲取數據源代理;應用服務器從數據源代理中獲取用戶的底層數據源鏈接具體為通過數據訪問接口DAO從數據源代理中獲取用戶的底層數據源鏈接。
第三方面,本發明實施例提供了一種數據源代理裝置,包括:接收單元,用于接收數據庫訪問請求;確定單元,用于通過數據源查詢服務獲取數據庫訪問請求對應的用戶標識,再確定用戶標識對應的底層數據源的標識;返回單元,用于返回底層數據源的標識對應的底層數據源的鏈接。
結合第三方面,在第三方面的第一種可能的實現方式中,數據源查詢服務包括一種分布式存儲規則,該分布式存儲規則指示所述用戶標識與所述底層數據源標識之間的對應關系。
結合第三方面或第三方面的第一種可能的實現方式,在第三方面的第二種可能的實現方式中,返回單元,具體用于根據底層數據源的標識查找到相應的底層數據源,并返回底層數據源的鏈接。
結合第三方面、第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式,在第三方面的第三種可能的實現方式中,該裝置還包括:執行單元,用于基于該底層數據源鏈接執行數據庫操作指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市金蝶友商電子商務服務有限公司,未經深圳市金蝶友商電子商務服務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510851922.8/2.html,轉載請聲明來源鉆瓜專利網。





