一種分布式系統動態應用隔離的方法和系統的製作方法
2023-05-16 18:52:21 1
專利名稱:一種分布式系統動態應用隔離的方法和系統的製作方法
技術領域:
本發明涉及計算機領域,尤其涉及一種在分布式順序表上,建立受控組並且保持不同受控組內數據分布和服務請求佔用的伺服器資源相互隔離的方法。
背景技術:
當系統需要支持多個對伺服器資源配置要求差異巨大的應用時,通常需要搭建多個集群,因此需要多個支援系統來滿足運行需求,無法共用基礎設施平臺。就是說,在系統中,如果某些數據表的服務請求對伺服器的需求過大時,伺服器對這些數據表的服務請求執行的過於頻繁,使得其他的數據表的服務請求長時間得不到執行,那麼目前的現有技術,還沒有能實現支持多個伺服器資源互不兼容的應用,共用系統基礎設施的問題還屬於分布式系統或資料庫領域正待解決的技術問題。
發明內容
本發明提出了一種分布式系統動態應用隔離的方法,保證不同數據表在使用伺服器資源時,可以相互隔離互不幹擾,實現了支持多個伺服器資源互不兼容應用,能共用系統基礎設施,所述技術方案如下一種分布式系統動態應用隔離的方法,其特徵在於,所述方法包括在分布式系統中,根據伺服器應用的類型將系統的伺服器劃分成不同的受控組;根據服務請求對不同應用類型受控組的需求,為每個受控組分配相應數量的伺服器;`將所述服務請求所要調用的數據表存放到在相應應用類型的受控組中的伺服器上,使伺服器所執行的服務請求被限制在受控組範圍內。進一步的,在所述分布式系統中,數據表中的數據按照主關鍵字劃分成多個水平數據分片,將所述數據分片分配到同一個受控組內多個伺服器上。進一步的,當服務請求對不同類型受控組的需求改變時,重新分配受控組中伺服器的數量,伺服器在受控組之間進行遷移。進一步的,所述將伺服器進行遷移的方法包括將所要遷移的伺服器中的數據分片轉移到相同受控組的其他伺服器上;將所述要遷移的伺服器從原受控組刪除;將所述要遷移的伺服器註冊在新的受控組;將新的受控組內,部分伺服器上的部分數據分片轉移到所述新遷移到組的伺服器上。進一步的,根據受控組內伺服器負載的情況對數據分片的分布做重新分配。進一步的,所述根據受控組內伺服器負載的情況對數據分片的分布做重新分配包括在受控組內比較所有伺服器的負載;
將負載最大的伺服器中,部分數據表的數據分片轉移到負載最小的伺服器中;重複以上兩個步驟,直到負載最大與負載最小的伺服器中,數據的分片差值為1,停止操作。—種分布式系統動態應用隔離的系統,所述系統包括 控制模塊,用於將服務請求通過組件管理模塊發送給應用類型相同的服務請求執行模塊,並向組間管理模塊發送組件管理的指令;組件管理模塊,與所述控制模塊相連接,用於根據服務請求的類型選擇應用類型相同的服務請求執行模塊,並且管理所述服務請求執行模塊;服務請求執行模塊,與所述組件管理模塊相連接,用於存儲系統中的數據分片,執行所述控制模塊發送的服務請求;其中,所述服務請求執行模塊由多個伺服器組成,根據應用的類型劃分成不同的受控組,伺服器所執行的服務請求被限制在受控組範圍內。進一步的,所述組件管理模塊包括伺服器管理模塊,用於根據服務請求的類型選擇應用類型相同的服務請求執行模塊,並管理所述服務請求執行模塊中的服 務器對服務請求的執行;數據管理模塊,用於根據服務請求對不同應用類型受控組的需求,為每個受控組分配相應數量的伺服器,並在服務請求對不同類型受控組的需求改變時,重新分配受控組中伺服器的數量,伺服器在受控組之間進行遷移;受控組內伺服器負載均衡管理模塊,用於根據受控組內伺服器負載的情況對數據分片的分布進行均衡分配。本發明通過提出的受控組資源管理技術,把系統的全部伺服器資源劃分為不同的受控組,不同數據表的數據分布和服務請求受到受控組資源的限制,保證不同數據表使用伺服器資源可以相互隔離互不幹擾,實現了支持多個伺服器資源互不兼容應用,能共用系統基礎設施。
圖1是本發明實施例提供的分布式系統動態應用隔離的方法流程圖;圖2是本發明實施例提供的分布式系統動態應用隔離的系統功能模塊框圖;圖3是本發明實施例提供的分布式系統受控組資源管理的基本結構示意圖。
具體實施例方式下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例,僅僅用於解釋本發明,而非對本發明的限定。實施例一分布式系統(distributed system)是建立在網絡之上的軟體系統。在一個分布式系統中,一組獨立的計算機展現給用戶的是一個統一的整體,是一個系統。系統擁有多種通用的物理和邏輯資源,可以動態的分配任務,分散的物理和邏輯資源通過計算機網絡實現信息交換。系統中存在一個以全局的方式管理計算機資源的分布式作業系統。通常,對用戶來說,分布式系統只有一個模型或範型。在作業系統之上有一層軟體中間件(middleware)負責實現這個模型。一個著名的分布式系統的例子是全球資訊網(World Wide Web),在全球資訊網中,所有的一切看起來就好像是一個文檔(Web)—樣。圖1是本發明實施例提供的分布式系統動態應用隔離的方法流程圖。如圖1所示分布式系統動態應用隔離的方法包括步驟101 :在分布式系統中,根據伺服器應用的類型將系統的伺服器劃分成不同的受控組;在分布式系統中,伺服器應用的類型有很多種,這裡的伺服器應用的類型包括讀緩存、寫緩存、緩存系統內存的大小等等,這些伺服器應用的類型對伺服器的需求量不同,而不同應用類型對伺服器的需求由一定時段的服務請求決定,比如,有時讀緩存的操作多一些,則讀緩存對伺服器的需求量就較多。先根據伺服器應用的類型將系統的伺服器劃分成不同的受控組,每種受控組對應一種應用類型,以便後續為受控組分配伺服器。步驟102 :根據服務請求對不同應用類型受控組的需求,為每個受控組分配相應數量的伺服器;由於伺服器應用的類型對伺服器的需求量不同,並且不同應用類型對伺服器的需求量由一定時段的服務請求決定,所以,可以根據服務請求對不同應用類型的需求,為每個受控組分配相應數量的伺服器,對伺服器需求量較多的應用類型受控組可分得較多數量的伺服器,而對伺服器需求量較少的應用類型受控組分得較少數量的伺服器。這樣可以充分利用資源,不至於出現有些伺服器中的服務請求執行不過來,很多服務請求不能得到執行,而有些伺服器卻被閒置,沒有得到充分的利用。步驟103 :將服務請求所要調用的數據表存放到在相應應用類型的受控組中的伺服器上,使伺服器所執 行的服務請求被限制在受控組範圍內。首先,在分布式系統中,數據表中的數據按照主關鍵字劃分成多個水平數據分片,將這些數據分片分配到同一個受控組內多個伺服器上。這些數據表的操作也與所在的受控組的應用類型相對應。將服務請求所要調用的數據表的數據分片,存放到在相應應用類型的受控組中的伺服器上,使伺服器所執行的服務請求被限制在受控組範圍內,而其他受控組則不能調用這個數據表。當服務請求對不同類型受控組的需求改變時,要重新分配受控組中伺服器的數量,將伺服器在受控組之間進行遷移。將需求量較小的受控組中的伺服器遷移到需求量較大的受控組。將伺服器進行遷移的方法包括步驟1031 :將所要遷移的伺服器中的數據分片轉移到相同受控組的其他伺服器上;步驟1032 :將所要遷移的伺服器從原受控組刪除。步驟1033 :將所要遷移的伺服器註冊在新的受控組,並且新的受控組對伺服器的需求量較大。步驟1034 :將新的受控組內,部分伺服器上的部分數據分片轉移到新遷移到組的伺服器上。由於受控組之間伺服器的遷移,而造成受控組內的數據分片分布和服務請求分布不均衡,要根據受控組內伺服器負載的情況對數據分片的分布做重新分配。使得受控組內伺服器資源達到均衡。根據受控組內伺服器負載的情況對數據分片的分布做重新分配包括步驟1035 :在受控組內比較所有伺服器的負載,其中,伺服器的負載指伺服器中數據分片的數量。步驟1036 :將負載最大的伺服器中,部分數據表的數據分片轉移到負載最小的伺服器中;步驟1037 :重複以上兩個步驟,直到負載最大與負載最小的伺服器中,數據的數據分片差值為I,停止操作。實施例二圖2是本發明實施例提供的分布式系統動態應用隔離的系統功能模塊框圖;如圖2所示分布式系統動態應用隔離的系統包括控制模塊201,用於將服務請求通過組件管理模塊202發送給應用類型相同的服務請求執行模塊203,並向組件管理模塊202發送組`件管理的指令;組件管理模塊202,與控制模塊201相連接,用於根據服務請求的類型選擇應用類型相同的服務請求執行模塊203,並且管理服務請求執行模塊203 ;服務請求執行模塊203,與組件管理模塊202相連接,用於存儲系統中的數據分片,執行控制模塊201發送的服務請求;其中,服務請求執行模塊203由多個伺服器組成,根據應用的類型劃分成不同的受控組,伺服器所執行的服務請求被限制在受控組範圍內。組件管理模塊202包括伺服器管理模塊,用於根據服務請求的類型選擇應用類型相同的服務請求執行模塊,並管理所述服務請求執行模塊中的伺服器對服務請求的執行;數據管理模塊,用於根據服務請求對不同應用類型受控組的需求,為每個受控組分配相應數量的伺服器,並在服務請求對不同類型受控組的需求改變時,重新分配受控組中伺服器的數量,將伺服器在受控組之間進行遷移;受控組內伺服器負載均衡管理模塊,用於根據受控組內伺服器負載的情況對數據分片的分布進行均衡分配。實施例三圖3是本發明實施例提供的分布式系統受控組資源管理的基本結構示意圖。如圖3所示以伺服器在組間的遷移為例,要遷移的伺服器將數據分片均勻的分給相同受控組的其他伺服器,轉移數據分片後,給組件管理系統中的伺服器管理模塊發送請求,伺服器管理模塊找到需要添加伺服器的受控組,然後將所要遷移的伺服器從原來的受控組中刪除掉,註冊到新的受控組。註冊到新的受控組後,由受控組內伺服器負載均衡管理模塊對新的受控組中伺服器上存儲的數據分片進行均衡處理,最後達到新的受控組內數據分布的均衡。本發明通過提出的受控組資源管理技術,把系統的全部伺服器資源劃分為不同的受控組,不同數據表的數據分布和服務請求受到受控組資源的限制,保證不同數據表使用伺服器資源可以相互隔離互不幹擾,實現了支持多個伺服器資源互不兼容應用,能共用系統基礎設施。 以上僅是針對本發明的優選實施例及其技術原理所做的說明,而並非對本發明的技術內容所進行的限制,任何熟悉本技術領域的技術人員在本發明所公開的技術範圍內,所容易想到的變化或替換,都應涵蓋在本發明的保護範圍內。
權利要求
1.一種分布式系統動態應用隔離的方法,其特徵在於,所述方法包括 在分布式系統中,根據伺服器應用的類型將系統的伺服器劃分成不同的受控組; 根據服務請求對不同應用類型受控組的需求,為每個受控組分配相應數量的伺服器;將所述服務請求所要調用的數據表存放到在相應應用類型的受控組中的伺服器上,使伺服器所執行的服務請求被限制在受控組範圍內。
2.根據權利要求1所述的方法,其特徵在於,在所述分布式系統中,數據表中的數據按照主關鍵字劃分成多個水平數據分片,將所述數據分片分配到同一個受控組內多個伺服器上。
3.根據權利要求1所述的方法,其特徵在於,當服務請求對不同類型受控組的需求改變時,重新分配受控組中伺服器的數量,伺服器在受控組之間進行遷移。
4.根據權利要求3所述的方法,其特徵在於,所述將伺服器進行遷移的方法包括 將所要遷移的伺服器中的數據分片轉移到相同受控組的其他伺服器上; 將所述要遷移的伺服器從原受控組刪除; 將所述要遷移的伺服器註冊在新的受控組; 將新的受控組內,部分伺服器上的部分數據分片轉移到所述新遷移到組的伺服器上。
5.根據權利要求4所述的方法,其特徵在於,根據受控組內伺服器負載的情況對數據分片的分布做重新分配。
6.根據權利要求5所述的方法,其特徵在於,所述根據受控組內伺服器負載的情況對數據分片的分布做重新分配包括 在受控組內比較所有伺服器的負載; 將負載最大的伺服器中,部分數據表的數據分片轉移到負載最小的伺服器中; 重複以上兩個步驟,直到負載最大與負載最小的伺服器中,數據的分片差值為1,停止操作。
7.一種分布式系統動態應用隔離的系統,其特徵在於,所述系統包括 控制模塊,用於將服務請求通過組件管理模塊發送給應用類型相同的服務請求執行模塊,並向組間管理模塊發送組件管理的指令; 組件管理模塊,與所述控制模塊相連接,用於根據服務請求的類型選擇應用類型相同的服務請求執行模塊,並且管理所述服務請求執行模塊; 服務請求執行模塊,與所述組件管理模塊相連接,用於存儲系統中的數據分片,執行所述控制模塊發送的服務請求; 其中,所述服務請求執行模塊由多個伺服器組成,根據應用的類型劃分成不同的受控組,伺服器所執行的服務請求被限制在受控組範圍內。
8.根據權利要求7所述的方法,其特徵在於,所述組件管理模塊包括 伺服器管理模塊,用於根據服務請求的類型選擇應用類型相同的服務請求執行模塊,並管理所述服務請求執行模塊中的伺服器對服務請求的執行; 數據管理模塊,用於根據服務請求對不同應用類型受控組的需求,為每個受控組分配相應數量的伺服器,並在服務請求對不同類型受控組的需求改變時,重新分配受控組中伺服器的數量,伺服器在受控組之間進行遷移; 受控組內伺服器負載均衡管理模塊,用於根據受控組內伺服器負載的情況對數據分片的分布進 行均衡分配。
全文摘要
本發明提供了一種分布式系統動態應用隔離的方法和系統,所述方法包括在分布式系統中,根據伺服器應用的類型將系統的伺服器劃分成不同的受控組;根據服務請求對不同應用類型受控組的需求,為每個受控組分配相應數量的伺服器;將所述服務請求所要調用的數據表存放到在相應應用類型的受控組中的伺服器上,使伺服器所執行的服務請求被限制在受控組範圍內。本發明通過提出的受控組資源管理技術,把系統的全部伺服器資源劃分為不同的受控組,不同數據表的數據分布和服務請求受到受控組資源的限制,保證不同數據表使用伺服器資源可以相互隔離互不幹擾,實現了支持多個伺服器資源互不兼容應用,能共用系統基礎設施。
文檔編號H04L12/803GK103051686SQ20121053027
公開日2013年4月17日 申請日期2012年12月10日 優先權日2012年12月10日
發明者劉佳, 胡肖, 查禮 申請人:北京普澤天璣數據技術有限公司