一種適用于電力系統(tǒng)的分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)及實(shí)現(xiàn)方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種適用于電力系統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)及實(shí)現(xiàn)方法,屬于數(shù)據(jù)庫(kù)【技術(shù)領(lǐng)域】。本發(fā)明的實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)包括服務(wù)端、實(shí)時(shí)數(shù)據(jù)庫(kù)端和客戶(hù)端,并利用文件映射、實(shí)例ID、版本號(hào)、客戶(hù)端緩存等機(jī)制來(lái)實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)庫(kù)的分布式管理。本發(fā)明實(shí)現(xiàn)了多個(gè)數(shù)據(jù)庫(kù)實(shí)例的透明化,讓客戶(hù)對(duì)多個(gè)數(shù)據(jù)庫(kù)實(shí)例的訪問(wèn)視同為對(duì)單個(gè)實(shí)例的訪問(wèn)。本發(fā)明有利于數(shù)據(jù)庫(kù)全省集中式部署,同時(shí)便于全省統(tǒng)一數(shù)據(jù)規(guī)劃、數(shù)據(jù)模型和數(shù)據(jù)標(biāo)準(zhǔn),還能滿(mǎn)足現(xiàn)有及未來(lái)數(shù)據(jù)接入需求。
【專(zhuān)利說(shuō)明】一種適用于電力系統(tǒng)的分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)及實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)領(lǐng)域,特別是涉及一種分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理方法。
【背景技術(shù)】
[0002]隨著工業(yè)化、信息化“兩化融合”建設(shè)的不斷深入,工業(yè)自動(dòng)化系統(tǒng)面臨的海量數(shù)據(jù)處理壓力越來(lái)越大。以電力系統(tǒng)為例,隨著電網(wǎng)規(guī)模的不斷擴(kuò)大,數(shù)字化電網(wǎng)、數(shù)字化變電站等研究應(yīng)用的不斷深入,系統(tǒng)面對(duì)的采集點(diǎn)越來(lái)越多。一個(gè)中等規(guī)模地區(qū)的采集量可以達(dá)到2萬(wàn)到10萬(wàn),一個(gè)大型地調(diào)未來(lái)可能面臨20-100萬(wàn)的數(shù)據(jù)采集規(guī)模,而數(shù)據(jù)中心更是可以達(dá)到500萬(wàn)-1000萬(wàn)甚至幾千萬(wàn)的數(shù)據(jù)采集規(guī)模。
[0003]目前市場(chǎng)上使用的單個(gè)數(shù)據(jù)庫(kù)管理方法如PI實(shí)時(shí)數(shù)據(jù)庫(kù)已經(jīng)暴露出了很多問(wèn)題:1)由于這種單個(gè)數(shù)據(jù)庫(kù)管理方法建設(shè)較早,平臺(tái)部署架構(gòu)采用省、地兩級(jí)部署,與國(guó)網(wǎng)公司典設(shè)要求不一致;2)其測(cè)點(diǎn)規(guī)模不適應(yīng)現(xiàn)有應(yīng)用發(fā)展需求,平臺(tái)擴(kuò)充與運(yùn)維成本昂貴,限制了業(yè)務(wù)的深化應(yīng)用;3)兩級(jí)部署方式制約了全省規(guī)模化應(yīng)用的推廣,各地市局的應(yīng)用水平不平衡。這些問(wèn)題制約了數(shù)據(jù)庫(kù)應(yīng)用的進(jìn)一步發(fā)展。
[0004]隨著電力系統(tǒng)信息化、自動(dòng)化水平的不斷提高,系統(tǒng)的升級(jí)過(guò)程中數(shù)據(jù)量和測(cè)點(diǎn)數(shù)的增加,單個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù)已不能滿(mǎn)足現(xiàn)場(chǎng)測(cè)點(diǎn)日益增長(zhǎng)的需求。而實(shí)現(xiàn)數(shù)據(jù)庫(kù)分布式管理是解決此問(wèn)題的可行途徑之一。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是:為了解決現(xiàn)有電力系統(tǒng)中單個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù)不能滿(mǎn)足實(shí)際需求的問(wèn)題,提供一種電力系統(tǒng)下分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)及實(shí)現(xiàn)方法。該方法在實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)庫(kù)分布式的條件下,保證了對(duì)不同區(qū)域的多個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù)實(shí)例進(jìn)行透明化訪問(wèn),有利于數(shù)據(jù)庫(kù)全省集中式部署,同時(shí)便于全省統(tǒng)一數(shù)據(jù)規(guī)劃、數(shù)據(jù)模型和數(shù)據(jù)標(biāo)準(zhǔn),還能滿(mǎn)足現(xiàn)有及未來(lái)數(shù)據(jù)接入需求。
[0006]具體地說(shuō),本發(fā)明的適用于電力系統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng),是采用以下的技術(shù)方案來(lái)實(shí)現(xiàn)的,包括服務(wù)端、實(shí)時(shí)數(shù)據(jù)庫(kù)和客戶(hù)端,其中,所述服務(wù)端,用于完成相關(guān)的配置信息、配置系統(tǒng)運(yùn)行需要的系統(tǒng)資源以及對(duì)實(shí)例和點(diǎn)進(jìn)行管理,通過(guò)線程池、文件全映射、負(fù)載均衡對(duì)前來(lái)注冊(cè)的實(shí)例、每個(gè)實(shí)例上的點(diǎn)以及客戶(hù)端的連接進(jìn)行管理,利用實(shí)例號(hào)和全局ID來(lái)實(shí)現(xiàn)實(shí)例的分布式機(jī)制以實(shí)現(xiàn)用戶(hù)對(duì)實(shí)例的訪問(wèn)透明化;所述各個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù),用于向服務(wù)端發(fā)送注冊(cè)請(qǐng)求,并在注冊(cè)成功后接受客戶(hù)端和服務(wù)端發(fā)送過(guò)來(lái)的數(shù)據(jù)包請(qǐng)求,所述數(shù)據(jù)包請(qǐng)求包括數(shù)據(jù)提交和查詢(xún);所述客戶(hù)端,用于對(duì)與所有點(diǎn)相關(guān)、數(shù)據(jù)提交相關(guān)、連接相關(guān)、數(shù)據(jù)查詢(xún)相關(guān)的接口進(jìn)行封裝以實(shí)現(xiàn)所有客戶(hù)端對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)透明化;客戶(hù)端采用客戶(hù)端緩存、同步機(jī)制以及換入換出算法,將客戶(hù)端存在一個(gè)同步線程,定期與服務(wù)端進(jìn)行通信從而獲知實(shí)例表和點(diǎn)表是否有更新,若有更新則利用換入換出算法更新緩存中的實(shí)例和點(diǎn)信息;所述服務(wù)端、實(shí)例端和客戶(hù)端三者之間兩兩進(jìn)行通信,客戶(hù)端首先將點(diǎn)、組、枚舉集相關(guān)請(qǐng)求發(fā)送給服務(wù)端,再由服務(wù)端給實(shí)時(shí)數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求,最終將結(jié)果一一返回返回至客戶(hù)端,而對(duì)于數(shù)據(jù)相關(guān)的請(qǐng)求則直接與該點(diǎn)所在的實(shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行通?目。
[0007]上述技術(shù)方案的進(jìn)一步特征在于,所述服務(wù)端保存著每個(gè)數(shù)據(jù)庫(kù)實(shí)例的相關(guān)信息且各個(gè)實(shí)例信息之間相互獨(dú)立、互不干擾。
[0008]上述技術(shù)方案的進(jìn)一步特征在于,分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)支持不同版本的實(shí)時(shí)數(shù)據(jù)庫(kù),能夠?qū)Σ煌姹镜膶?shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行操作。
[0009]上述技術(shù)方案的進(jìn)一步特征在于,分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)支持兩種訪問(wèn)模式,一個(gè)模式是通過(guò)數(shù)據(jù)庫(kù)本身的物理地址訪問(wèn),另一個(gè)模式是通過(guò)直接規(guī)范的分布式接口訪問(wèn)。
[0010]上述適用于電力系統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)的實(shí)現(xiàn)方法,包括如下步驟:
1)規(guī)劃分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)完成的總體功能:所述總體功能包括實(shí)例注冊(cè)管理、測(cè)點(diǎn)管理、客戶(hù)端數(shù)據(jù)緩存與重發(fā)、日志記錄、數(shù)據(jù)插入與修改、標(biāo)簽點(diǎn)導(dǎo)入和導(dǎo)出、歷史數(shù)據(jù)導(dǎo)入和導(dǎo)出、數(shù)據(jù)查詢(xún)和數(shù)值統(tǒng)計(jì);
2)規(guī)劃服務(wù)端的功能:所述服務(wù)端的功能包括授權(quán)檢測(cè)、數(shù)據(jù)庫(kù)注冊(cè)管理、連接管理、數(shù)據(jù)處理、全局ID分配策略、測(cè)點(diǎn)和實(shí)例同步、測(cè)點(diǎn)負(fù)載均衡以及將文件全映射到內(nèi)存; 3)設(shè)計(jì)和實(shí)現(xiàn)服務(wù)端:服務(wù)端利用工作線程池進(jìn)行數(shù)據(jù)處理,并在啟動(dòng)時(shí)將服務(wù)端文件全映射到內(nèi)存,文件中儲(chǔ)存了組、枚舉集、點(diǎn)信息以保證了各個(gè)數(shù)據(jù)庫(kù)實(shí)例端測(cè)點(diǎn)數(shù)據(jù)的唯一性和一致性,根據(jù)由服務(wù)端分配給每個(gè)實(shí)例的實(shí)例ID和點(diǎn)在實(shí)例上的局部ID組合形成點(diǎn)全局ID,最后利用負(fù)載均衡算法將用戶(hù)要建立的點(diǎn)信息分配到相應(yīng)的數(shù)據(jù)庫(kù)實(shí)例上;
4)設(shè)計(jì)和實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)庫(kù)的應(yīng)用:各個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù)向服務(wù)端發(fā)送注冊(cè)請(qǐng)求并發(fā)送自身實(shí)例的版本信息,并在注冊(cè)成功后接受客戶(hù)端和服務(wù)端發(fā)送過(guò)來(lái)的數(shù)據(jù)包請(qǐng)求,實(shí)現(xiàn)數(shù)據(jù)插入與修改、標(biāo)簽點(diǎn)導(dǎo)入和導(dǎo)出、歷史數(shù)據(jù)導(dǎo)入和導(dǎo)出、數(shù)據(jù)查詢(xún)和數(shù)值統(tǒng)計(jì),并一直和服務(wù)端保持通信,實(shí)時(shí)將自身狀態(tài)發(fā)送給服務(wù)端;
5)規(guī)劃客戶(hù)端完成的功能:所述客戶(hù)端用于對(duì)與所有連接相關(guān)、點(diǎn)相關(guān)、數(shù)據(jù)提交相關(guān)、數(shù)據(jù)查詢(xún)相關(guān)的接口進(jìn)行封裝以實(shí)現(xiàn)所有客戶(hù)端對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)透明化,并完成數(shù)據(jù)的接入和訪問(wèn)功能;
6)設(shè)計(jì)和實(shí)現(xiàn)客戶(hù)端:客戶(hù)端采用緩存、同步線程以及換入換出算法,客戶(hù)端存在一個(gè)同步線程,定期與服務(wù)端進(jìn)行通信從而獲知實(shí)例表和點(diǎn)表是否有更新,若有更新則利用換入換出算法更新緩存中的實(shí)例和點(diǎn)信息;
7)服務(wù)端、實(shí)例端和客戶(hù)端三者之間兩兩進(jìn)行通信,其中點(diǎn)、組、枚舉集相關(guān)請(qǐng)求需要首先發(fā)送給服務(wù)端,再由服務(wù)端給實(shí)時(shí)數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求,最終將結(jié)果一一返回返回至客戶(hù)端,而對(duì)于數(shù)據(jù)相關(guān)的請(qǐng)求則直接與該點(diǎn)所在的實(shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行通信。
[0011]本發(fā)明的有益效果如下:本發(fā)明能夠?qū)崿F(xiàn)高效的數(shù)據(jù)庫(kù)管理,解決日益增長(zhǎng)的數(shù)據(jù)量和測(cè)點(diǎn)數(shù)需求,其與其他分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)相比具有如下優(yōu)勢(shì):1)實(shí)時(shí)數(shù)據(jù)庫(kù)分布式實(shí)施有利于采用全省集中式部署,這符合國(guó)網(wǎng)公司典設(shè)要求,便于進(jìn)行全省的統(tǒng)一數(shù)據(jù)規(guī)劃、統(tǒng)一數(shù)據(jù)模型和統(tǒng)一數(shù)據(jù)標(biāo)準(zhǔn),同時(shí)便于基于平臺(tái)應(yīng)用的全省推廣,數(shù)據(jù)庫(kù)平臺(tái)數(shù)據(jù)接入能力能完全滿(mǎn)足現(xiàn)有及未來(lái)數(shù)據(jù)接入需求;2)實(shí)時(shí)數(shù)據(jù)庫(kù)采用分布式群集方式集中部署,數(shù)據(jù)庫(kù)實(shí)例可以動(dòng)態(tài)添加或動(dòng)態(tài)刪除,且不會(huì)影響其他實(shí)時(shí)數(shù)據(jù)庫(kù)的運(yùn)行,方便平臺(tái)平滑升級(jí)和動(dòng)態(tài)擴(kuò)容實(shí)現(xiàn)了系統(tǒng)規(guī)模的靈活配置,具有可擴(kuò)容性;3)客戶(hù)對(duì)不同實(shí)時(shí)數(shù)據(jù)庫(kù)實(shí)例的訪問(wèn)時(shí),視同對(duì)同一數(shù)據(jù)庫(kù)實(shí)例的訪問(wèn),從而不必關(guān)心實(shí)時(shí)數(shù)據(jù)庫(kù)實(shí)例個(gè)數(shù)、各個(gè)實(shí)例的名稱(chēng)、每個(gè)實(shí)例的版本、物理位置、存儲(chǔ)結(jié)構(gòu)以及其他細(xì)節(jié),具有透明性;4)系統(tǒng)中分布的實(shí)時(shí)數(shù)據(jù)庫(kù)可以是不同版本,能夠提供跨版本支持;5)客戶(hù)端的設(shè)計(jì)采用緩存、同步線程以及換入換出算法等技術(shù),實(shí)時(shí)數(shù)據(jù)庫(kù)批量、斷面的插值和查詢(xún)效率與原有效率相比仍能保持高效性;6)系統(tǒng)支持支持兩種訪問(wèn)模式,因此在實(shí)現(xiàn)分布式部署后,實(shí)時(shí)庫(kù)還可以通過(guò)以前的機(jī)制訪問(wèn)和部署,具有高模塊獨(dú)立性。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0012]圖1是本發(fā)明的分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)總體架構(gòu)圖。
[0013]圖2是分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)部署框架結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0014]下面參照附圖并結(jié)合實(shí)例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
[0015]本發(fā)明的適用于電力系統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng),其系統(tǒng)的整體框架結(jié)構(gòu)見(jiàn)圖1所示,其中,hS_diSpatcher表示服務(wù)端,DB_API則表示客戶(hù)端,服務(wù)端、實(shí)時(shí)數(shù)據(jù)庫(kù)和客戶(hù)端互相進(jìn)行通信。服務(wù)端、實(shí)時(shí)數(shù)據(jù)庫(kù)和客戶(hù)端的具體說(shuō)明如下:
1、服務(wù)端:完成相關(guān)的配置信息、配置系統(tǒng)運(yùn)行需要的系統(tǒng)資源以及對(duì)實(shí)例、點(diǎn)等進(jìn)行管理,且緩存所有實(shí)例信息以及實(shí)例上簡(jiǎn)化的點(diǎn)信息以保證數(shù)據(jù)的唯一性與一致性。由于緩存數(shù)據(jù)較大因此對(duì)服務(wù)器內(nèi)存大小有一定的要求。服務(wù)端通過(guò)線程池、文件全映射、負(fù)載均衡對(duì)前來(lái)注冊(cè)的實(shí)例、每個(gè)實(shí)例上的點(diǎn)以及客戶(hù)端的連接進(jìn)行管理,利用實(shí)例號(hào)和全局ID來(lái)實(shí)現(xiàn)實(shí)例的分布式機(jī)制以實(shí)現(xiàn)用戶(hù)對(duì)實(shí)例的訪問(wèn)透明化。服務(wù)端保存著每個(gè)數(shù)據(jù)庫(kù)實(shí)例的相關(guān)信息且各個(gè)實(shí)例信息之間相互獨(dú)立、互不干擾。
[0016]2、實(shí)時(shí)數(shù)據(jù)庫(kù),即數(shù)據(jù)庫(kù)實(shí)例端:負(fù)責(zé)完成點(diǎn)和數(shù)據(jù)的存儲(chǔ),由于數(shù)據(jù)量較大因此所要安裝的服務(wù)器需要足夠大的磁盤(pán)空間。同時(shí)數(shù)據(jù)庫(kù)端對(duì)點(diǎn)和數(shù)據(jù)有緩存故對(duì)內(nèi)存也有一定的要求。實(shí)時(shí)數(shù)據(jù)庫(kù)向服務(wù)端發(fā)送注冊(cè)請(qǐng)求,并在注冊(cè)成功后接受客戶(hù)端和服務(wù)端發(fā)送過(guò)來(lái)的數(shù)據(jù)包請(qǐng)求,數(shù)據(jù)包請(qǐng)求包括數(shù)據(jù)提交和查詢(xún)。系統(tǒng)支持不同版本的實(shí)時(shí)數(shù)據(jù)庫(kù),能夠?qū)Σ煌姹镜膶?shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行操作。系統(tǒng)支持兩種訪問(wèn)模式訪問(wèn)實(shí)時(shí)數(shù)據(jù)庫(kù),一個(gè)模式是通過(guò)數(shù)據(jù)庫(kù)本身的物理地址訪問(wèn),另一個(gè)模式是通過(guò)直接規(guī)范的分布式接口訪問(wèn)。
[0017]3、客戶(hù)端:完成數(shù)據(jù)的接入和訪問(wèn),多個(gè)客戶(hù)端可以并發(fā)訪問(wèn)。用戶(hù)通過(guò)數(shù)據(jù)接入接口從數(shù)據(jù)源將數(shù)據(jù)接入到分布式實(shí)時(shí)數(shù)據(jù)庫(kù)的接口即客戶(hù)端接口最終發(fā)送至數(shù)據(jù)庫(kù),再通過(guò)外部系統(tǒng)訪問(wèn)分布式實(shí)時(shí)數(shù)據(jù)庫(kù)所使用的接口從數(shù)據(jù)庫(kù)端獲取所需要的數(shù)據(jù)信息??蛻?hù)端對(duì)與所有點(diǎn)相關(guān)、數(shù)據(jù)提交相關(guān)、連接相關(guān)、數(shù)據(jù)查詢(xún)相關(guān)的接口進(jìn)行封裝以實(shí)現(xiàn)所有客戶(hù)端對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)透明化,采用客戶(hù)端緩存、同步機(jī)制以及換入換出算法,將客戶(hù)端存在一個(gè)同步線程,定期與服務(wù)端進(jìn)行通信從而獲知實(shí)例表、點(diǎn)表是否有更新,若有更新則利用換入換出算法更新緩存中的實(shí)例和點(diǎn)信息。
[0018]上述系統(tǒng)的具體實(shí)現(xiàn)過(guò)程如下:
O規(guī)劃分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)完成的總體功能:所述總體功能包括實(shí)例注冊(cè)管理、測(cè)點(diǎn)管理、客戶(hù)端數(shù)據(jù)緩存與重發(fā)、日志記錄、數(shù)據(jù)插入與修改、標(biāo)簽點(diǎn)導(dǎo)入和導(dǎo)出、歷史數(shù)據(jù)導(dǎo)入和導(dǎo)出、數(shù)據(jù)查詢(xún)和數(shù)值統(tǒng)計(jì);
2)規(guī)劃服務(wù)端的功能:所述服務(wù)端的功能包括授權(quán)檢測(cè)、數(shù)據(jù)庫(kù)注冊(cè)管理、連接管理、數(shù)據(jù)處理、全局ID分配策略、測(cè)點(diǎn)和實(shí)例同步、測(cè)點(diǎn)負(fù)載均衡以及將文件全映射到內(nèi)存;
3)設(shè)計(jì)和實(shí)現(xiàn)服務(wù)端:服務(wù)端利用工作線程池進(jìn)行數(shù)據(jù)處理,并在啟動(dòng)時(shí)將服務(wù)端文件全映射到內(nèi)存,文件中儲(chǔ)存了組、枚舉集、點(diǎn)信息以保證了各個(gè)數(shù)據(jù)庫(kù)實(shí)例端測(cè)點(diǎn)數(shù)據(jù)的唯一性和一致性,根據(jù)由服務(wù)端分配給每個(gè)實(shí)例的實(shí)例ID和點(diǎn)在實(shí)例上的局部ID組合形成點(diǎn)全局ID,最后利用負(fù)載均衡算法將用戶(hù)要建立的點(diǎn)信息分配到相應(yīng)的數(shù)據(jù)庫(kù)實(shí)例上;
4)設(shè)計(jì)和實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)庫(kù)的應(yīng)用:各個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù)向服務(wù)端發(fā)送注冊(cè)請(qǐng)求并發(fā)送自身實(shí)例的版本信息,并在注冊(cè)成功后接受客戶(hù)端和服務(wù)端發(fā)送過(guò)來(lái)的數(shù)據(jù)包請(qǐng)求,實(shí)現(xiàn)數(shù)據(jù)插入與修改、標(biāo)簽點(diǎn)導(dǎo)入和導(dǎo)出、歷史數(shù)據(jù)導(dǎo)入和導(dǎo)出、數(shù)據(jù)查詢(xún)和數(shù)值統(tǒng)計(jì),并一直和服務(wù)端保持通信,實(shí)時(shí)將自身狀態(tài)發(fā)送給服務(wù)端;
5)規(guī)劃客戶(hù)端完成的功能:所述客戶(hù)端用于對(duì)與所有連接相關(guān)、點(diǎn)相關(guān)、數(shù)據(jù)提交相關(guān)、數(shù)據(jù)查詢(xún)相關(guān)的接口進(jìn)行封裝以實(shí)現(xiàn)所有客戶(hù)端對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)透明化,并完成數(shù)據(jù)的接入和訪問(wèn)功能;
6)設(shè)計(jì)和實(shí)現(xiàn)客戶(hù)端:客戶(hù)端采用緩存、同步線程以及換入換出算法,客戶(hù)端存在一個(gè)同步線程,定期與服務(wù)端進(jìn)行通信從而獲知實(shí)例表和點(diǎn)表是否有更新,若有更新則利用換入換出算法更新緩存中的實(shí)例和點(diǎn)信息;
7)服務(wù)端、實(shí)例端和客戶(hù)端三者之間兩兩進(jìn)行通信,其中點(diǎn)、組、枚舉集相關(guān)請(qǐng)求需要首先發(fā)送給服務(wù)端,再由服務(wù)端給實(shí)時(shí)數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求,最終將結(jié)果一一返回返回至客戶(hù)端,而對(duì)于數(shù)據(jù)相關(guān)的請(qǐng)求則直接與該點(diǎn)所在的實(shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行通信。
[0019]圖2給出了本發(fā)明系統(tǒng)實(shí)際部署的一個(gè)實(shí)例,其中雙向箭頭表示有數(shù)據(jù)的流入和流出。圖中裝置1-10的說(shuō)明如下:
I為分布式系統(tǒng)中服務(wù)端,即安裝dispatcher服務(wù)端。用來(lái)處理實(shí)時(shí)數(shù)據(jù)庫(kù)注冊(cè)請(qǐng)求,并對(duì)多個(gè)實(shí)時(shí)庫(kù)進(jìn)行管理,同時(shí)處理API端過(guò)來(lái)的請(qǐng)求如點(diǎn)的負(fù)載均衡等。
[0020]2、3均為實(shí)時(shí)數(shù)據(jù)庫(kù)服務(wù)器,用來(lái)運(yùn)行數(shù)據(jù)庫(kù)服務(wù)并且處理dispatcher服務(wù)端和客戶(hù)端過(guò)來(lái)的請(qǐng)求,同時(shí)存儲(chǔ)大量數(shù)據(jù)。
[0021]省略號(hào)4表示可以有多個(gè)像2或3這樣的實(shí)時(shí)數(shù)據(jù)庫(kù),當(dāng)然可以分別是不同版本的實(shí)時(shí)數(shù)據(jù)庫(kù)。
[0022]5、6、7、8均表示不同的客戶(hù)端,執(zhí)行相關(guān)點(diǎn)、數(shù)據(jù)操作如加、刪點(diǎn),數(shù)據(jù)提交以及數(shù)據(jù)查詢(xún)以完成數(shù)據(jù)接入和數(shù)據(jù)訪問(wèn)等功能,同時(shí)多個(gè)客戶(hù)端可以并發(fā)操作。
[0023]9、10均為路由器,包含9、10的云圖標(biāo)表示由路由器橋接而成的局域網(wǎng)。
[0024]本發(fā)明系統(tǒng)在實(shí)際運(yùn)用中的具體部署過(guò)程如下:
I)首先按照部署架構(gòu)圖以及現(xiàn)場(chǎng)的實(shí)施要求將分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)部署在相應(yīng)的服務(wù)器上。當(dāng)然,服務(wù)端、各個(gè)實(shí)例端以及客戶(hù)端可以分布在不同的服務(wù)器上。
[0025]2)對(duì)各個(gè)服務(wù)器環(huán)境進(jìn)行配置,如安裝的電腦的.Net版本在2.0以上并且有VC的運(yùn)行環(huán)境。若安裝主機(jī)位Windows 7或Windows Server 2008系統(tǒng),必須將UAC關(guān)閉并重啟電腦使之生效。
[0026]3)啟動(dòng)分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng):第一步,對(duì)服務(wù)端配置文件進(jìn)行適當(dāng)?shù)男薷?第二步,啟動(dòng)服務(wù)端;第三步,啟動(dòng)相應(yīng)的數(shù)據(jù)庫(kù)實(shí)例,每個(gè)數(shù)據(jù)庫(kù)實(shí)例都要到服務(wù)端進(jìn)行注冊(cè),只有注冊(cè)成功的實(shí)例才能正常工作;原來(lái)注冊(cè)過(guò)停掉的實(shí)例當(dāng)然可以繼續(xù)進(jìn)行啟動(dòng)并注冊(cè)。服務(wù)端能夠隨時(shí)接受新的數(shù)據(jù)庫(kù)實(shí)例前來(lái)注冊(cè)。
[0027]4)根據(jù)相應(yīng)的數(shù)據(jù)源建立相應(yīng)的點(diǎn)信息,根據(jù)現(xiàn)場(chǎng)反饋可知,數(shù)據(jù)源系統(tǒng)可分為:地調(diào)SCADA、縣調(diào)SCADA、電能量、用電信息采集、輸變電在線監(jiān)測(cè)、配調(diào)SCADA和其它系統(tǒng)等7大類(lèi)。用戶(hù)通過(guò)調(diào)用相應(yīng)的客戶(hù)端接口進(jìn)行建點(diǎn),系統(tǒng)服務(wù)端dispatcher根據(jù)負(fù)載均衡算法將點(diǎn)存儲(chǔ)到相應(yīng)的實(shí)時(shí)數(shù)據(jù)庫(kù)中。
[0028]5)通過(guò)數(shù)據(jù)接入接口從數(shù)據(jù)源將數(shù)據(jù)接入到分布式實(shí)時(shí)數(shù)據(jù)庫(kù)的接口即客戶(hù)端接口,最終接入到分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)最終也存儲(chǔ)在實(shí)時(shí)數(shù)據(jù)庫(kù)端,所有的點(diǎn)和數(shù)據(jù)呈分布式部署。
[0029]6)系統(tǒng)在運(yùn)行過(guò)程中可以動(dòng)態(tài)添加和停止實(shí)時(shí)數(shù)據(jù)庫(kù)實(shí)例以滿(mǎn)足日益增長(zhǎng)的測(cè)點(diǎn)需求。
[0030]7)最終,用戶(hù)通過(guò)外部系統(tǒng)訪問(wèn)分布式實(shí)時(shí)數(shù)據(jù)庫(kù)所使用的接口進(jìn)而訪問(wèn)具體的數(shù)據(jù)而無(wú)需關(guān)注訪問(wèn)的數(shù)據(jù)是在什么位置或在哪個(gè)具體的實(shí)例中,這樣便實(shí)現(xiàn)了分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)訪問(wèn)的透明化。
[0031]雖然本發(fā)明已以較佳實(shí)施例公開(kāi)如上,但實(shí)施例并不是用來(lái)限定本發(fā)明的。在不脫離本發(fā)明之精神和范圍內(nèi),所做的任何等效變化或潤(rùn)飾,同樣屬于本發(fā)明之保護(hù)范圍。因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以本申請(qǐng)的權(quán)利要求所界定的內(nèi)容為標(biāo)準(zhǔn)。
【權(quán)利要求】
1.一種適用于電力系統(tǒng)的分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng),其特征在于,包括服務(wù)端、實(shí)時(shí)數(shù)據(jù)庫(kù)和客戶(hù)端,其中: 所述服務(wù)端,用于完成相關(guān)的配置信息、配置系統(tǒng)運(yùn)行需要的系統(tǒng)資源以及對(duì)實(shí)例和點(diǎn)進(jìn)行管理,通過(guò)線程池、文件全映射、負(fù)載均衡對(duì)前來(lái)注冊(cè)的實(shí)例、每個(gè)實(shí)例上的點(diǎn)以及客戶(hù)端的連接進(jìn)行管理,利用實(shí)例號(hào)和全局ID來(lái)實(shí)現(xiàn)實(shí)例的分布式機(jī)制以實(shí)現(xiàn)用戶(hù)對(duì)實(shí)例的訪問(wèn)透明化; 所述各個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù),用于向服務(wù)端發(fā)送注冊(cè)請(qǐng)求,并在注冊(cè)成功后接受客戶(hù)端和服務(wù)端發(fā)送過(guò)來(lái)的數(shù)據(jù)包請(qǐng)求,所述數(shù)據(jù)包請(qǐng)求包括數(shù)據(jù)提交和查詢(xún); 所述客戶(hù)端,用于對(duì)與所有點(diǎn)相關(guān)、數(shù)據(jù)提交相關(guān)、連接相關(guān)、數(shù)據(jù)查詢(xún)相關(guān)的接口進(jìn)行封裝以實(shí)現(xiàn)所有客戶(hù)端對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)透明化;客戶(hù)端采用客戶(hù)端緩存、同步機(jī)制以及換入換出算法,將客戶(hù)端存在一個(gè)同步線程,定期與服務(wù)端進(jìn)行通信從而獲知實(shí)例表和點(diǎn)表是否有更新,若有更新則利用換入換出算法更新緩存中的實(shí)例和點(diǎn)信息; 所述服務(wù)端、實(shí)例端和客戶(hù)端三者之間兩兩進(jìn)行通信,客戶(hù)端首先將點(diǎn)、組、枚舉集相關(guān)請(qǐng)求發(fā)送給服務(wù)端,再由服務(wù)端給實(shí)時(shí)數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求,最終將結(jié)果一一返回至客戶(hù)端,而對(duì)于數(shù)據(jù)相關(guān)的請(qǐng)求則由客戶(hù)端直接與該點(diǎn)所在的實(shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行通信。
2.根據(jù)權(quán)利要求1所述的適用于電力系統(tǒng)的分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng),其特征在于,所述服務(wù)端保存著每個(gè)數(shù)據(jù)庫(kù)實(shí)例的相關(guān)信息且各個(gè)實(shí)例信息之間相互獨(dú)立、互不干擾。
3.根據(jù)權(quán)利要求1或2所述的適用于電力系統(tǒng)的分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng),其特征在于,分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)支持不同版本的實(shí)時(shí)數(shù)據(jù)庫(kù),能夠?qū)Σ煌姹镜膶?shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行操作。
4.根據(jù)權(quán)利要求1或2所述的適用于電力系統(tǒng)的分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng),其特征在于,分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)支持兩種訪問(wèn)模式,一個(gè)模式是通過(guò)數(shù)據(jù)庫(kù)本身的物理地址訪問(wèn),另一個(gè)模式是通過(guò)直接規(guī)范的分布式接口訪問(wèn)。
5.一種適用于電力系統(tǒng)的分布式實(shí)時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)的實(shí)現(xiàn)方法,其特征在于,包括如下步驟: O規(guī)劃分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)完成的總體功能:所述總體功能包括實(shí)例注冊(cè)管理、測(cè)點(diǎn)管理、客戶(hù)端數(shù)據(jù)緩存與重發(fā)、日志記錄、數(shù)據(jù)插入與修改、標(biāo)簽點(diǎn)導(dǎo)入和導(dǎo)出、歷史數(shù)據(jù)導(dǎo)入和導(dǎo)出、數(shù)據(jù)查詢(xún)和數(shù)值統(tǒng)計(jì); 2)規(guī)劃服務(wù)端的功能:所述服務(wù)端的功能包括授權(quán)檢測(cè)、數(shù)據(jù)庫(kù)注冊(cè)管理、連接管理、數(shù)據(jù)處理、全局ID分配策略、測(cè)點(diǎn)和實(shí)例同步、測(cè)點(diǎn)負(fù)載均衡以及將文件全映射到內(nèi)存; 3)設(shè)計(jì)和實(shí)現(xiàn)服務(wù)端:服務(wù)端利用工作線程池進(jìn)行數(shù)據(jù)處理,并在啟動(dòng)時(shí)將服務(wù)端文件全映射到內(nèi)存,文件中儲(chǔ)存了組、枚舉集、點(diǎn)信息以保證了各個(gè)數(shù)據(jù)庫(kù)實(shí)例端測(cè)點(diǎn)數(shù)據(jù)的唯一性和一致性,根據(jù)由服務(wù)端分配給每個(gè)實(shí)例的實(shí)例ID和點(diǎn)在實(shí)例上的局部ID組合形成點(diǎn)全局ID,最后利用負(fù)載均衡算法將用戶(hù)要建立的點(diǎn)信息分配到相應(yīng)的數(shù)據(jù)庫(kù)實(shí)例上; 4)設(shè)計(jì)和實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)庫(kù)的應(yīng)用:各個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù)向服務(wù)端發(fā)送注冊(cè)請(qǐng)求并發(fā)送自身實(shí)例的版本信息,并在注冊(cè)成功后接受客戶(hù)端和服務(wù)端發(fā)送過(guò)來(lái)的數(shù)據(jù)包請(qǐng)求,實(shí)現(xiàn)數(shù)據(jù)插入與修改、標(biāo)簽點(diǎn)導(dǎo)入和導(dǎo)出、歷史數(shù)據(jù)導(dǎo)入和導(dǎo)出、數(shù)據(jù)查詢(xún)和數(shù)值統(tǒng)計(jì),并一直和服務(wù)端保持通信,實(shí)時(shí)將自身狀態(tài)發(fā)送 給服務(wù)端;5)規(guī)劃客戶(hù)端完成的功能:所述客戶(hù)端用于對(duì)與所有連接相關(guān)、點(diǎn)相關(guān)、數(shù)據(jù)提交相關(guān)、數(shù)據(jù)查詢(xún)相關(guān)的接口進(jìn)行封裝以實(shí)現(xiàn)所有客戶(hù)端對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)透明化,并完成數(shù)據(jù)的接入和訪問(wèn)功能; 6)設(shè)計(jì)和實(shí)現(xiàn)客戶(hù)端:客戶(hù)端采用緩存、同步線程以及換入換出算法,客戶(hù)端存在一個(gè)同步線程,定期與服務(wù)端進(jìn)行通信從而獲知實(shí)例表和點(diǎn)表是否有更新,若有更新則利用換入換出算法更新緩存中的實(shí)例和點(diǎn)信息; 7)服務(wù)端、實(shí)例端和客戶(hù)端三者之間兩兩進(jìn)行通信,其中點(diǎn)、組、枚舉集相關(guān)請(qǐng)求需要首先發(fā)送給服務(wù)端,再由服務(wù)端給實(shí)時(shí)數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求,最終將結(jié)果一一返回返回至客戶(hù)端,而對(duì)于數(shù)據(jù) 相關(guān)的請(qǐng)求則直接與該點(diǎn)所在的實(shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行通信。
【文檔編號(hào)】G06Q50/06GK103886104SQ201410144241
【公開(kāi)日】2014年6月25日 申請(qǐng)日期:2014年4月11日 優(yōu)先權(quán)日:2014年4月11日
【發(fā)明者】朱月梅, 鄭曉露, 陳亮, 朱恒, 顧昊 申請(qǐng)人:江蘇瑞中數(shù)據(jù)股份有限公司