基于分布式環境的數據存儲及處理系統的制作方法
【技術領域】
[0001]本發明涉及數據存儲及處理系統,更具體地,涉及基于分布式環境的數據存儲及處理系統。
【背景技術】
[0002]目前,隨著計算機和網絡應用的日益廣泛以及不同領域的業務種類的日益豐富,分布式環境下的數據存儲及處理變得越來越重要。
[0003]在現有的技術方案中,當整個系統采用多個數據庫和數據處理服務器時,為了實現高可用性(即在某一應用節點出現宕機等問題后,該應用節點的數據處理任務能夠由其他應用節點接管以確保持續運轉,以及在某一數據庫出現宕機等問題后,能夠從其他備份數據庫中獲取該數據庫中的記錄),通常采取如下方式:使用冷備機器并以人工的方式在主備機之間切換。
[0004]上述現有的技術方案存在如下問題:操作所用的時間較長,精度較低且易于出錯。
[0005]因此,存在如下需求:提供能夠自動地進行節點故障處理以及負載均衡并且具有較高的可擴展性的基于分布式環境的數據存儲及處理系統。
【發明內容】
[0006]為了解決上述現有技術方案所存在的問題,本發明提出了能夠自動地進行節點故障處理以及負載均衡并且具有較高的可擴展性的基于分布式環境的數據存儲及處理系統。
[0007]本發明的目的是通過以下技術方案實現的:
一種基于分布式環境的數據存儲及處理系統,所述基于分布式環境的數據存儲及處理系統包括:
數據庫管理服務器,所述數據庫管理服務器接收來自數據源的數據,并基于所述數據的屬性和數據切分表將所述數據存儲到全量數據庫以及多個數據庫中的至少一個中,其中,所述數據切分表包含數據的屬性與用于存儲具有該屬性的數據的目標數據庫3的映射關系;
多個數據庫,每個所述數據庫存儲符合由所述數據切分表所指示的映射關系的數據; 全量數據庫,所述全量數據庫存儲來自所述數據源的所有數據;
應用節點管理服務器,所述應用節點管理服務器接收來自用戶端的數據處理請求,并基于所述數據處理請求向每一個運行狀態為“正常”的應用節點發送數據處理指令;
多個應用節點,每個所述應用節點在接收到所述數據處理指令后從任務切分表獲取該應用節點針對該數據處理指令而需執行的任務,并隨之執行所述任務,其中,所述任務切分表包含任務屬性和用于執行具有該屬性的任務的目標應用節點的映射關系。
[0008]在上面所公開的方案中,優選地,所述數據庫管理服務器能夠在啟動時或者在所述多個數據庫中的一個數據庫發生故障或者有新的數據庫接入系統中時基于預定的數據切分規則及負載均衡算法自動地生成所述數據切分表,其中,所述數據切分規則用于將數據根據其屬性進行分組,并基于此定義具有特定屬性的數據與用于存儲具有該屬性的數據的目標數據庫的對應關系。
[0009]在上面所公開的方案中,優選地,所述應用節點管理服務器能夠在啟動時或者在所述多個應用節點中的一個應用節點發生故障或者有新的應用節點接入系統中時基于預定的任務切分規則及負載均衡算法自動地生成所述任務切分表,其中,所述任務切分規則用于將數據處理任務根據其屬性進行分組,并基于此定義具有特定屬性的任務與用于執行具有該屬性的任務的目標應用節點的對應關系。
[0010]在上面所公開的方案中,優選地,所述數據處理指令包含待處理的任務的屬性信肩、Ο
[0011]在上面所公開的方案中,優選地,所述數據庫管理服務器周期性地檢測每個數據庫的運行狀態,并且當檢測到所述多個數據庫中的一個或多個數據庫發生故障或者檢測到有新的數據庫接入系統中時,所述數據庫管理服務器基于所述預定的數據切分規則及負載均衡算法重新生成所述數據切分表,新生成的數據切分表不包含發生故障的數據庫,并且包含新接入的數據庫,隨后基于新生成的數據切分表執行后續的數據存儲過程。
[0012]在上面所公開的方案中,優選地,所述應用節點管理服務器周期性地檢測每個應用節點的運行狀態,并且當檢測到所述多個應用節點中的一個或多個應用節點發生故障或者檢測到有新的應用節點接入系統中時,所述應用節點管理服務器基于所述預定的任務切分規則及負載均衡算法重新生成所述任務切分表,其中,新生成的任務切分表不包含發生故障的應用節點,并且包含新接入的應用節點,隨后運行狀態為“正常”的應用節點基于新生成的任務切分表執行后續的數據處理過程。
[0013]在上面所公開的方案中,優選地,來自所述數據源的同一數據被分別存儲到所述多個數據庫中的兩個以及所述全量數據庫中。
[0014]在上面所公開的方案中,優選地,所述數據庫管理服務器由互為備份的兩個物理主機構成。
[0015]在上面所公開的方案中,優選地,所述應用節點管理服務器由互為備份的兩個物理主機構成。
[0016]在上面所公開的方案中,優選地,每個應用節點針對不同類型的數據處理任務運行多個進程,所述多個進程并行處理所述數據處理任務。
[0017]本發明所公開的基于分布式環境的數據存儲及處理系統具有以下優點:(1)由于能夠在應用節點和/或數據庫發生故障或者有新的應用節點和/或數據庫接入系統中時基于預定的任務切分規則和/或數據切分規則及負載均衡算法重新生成任務切分表和/或數據切分表,故具有高度的可擴展性和高可用性和可靠性;(2)由于數據被存儲到分布式的多個數據庫中并且數據處理任務被多個應用節點執行,每個應用節點處理一部分數據處理任務,故整個系統具有較高的數據處理性能;(3)整個系統成本較低并且管理便捷。
【附圖說明】
[0018]結合附圖,本發明的技術特征以及優點將會被本領域技術人員更好地理解,其中:
圖1是根據本發明的實施例的基于分布式環境的數據存儲及處理系統的示意性結構圖。
【具體實施方式】
[0019]圖1是根據本發明的實施例的基于分布式環境的數據存儲及處理系統的示意性結構圖。如圖1所示,本發明所公開的基于分布式環境的數據存儲及處理系統包括數據庫管理服務器1、應用節點管理服務器2、多個數據庫3、全量數據庫4以及多個應用節點5。所述數據庫管理服務器1接收來自數據源的數據,并基于所述數據的屬性和數據切分表將所述數據存儲到全量數據庫4以及多個數據庫3中的至少一個中,其中,所述數據切分表包含數據的屬性與用于存儲具有該屬性的數據的目標數據庫3的映射關系(即定義具有特定屬性的數據由哪個或那些特定的數據庫存儲)。每個所述數據庫3存儲符合由所述數據切分表所指示的映射關系的數據。所述全量數據庫4存儲來自所述數據源的所有數據。所述應用節點管理服務器2接收來自用戶端的數據處理請求,并基于所述數據處理請求向每一個運行狀態為“正常”的應用節點5發送數據處理指令。每個所述應用節點5在接收到所述數據處理指令后從任務切分表獲取該應用節點針對該數據處理指令而需執行的任務,并隨之執行所述任務,其中,所述任務切分表包含任務屬性和用于執行具有該屬性的任務的目標應用節點5的映射關系(即定義具有特定屬性的任務由哪個或那些特定的應用節點執行)。
[0020]優選地,在本發明所公開的基于分布式環境的數據存儲及處理系統中,所述數據庫管理服務器1能夠在啟動時或者在所述多個數據庫3中的一個數據庫3發生故障或者有新的數據庫3接入系統中時基于預定的數據切分規則(其由系統開發人員根據實際需求確定)及負載均衡算法自動地生成所述數據切分表,其中,所述數據切分規則用于將數據根據其屬性進行分組(例如,在金融領域中,可以將交易數據按用戶ID、商戶代碼、機構代碼、交易地區等屬性進行分組),并基于此定義具有特定屬性的數據與用于存儲具有該屬性的數據的目標數據庫3的對應關系。
[0021]優選地,在本發明所公開的基于分布式環境的數據存儲及處理系統中,所述應用節點管理服務器2能夠在啟動時或者在所述多個應用節點5中的一個應用節點5發生故障或者有新的應用節點5接入系統中時基于預定的任務切分規則(其由系統開發人員根據實際需求確定)及負載均衡算法自動地生成所述任務切分表,其中,所述任務切分規則用于將數據處理任務根據其屬