《一種電力信息系統記憶體資料庫的多節點集群方法》是國網電力科學研究院和南京南瑞集團公司於2011年10月18日申請的專利,該專利的公布號為CN102508881A,申請號為2011103166626,授權公布日為2012年6月20日,發明人是唐汗青、陳玉慧、邱玉祥、胡游君、甘嵐,該發明涉及一種記憶體資料庫的多節點集群技術,套用於電力信息系統。
《一種電力信息系統記憶體資料庫的多節點集群方法》公開了一種電力信息系統記憶體資料庫的多節點集群技術,通過對記憶體資料庫進行封裝,形成記憶體資料庫服務端節點,服務端節點協同提供資料庫服務,該發明提供統一的訪問服務接口進行對外服務,同時管理和調度集群中各記憶體資料庫節點的協同和運行。該技術有效的處理了傳統關係型數據的訪問速度慢、記憶體資料庫不穩定等弱點,實現了高效和穩定的記憶體資料庫集群。
2015年12月1日,《一種電力信息系統記憶體資料庫的多節點集群方法》獲得第九屆江蘇省專利項目優秀獎。
(概述圖為《一種電力信息系統記憶體資料庫的多節點集群方法》摘要附圖)
基本介紹
- 中文名:一種電力信息系統記憶體資料庫的多節點集群方法
- 公布號:CN102508881A
- 申請號:2011103166626
- 授權日:2012年6月20日
- 申請日:2011年10月18日
- 申請人:國網電力科學研究院、南京南瑞集團公司
- 地址:江蘇省南京市鼓樓區南瑞路8號
- 發明人:唐汗青、陳玉慧、邱玉祥、胡游君、甘嵐
- 代理機構:南京知識律師事務所
- 類別:發明專利
- 代理人:汪旭東
專利背景,發明內容,專利目的,技術方案,附圖說明,權利要求,實施方式,榮譽表彰,
專利背景
電力信息系統一般都採用傳統的關係型資料庫,傳統的關係型資料庫管理系統主要強調維護數據的完整性、一致性、穩定性,一般採用物理磁碟存儲的方式,由於磁碟存取、內外存的數據傳遞、緩衝區管理、排隊等待及鎖的延遲等使得資料庫I/O不能滿足各類實時數據處理的套用需求,如果將整個資料庫管理系統放入記憶體,使每個事務I/O消耗變得極短,則為高速數據處理和存儲的套用場景提供了有力的支持。
為了保證數據的安全性,傳統的關係型資料庫管理系統基本上都採用多節點集群方式來保證數據的多節點存儲和數據安全。如果記憶體資料庫管理系統也能實現多節點集群部署,則能很好的解決記憶體資料庫的數據備份和安全問題。
《一種電力信息系統記憶體資料庫的多節點集群方法》實現了可以支持多節點集群方式部署的記憶體資料庫系統,在保證數據的完整性、一致性、和穩定性的同時極大的提高了資料庫的高速數據處理的能力。
發明內容
專利目的
《一種電力信息系統記憶體資料庫的多節點集群方法》的目的在於針對傳統關係型資料庫管理系統存在的弱點,提出的一種高速記憶體資料庫集群方法。系統通過提供記憶體資料庫的訪問接口服務封裝,服務端通過互備集群部署,保證多節點的數據的互備,提高數據的安全性,服務端通過擴展集群部署,邏輯上提高記憶體的容量,消除物理記憶體小帶來的存儲約束;將數據的存儲、管理都放置在記憶體中,提高資料庫的I/O速率。
技術方案
《一種電力信息系統記憶體資料庫的多節點集群方法》服務端為記憶體資料庫提供了數據初始化和物理磁碟持久化存儲功能,服務端定期將記憶體中的數據以檔案的形式保存至磁碟中,每個記憶體資料庫節點的存儲檔案統一版本信息,在記憶體資料庫啟動階段,服務端向所有記憶體資料庫節點服務端(包含自身節點)請求最新版本的存儲檔案進行記憶體數據初始化,保證記憶體資料庫啟動後數據的完整性和一致性,運行期間各節點之間進行心跳同步,保證數據的時序同步。
該發明訪問接口服務為記憶體資料庫集群提供網路TCP/IP協定安全認證訪問,當接收到連線請求,訪問接口服務與請求方建立連線、進行事務登記後向服務端進行數據請求,訪問接口服務根據集群各節點的事務負載情況來進行節點選擇,節點選擇和事務處理按互備集群和擴展集群兩種模式進行:
1.互備集群模式
互備集群需要保證多節點數據的完整性和一致性,訪問接口服務根據事務的特點分為兩類進行處理:
(1)查詢事務
訪問接口服務根據各個節點的活躍事務情況按照活躍事務最少的原則來分配查詢事務;
(2)修改事務
修改事務一般包含新增數據、修改數據和刪除數據三種情況,訪問接口服務將數據修改事務分發到所有記憶體資料庫節點進行同步處理,如其中一節點事務執行失敗,所有節點都進行事務回退,以保證數據一致性。
2.擴展集群模式
擴展集群需要邏輯上擴展物理記憶體的容量,訪問接口服務登記集群中所有節點的記憶體剩餘情況,根據各節點配置的優先權分配數據存儲,訪問接口服務根據擴展集群模式的特點分為兩類事務進行處理:
(1)數據查詢、修改、刪除事務
訪問接口服務將數據查詢事務傳送至集群節點中存有數據的服務端進行處理,將所有節點服務端的返回結果進行合併後統一返回給請求方;
(2)數據新增事務
訪問接口服務根據已登記的所有集群節點的記憶體剩餘情況,將數據新增事務提交給優先權最高且仍有剩餘記憶體的節點。
3.混合集群模式
訪問接口服務按照所配置的集群節點模式進行節點分組,組合後的互備集群節點組和擴展集群節點組實現混合集群模式。
附圖說明
圖1是《一種電力信息系統記憶體資料庫的多節點集群方法》服務端模組結構圖;
圖2是該發明服務端集群關係結構圖;
圖3是該發明訪問接口服務模組結構圖;
圖4是該發明服務端處理流程圖;
圖5是該發明訪問接口服務互備集群模式處理流程圖;
圖6是該發明訪問接口服務擴展集群模式處理流程圖;
圖7是該發明互備集群模式部署結構圖;
圖8是該發明擴展集群模式部署結構圖;
圖9是該發明混合集群模式部署結構圖。
權利要求
1.一種電力信息系統記憶體資料庫的多節點集群系統,其特徵在於:該集群系統由訪問接口服務模組和資料庫服務端模組組成,其中:訪問接口服務模組由對外通信服務模組、事務管理器、SQL解析器、策略管理器、節點管理器、集群節點通信服務模組組成,對外通信服務模組與請求方建立網路通信,事務管理器對與請求方已經建立好的連線事務進行登記和管理,SQL解析器對請求方提交的SQL進行解析,策略管理器確定集群節點的集群和節點使用策略、提供三種集群模式,節點管理器負責對集群中節點的運行、存儲信息進行登記和管理,集群節點通信服務模組負責與集群中節點進行網路通信;資料庫服務端模組由模組通信接口模組、協同運行服務模組、數據服務模組、調度管理服務模組、記憶體資料庫和數據存檔組成,通信接口模組負責與訪問接口服務模組通信以及和其他節點資料庫服務端模組通信,協同運行服務模組用於與其他節點協同運行服務模組之間的運行協同和運行心跳以及時間同步、實現控制數據服務模組和調度管理服務模組在多個節點中協同運行;數據服務模組提供支持標準SQL訪問的記憶體資料庫服務,調度管理服務模組負責定期將記憶體資料庫中數據持久化到數據存檔中,資料庫服務端模組提供互備、擴展、混合三種模式的資料庫集群服務;所述互備集群模式,是指負載低的集群節點提供數據查詢服務,數據更新操作需要在所有集群節點執行;擴展集群模式,是指數據插入操作只在具有最高存儲優先權且有足夠存儲空間的集群節點中執行,其他操作需要在所有集群節點執行;混合集群模式是綜合互備和擴展兩種模式的一種模式,它將多個集群節點按照擴展模式形成擴展集群節點組,多個擴展集群節點組之間採用互備集群模式;資料庫服務端模組啟動時,首先啟動記憶體資料庫,完成後資料庫服務端模組查詢訪問接口服務模組中的節點管理器中活躍節點的信息,並向所有活躍節點傳送數據版本請求、比對最新的數據存檔,通過數據服務模組讀取集群系統中最新版本的數據存檔來進行記憶體資料庫的數據初始化,完成後資料庫服務端模組繼續啟動調度管理服務模組進行定期的數據持久化任務和提供記憶體資料庫的數據I/O服務的數據服務,最後通過啟動協同運行服務模組來與其他節點協同工作,當資料庫服務端模組所有服務的正常啟動後,資料庫服務端模組向訪問接口服務模組註冊本節點信息,以表示該節點已經具備服務條件。
實施方式
圖1所示為服務端模組結構圖,服務端由通信接口模組、協同運行服務、數據服務、調度管理服務、記憶體資料庫和數據存檔這幾部分組成。通信接口模組主要完成網路通信和指令解析工作。協同運行服務主要完成與其他節點的協同,包括任務協同和數據協同以及時序協同。任務協同主要包括提供相同的數據服務、相同的數據持久化操作以及指令執行的結果協同等;數據協同主要完成記憶體資料庫初始化時各節點的數據版本的同步協同,時序協同主要完成各節點的運行心跳、指令時序和時間同步。數據服務和調度管理服務主要在協同運行服務的管理下提供資料庫的數據I/O服務和完成資料庫的備份持久化等管理任務。
圖2為多節點集群模式下,服務端各模組的關係結構示意圖,各節點通過通信接口進行實時物理通信,協同運行服務邏輯控制所有服務端的集群運行。
圖3為該發明訪問接口服務模組結構圖,訪問接口服務由對外通信服務、事務管理器、SQL解析器、策略管理器、節點管理器、集群節點通信服務組成。對外通信服務負責回響請求方的服務請求,事務管理器負責對請求方的已建立事務進行登記和管理,SQL解析器負責對請求方提交的SQL文進行解析,策略管理器根據集群中所有節點當前的運行狀態進行節點選擇和指令下發的策略定製、節點管理器負責對集群中所有節點的當前信息進行登記和管理,集群節點通信服務負責與集群中所有節點進行通信。
圖4為該發明服務端的啟動流程,首先服務端啟動內置的記憶體資料庫、完成後服務端查詢訪問接口服務中的節點管理器中活躍節點的信息,並向所有活躍節點傳送數據版本請求、比對最新的數據存檔,通過數據服務讀取集群中最新版本數據存檔來進行記憶體資料庫數據初始化、完成後服務端繼續啟動調度管理服務進行定期的數據持久化任務和提供記憶體資料庫數據I/O服務的數據服務、最後通過啟動協同運行服務來與其他節點協同工作、當服務端所有服務的正常啟動後,服務端向訪問接口服務註冊本節點信息,以表示該節點已經具備服務條件。
圖5、6為該發明訪問接口服務互備和擴展集群模式處理流程,互備和擴展模式的主要區別是互備模式的重點需要保證數據的一致性,因此分數據的查詢和修改兩種處理策略、擴展模式的重點是需要保證數據存儲的擴展性。因此分數據存儲申請(數據插入操作)和非數據存儲申請兩種處理策略。
圖7為該發明互備集群模式部署結構圖,所有節點之間相互通信協同,訪問接口服務根據各個節點的負載情況分配查詢事務,負載高的節點分配事務的優先權底。
圖8為該發明擴展集群模式部署結構圖,所有節點協同組成一個更大容量的記憶體資料庫服務,訪問接口服務根據各個節點的存儲優先權和存儲情況分配數據插入事務。
圖9為該發明混合集群模式部署結構圖,該模式結合互備模式和擴展模式的優點,擴展節點組內部採用擴展集群模式,擴展節點組之間採用互備集群模式。
榮譽表彰
2015年12月1日,《一種電力信息系統記憶體資料庫的多節點集群方法》獲得第九屆江蘇省專利項目優秀獎。