本公開提供一種多集群數據庫管理系統及方法;涉及數據庫技術領域。該系統包括:多個服務器集群、第一API服務組件和元數據管理模塊。第一API服務組件用于接收數據庫實例操作請求,數據庫實例操作請求包括目標集群標識信息和數據庫實例操作對應的資源標識信息;基于目標集群標識信息,將數據庫實例操作請求轉發至目標服務器集群,以使目標服務器集群基于數據庫實例操作請求進行相應數據庫實例操作并更新操作后的資源狀態信息。本公開可以解決相關技術中用戶對于多地域或多供應商提供的多個服務器集群訪問或部署過程中的系統切換導致的用戶體驗差的問題。的用戶體驗差的問題。的用戶體驗差的問題。
【技術實現步驟摘要】
多集群數據庫管理系統及方法
[0001]本公開涉及數據庫
,具體而言,涉及一種多集群數據庫管理系統、多集群數據庫管理方法、計算機可讀存儲介質和電子設備。
技術介紹
[0002]PostgreSQL是一個對象關系型數據庫管理系統。PostgreSQL支持大部分SQL標準并且提供了許多其他現代特性:復雜查詢、外鍵、觸發器、視圖、事務完整性、多版本并行控制系統(MVCC)。
[0003]相關技術中,PostgreSQL對于數據庫的服務器集群一般都只能進行單個服務器集群的管理,對于處于多地域或多個供應商提供的多個服務器集群需要進行分別管理。這就導致用戶在訪問或部署多個服務器集群時需要不斷進行系統的切換,影響用戶體驗。
[0004]需要說明的是,在上述
技術介紹
部分公開的信息僅用于加強對本公開的背景的理解,因此可以包括不構成對本領域普通技術人員已知的現有技術的信息。
技術實現思路
[0005]本公開實施例的目的在于提供一種多集群數據庫管理系統、多集群數據庫管理方法、計算機可讀存儲介質和電子設備,進而在一定程度上解決了相關技術中用戶對于多地域或多供應商提供的多個服務器集群訪問或部署過程中的系統切換導致的用戶體驗差的問題。
[0006]根據本公開的第一方面,提供了一種多集群數據庫管理系統,包括:
[0007]多個服務器集群,多個所述服務器集群分布于不同地域;
[0008]第一應用程序接口API服務組件,用于接收包括目標集群標識信息和數據庫實例操作對應的資源標識信息的數據庫實例操作請求,并基于所述目標集群標識信息,將所述數據庫實例操作請求轉發至目標服務器集群,以使所述目標服務器集群基于所述數據庫實例操作請求進行相應數據庫實例操作并更新與所述資源標識信息對應的操作后的資源狀態信息;所述目標服務器集群包含多個所述服務器集群中的一個或多個;
[0009]元數據管理模塊,用于接收并存儲所述第一API服務組件轉發的數據庫實例操作對應的資源狀態信息。
[0010]在本公開的一種示例性實施例中,基于前述方案,每個所述服務器集群包含:
[0011]第二API服務組件,用于與所述第一API服務組件通信連接,以獲得所述第一API服務組件轉發的所述數據庫實例操作請求,并基于所述數據庫實例操作請求構建對應的自定義資源;
[0012]執行模塊,用于根據所述自定義資源執行相應數據庫實例操作并更新操作后的資源狀態信息。
[0013]在本公開的一種示例性實施例中,基于前述方案,每個所述服務器集群還包括第三API服務組件;所述系統還包括:
[0014]協調組件,用于通過所述第三API服務組件監聽對應數據庫實例的資源狀態變更,并將變更后的資源狀態信息同步至所述元數據管理模塊。
[0015]在本公開的一種示例性實施例中,基于前述方案,所述第一API服務組件還用于:響應于負載均衡指令,調整各服務器集群內數據庫實例對應的副本數量。
[0016]在本公開的一種示例性實施例中,基于前述方案,所述協調組件還用于:
[0017]響應于多個所述服務器集群的集群數量變化,添加或刪除所述協調組件對服務器集群的對應配置文件并重啟該協調組件的服務;
[0018]或者,
[0019]響應于多個所述服務器集群的集群數量變化,添加或刪除相應服務器集群對應協調組件的服務。
[0020]在本公開的一種示例性實施例中,基于前述方案,多個所述服務器集群為多個Kubernetes集群,所述協調組件包括:
[0021]管理控制模塊,用于針對每個Kubernetes集群創建一個命名空間控制模塊;
[0022]命名空間控制模塊,用于監聽對應Kubernetes集群的命名空間事件,并對每個新建的目標命名空間構建一個控制群組,所述目標命名空間為攜帶有執行模塊標簽的命名空間;
[0023]控制群組,用于監聽對應Kubernetes集群的狀態信息。
[0024]在本公開的一種示例性實施例中,基于前述方案,所述數據庫為PostgreSQL數據庫,所述控制群組包括:
[0025]PostgreSQL控制子模塊,用于監聽對應數據庫實例的整體狀態信息,并將監聽到的該服務器集群的整體狀態信息更新至元數據管理模塊;
[0026]PostgreSQL副本控制子模塊,用于監聽對應數據庫實例的副本狀態信息,并將監聽到的該服務器集群的副本狀態信息更新至元數據管理模塊;
[0027]PostgreSQL任務控制子模塊,用于對相應數據庫實例的數據進行自動備份和/或修改對應服務器集群的審計策略。
[0028]在本公開的一種示例性實施例中,基于前述方案,所述第一API服務組件還用于:
[0029]配置與所述數據庫實例操作請求對應的數據庫實例的數據庫參數、數據庫存儲類型和數據庫訪問方式中的一種或多種。
[0030]根據本公開的第二方面,提供一種多集群數據庫管理方法,應用于多集群數據庫管理系統,所述系統包括多個服務器集群和元數據管理模塊,多個所述服務器集群分布于不同地域;其特征在于,所述方法包括:
[0031]接收包括目標集群標識信息和數據庫實例操作對應的資源標識信息的數據庫實例操作請求,并基于所述目標集群標識信息,將所述數據庫實例操作請求轉發至目標服務器集群,以使所述目標服務器集群基于所述數據庫實例操作請求進行相應數據庫實例操作并更新與所述資源標識信息對應的操作后的資源狀態信息;所述目標服務器集群包含多個所述服務器集群中的一個或多個;
[0032]接收并存儲所述數據庫實例操作對應的資源狀態信息。
[0033]在本公開的一種示例性實施例中,基于前述方案,所述方法還包括:
[0034]響應于負載均衡指令,調整各服務器集群內數據庫實例對應的副本數量。
[0035]根據本公開的第三方面,提供一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現上述任意一項所述的方法。
[0036]根據本公開的第四方面,提供一種電子設備,包括:處理器;以及存儲器,用于存儲所述處理器的可執行指令;其中,所述處理器配置為經由執行所述可執行指令來執行上述任意一項所述的方法。
[0037]本公開示例性實施例可以具有以下部分或全部有益效果:
[0038]在公開示例實施方式所提供的多集群數據庫管理系統中,一方面通過設置第一API服務組件,用于接收用戶的數據庫實例操作請求,并基于將數據庫實例操作請求轉發至目標服務器集群,使用戶可以通過調用該第一API服務組件實現對多個服務器集群的統一管理,提升用戶體驗。另一方面,通過第一API服務組件將數據庫實例操作請求中的數據庫實例操作的相關信息轉發至元數據管理模塊,在數據庫實例操作之前實現相關信息的存儲,能夠減少后續的數據傳輸過程,提高數據庫管理效率。
[0039]應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。
本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種多集群數據庫管理系統,其特征在于,包括:多個服務器集群,多個所述服務器集群分布于不同地域;第一應用程序接口API服務組件,用于接收包括目標集群標識信息和數據庫實例操作對應的資源標識信息的數據庫實例操作請求,并基于所述目標集群標識信息,將所述數據庫實例操作請求轉發至目標服務器集群,以使所述目標服務器集群基于所述數據庫實例操作請求進行相應數據庫實例操作并更新與所述資源標識信息對應的操作后的資源狀態信息;所述目標服務器集群包含多個所述服務器集群中的一個或多個;元數據管理模塊,用于接收并存儲所述第一API服務組件轉發的數據庫實例操作對應的資源狀態信息。2.根據權利要求1所述的多集群數據庫管理系統,其特征在于,每個所述服務器集群包括:第二API服務組件,用于接收所述第一API服務組件轉發的所述數據庫實例操作請求,并基于所述數據庫實例操作請求構建對應的自定義資源;執行模塊,用于根據所述自定義資源進行相應數據庫實例操作并更新操作后的資源狀態信息。3.根據權利要求1或2所述的多集群數據庫管理系統,其特征在于,每個所述服務器集群還包括第三API服務組件;所述系統還包括:協調組件,用于通過所述第三API服務組件監聽對應數據庫實例的資源狀態變更,并將變更后的資源狀態信息同步至所述元數據管理模塊。4.根據權利要求1所述的多集群數據庫管理系統,其特征在于,所述第一API服務組件還用于:響應于負載均衡指令,調整各服務器集群內數據庫實例對應的副本數量。5.根據權利要求3所述的多集群數據庫管理系統,其特征在于,所述協調組件還用于:響應于多個所述服務器集群的集群數量變化,添加或刪除所述協調組件對服務器集群的對應配置文件并重啟該協調組件的服務;或者,響應于多個所述服務器集群的集群數量變化,添加或刪除相應服務器集群對應協調組件的服務。6.根據權利要求3所述的多集群數據庫管理系統,其特征在于,多個所述服務器集群為多個Kubernetes集群,所述協調組件包括:管理控制模塊,用于針對每個Kubernetes集群創建一個命名空間控制模塊;命名空間控制模塊,用于監聽對應Kubernetes集群的命名空間事件,并對每個新建的目標命名空間構建...
【專利技術屬性】
技術研發人員:穆冠琦,曾健,彭智,蔣帥,
申請(專利權)人:京東科技信息技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。