在線PSASP的數(shù)據(jù)與模型的管理_第1頁
在線PSASP的數(shù)據(jù)與模型的管理_第2頁
在線PSASP的數(shù)據(jù)與模型的管理_第3頁
在線PSASP的數(shù)據(jù)與模型的管理_第4頁
在線PSASP的數(shù)據(jù)與模型的管理_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

在線PSASP的數(shù)據(jù)與模型的管理

1.1主要功能

PSASP處理了大量的數(shù)據(jù)和模型,并具有模型自定義和用戶程序接口功能。

數(shù)據(jù)既有來自SCADA系統(tǒng)的自動化數(shù)據(jù),也有電網(wǎng)固有的物理數(shù)據(jù)。模型既有常

規(guī)的、為廣大用戶所熟悉的電力系統(tǒng)元器件模型,也有用戶為滿足分析研究需要

而自定義的模型。用戶程序接口則進(jìn)一步豐富了PSASP的接口功能。隨著實時數(shù)

據(jù)庫和量測模型的維護(hù)管理功能的加入,在線PSASP的功能得到了進(jìn)一步的擴(kuò)充。

目前,在線PSASP的數(shù)據(jù)與模型管理功能包括:

一基礎(chǔ)數(shù)據(jù)庫

一元件公用參數(shù)模型庫

一用戶自定義建模

一用戶程序接口

一實時數(shù)據(jù)庫

一量測模型管理與維護(hù)

1.2基礎(chǔ)數(shù)據(jù)庫

1.1.1基礎(chǔ)數(shù)據(jù)的定義

在一個電力系統(tǒng)中,電力系統(tǒng)元件及其公用參數(shù)的數(shù)據(jù)是該電網(wǎng)的基礎(chǔ)數(shù)據(jù)。

它是電力系統(tǒng)分析計算中最基本且較穩(wěn)定的數(shù)據(jù),與執(zhí)行什么計算沒有關(guān)系。

對于一個電網(wǎng)來說,輸電線,變壓器,直流線,靜補(bǔ),發(fā)電機(jī),調(diào)節(jié)器,負(fù)

荷等元件及其相應(yīng)參數(shù)是最基礎(chǔ)的數(shù)據(jù)。當(dāng)把這些數(shù)據(jù)準(zhǔn)備好,再加上少量的控

制信息(計算數(shù)據(jù))即可執(zhí)行各種分析計算。而且在此基礎(chǔ)上,不斷加以補(bǔ)充,可

以應(yīng)用多年。

1.1.2基礎(chǔ)數(shù)據(jù)的內(nèi)容

基礎(chǔ)數(shù)據(jù)分為兩個數(shù)據(jù)庫:基本元件數(shù)據(jù)庫和元件公用參數(shù)數(shù)據(jù)庫,由這兩

個庫共同完成電力系統(tǒng)各元件的數(shù)據(jù)描述。每個數(shù)據(jù)庫按元件不同又設(shè)置了若干

個數(shù)據(jù)表。

1.1.1.1基本元件數(shù)據(jù)庫

該庫主要存放輸電線、變壓器,一次設(shè)備(發(fā)電機(jī)、負(fù)荷、直流、靜補(bǔ)、開關(guān)

刀閘等)和二次裝置(調(diào)壓器、調(diào)速器,PSS等)等系統(tǒng)元件的數(shù)據(jù)。

1.1.1.2元件公用參數(shù)數(shù)據(jù)庫

在基本元件數(shù)據(jù)庫中,其中有些元件,如:發(fā)電機(jī)及其調(diào)節(jié)器(調(diào)壓器,調(diào)速

器,PSS)存在著不同的記錄中含有相同數(shù)據(jù)的情況。因此,把相同的數(shù)據(jù)抽出來,

作為公用參數(shù)庫,為基本元件數(shù)據(jù)庫所共享,這樣可進(jìn)一步減少數(shù)據(jù)的冗余度。

基本元件和公用參數(shù)兩個數(shù)據(jù)庫所包含的數(shù)據(jù)表及其之間的關(guān)系如下表所

7J\o

基本元件數(shù)據(jù)公用參數(shù)數(shù)據(jù)庫各表

庫各表

母線

隔離刀閘

斷路器

交流線

兩繞組變壓器

三繞組變壓器

移相變壓器

直流線直流線調(diào)節(jié)器參數(shù)

2F電機(jī)參數(shù)

1型調(diào)壓器參數(shù)

發(fā)電機(jī)及其調(diào)節(jié)器型調(diào)壓器參數(shù)

ij號速器參數(shù)

E3力系統(tǒng)穩(wěn)定器(PSS)參數(shù)

負(fù)荷靜特性參數(shù)

負(fù)荷r

華應(yīng)電動機(jī)參數(shù)

I1型靜補(bǔ)參數(shù)

靜止無功補(bǔ)償器

2型靜補(bǔ)參數(shù)

變電站主接線V-

零序互感

區(qū)域數(shù)據(jù)

1.1.3基礎(chǔ)數(shù)據(jù)的組織

1.1.3.1母線數(shù)據(jù)庫是首先要建立的基本數(shù)據(jù)

在基本元件數(shù)據(jù)庫中,母線數(shù)據(jù)有如下特點:

①母線是節(jié)點的集合,其它元件均通過節(jié)點與母線相聯(lián)系,如:

發(fā)電機(jī)和負(fù)荷可能通過開關(guān)和刀閘與一個母線相連,簡化計算分析時,發(fā)電

機(jī)和負(fù)荷可以直接和母線相聯(lián)系;

交流線,直流線,兩繞組變壓器,移相變壓器各都與兩個母線相連;

三繞組變壓器與四個母線(其中星形等值電路的中心點也要設(shè)一個母線)相

連;

靜補(bǔ)與一個或兩個母線(若安裝點和控制點不在同一母線上)相連;

變電站主接線是一個或者多個母線的詳細(xì)描述;

零序互感涉及兩條或三條線路;

開關(guān)和刀閘屬于母線一部分,開關(guān)和刀閘的開合將引起母線的分裂與合并;

區(qū)域是母線的集合。

因此,首先要建立母線數(shù)據(jù),才能建立與該母線相聯(lián)系的數(shù)據(jù)。

②母線數(shù)據(jù)表中的各項數(shù)據(jù),如:基準(zhǔn)電壓,所屬區(qū)域,斷路器額定短

路容量等,均極少變化。因此,該數(shù)據(jù)表的數(shù)據(jù)是很穩(wěn)定的,不需要通過數(shù)據(jù)

組(Group)將其分為幾套數(shù)據(jù),所以,在該數(shù)據(jù)表中,未設(shè)Group字段。

③對于某種計算(潮流,暫穩(wěn),短路等)的某種計算方案而言,該方案所

涉及的母線集合由交流線、變壓器、直流線等元件的數(shù)據(jù)組(Group)所確定的

網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)而定。該計算方案母線集合是母線數(shù)據(jù)表中的一部分。

1.1.3.2數(shù)據(jù)組(Group)字段的設(shè)計和應(yīng)用

除母線外,其他電力系統(tǒng)元件數(shù)據(jù),都含有一個Group(10個字符)字段,即

數(shù)據(jù)組字段,該字段起著給數(shù)據(jù)分類命名的作用,即將某種元件的數(shù)據(jù)集合分為

若干個子集,數(shù)據(jù)組(Group)即是這些子集的名稱??衫肎roup字段,將一個

數(shù)據(jù)庫的數(shù)據(jù)根據(jù)需要合理組織和科學(xué)命名,以便計算時,按指定的Group抽取,

從而起到靈活定義電網(wǎng)規(guī)模結(jié)構(gòu)和運(yùn)行方式的作用。

在執(zhí)行各種計算時,需要定義所要計算的方案(Scheme)?一個Scheme是

若干個Group的合集,即Scheme=Groupl+Group2+…+Group30,其交集(重疊)部

分的內(nèi)容由最后的Group決定。例如:

SchemeA=Group1+Group2,如下圖所示:

C^2__^rouPlGroup2^2Z-^

交集C的數(shù)據(jù)由Group2決定。

例如:華中電網(wǎng)的數(shù)據(jù)按如下方式準(zhǔn)備:

交流線和變壓器(雙繞組、三繞組、移相器)數(shù)據(jù)庫中的數(shù)據(jù)按照所在地區(qū)名

將Group字段分別賦予“河南”,“湖北”,“湖南”,“江西”。

發(fā)電機(jī)和負(fù)荷數(shù)據(jù)庫中的數(shù)據(jù),按地區(qū)和季節(jié)將Group字段分別賦予“河

南”,“湖南”,“江西”,“江西夏”,“江西冬”等。

計算潮流時可定義方案如下:

序號方案名方案內(nèi)容(所含Group及次序)

1“華中全網(wǎng)”“河南”+“湖北”+“湖南”+“江西”

2“江西冬”“江西”+“江西冬”

3“江西夏”“江西,,+“江西夏”

計算時,若選第一個方案(“華中電網(wǎng)”)即是做華中全網(wǎng)的計算;若選第二

個方案(“江西冬”)即是做江西冬季運(yùn)行方式的計算;若選第三個方案(“江西

夏”)即是做江西夏季運(yùn)行方式的計算。

1.3元件公用參數(shù)模型庫

元件公用參數(shù)是為基礎(chǔ)數(shù)據(jù)共享而設(shè)計的。在電力系統(tǒng)分析計算,主要是穩(wěn)

定計算中所涉及的一些元件:發(fā)電機(jī),調(diào)壓器,調(diào)速器,電力系統(tǒng)穩(wěn)定器,負(fù)荷,

直流調(diào)節(jié)器,靜補(bǔ)等。PSASP將其中的一些常用模型,作為固定模型編制在程序

中(其他一些模型可通過用戶自定義方法建立)。又因同一廠家生產(chǎn)的同型號設(shè)

備,其參數(shù)相同。因此系統(tǒng)中所用的這些模型,其參數(shù)有不少是相同的。所以元

件公用參數(shù)的特點是“公用”性。

以基本元件數(shù)據(jù)庫中的發(fā)電機(jī)及其調(diào)節(jié)器數(shù)據(jù)為例,每一接有發(fā)電機(jī)的母

線,均需填寫其發(fā)電機(jī)(或等值機(jī))的有關(guān)數(shù)據(jù),其中除有功和無功出力外,還需

填寫:

,同步機(jī)的有關(guān)參數(shù):X-i,Xd,'a,Xt,'勺,X?—TJ,T-io,T<io,北。,

Tg…

?調(diào)壓器各環(huán)節(jié)參數(shù):

?調(diào)速器各環(huán)節(jié)參數(shù):K*K、Kp,E,T,J…

?PSS各環(huán)節(jié)參數(shù):K“,J,K,,4%

對于上述同步機(jī)、調(diào)壓器、調(diào)速器、PSS,若型號和參數(shù)相同,則可共用一組

參數(shù)。為此在發(fā)電機(jī)及其調(diào)節(jié)器數(shù)據(jù)中,只填寫同步機(jī)的模型和參數(shù)組號,調(diào)壓

器的模型和參數(shù)組號,調(diào)速器的模型和參數(shù)組號,PSS的模型和參數(shù)組號。根據(jù)

指定模型和參數(shù)組號,再從相應(yīng)元件公用參數(shù)庫中抽取所需的參數(shù)。

元件公用參數(shù)包括以下內(nèi)容:

>發(fā)電機(jī)參數(shù)

>1型調(diào)壓器參數(shù)

>2型調(diào)壓器參數(shù)

>調(diào)速器參數(shù)

>電力系統(tǒng)穩(wěn)定器PSS參數(shù)

>負(fù)荷靜特性參數(shù)

>感應(yīng)電動機(jī)參數(shù)

>1型靜止無功補(bǔ)償器參數(shù)

>2型靜止無功補(bǔ)償器參數(shù)

>直流線調(diào)節(jié)器參數(shù)

1.4用戶自定義建模

1.4.1概述

近年來,隨著電力系統(tǒng)和電力電子技術(shù)的發(fā)展,新型系統(tǒng)元件不斷投入和系

統(tǒng)控制技術(shù)日益進(jìn)步。顯然,原有程序中的固定模型已經(jīng)不能滿足在電力系統(tǒng)計

算中模擬若干新型元件和各種控制功能的需求。

鑒于此,PSASP設(shè)計了用戶自定義建模方法。所謂用戶自定義建模方法是在

無須了解程序內(nèi)部結(jié)構(gòu)和編程設(shè)計的條件下,用戶可按自己計算分析的需要,用

工程技術(shù)人員熟悉的概念和容易掌握的方法,設(shè)計各種模型,使其在原則上可以

靈活模擬任何系統(tǒng)元件、自動裝置和控制功能,從而使PSASP在功能上產(chǎn)生了本

質(zhì)的飛躍。

通過用戶自定義建模方法,一方面用戶可建立模型滿足自己的特殊需要;另

一方面PSASP可建立一些通用模型,存放在“系統(tǒng)模型庫”中,使之作為PSASP

的一個組成部分,提供給用戶應(yīng)用,以此不斷充實和發(fā)展PSASP的自身功能。例

如:

VbyV:用某一母線的電壓去控制同一母線或另一母線電壓

VbyQG:用某一發(fā)電機(jī)母線的無功功率去控制同一母線或另一母線電壓

VbyQL:用某一負(fù)荷母線的無功功率去控制同一母線或另一母線的電壓

QijbyV:用某一母線的電壓去控制某一線路無功功率

QijbyQG:用某一發(fā)電機(jī)母線的無功功率去控制某一線路無功功率

QijbyQL:用某一負(fù)荷母線的無功功率去控制某一線路無功功率

PijbyPG:用某一發(fā)電機(jī)母線的有功功率去控制某一線路有功功率

PijbyPL:用某一負(fù)荷母線的有功功率去控制某一線路有功功率

VbyX:用某一線路的電抗(jX)值去控制某一母線電壓

PijbyX:用某一線路的電抗(jX)值去控制某一線路有功功率

QijbyX:用某一線路的電抗(jX)值去控制某一線路無功功率

VbyTk:用某一變壓器的變比(Tk)值去控制某一母線電壓

QijbyTk:用某一變壓器的變比(Tk)值去控制某一線路無功功率

Shift-Ang:給定變比幅值和相角(TkZ0)的移相器模型

Shift-Pij:給定變比幅值(Tk)和某線路有功功率(Pij)的移相器模型

De_Loadbyf:低頻率減負(fù)荷繼電器模型

De_LoadbyV:低電壓減負(fù)荷繼電器模型

HVDC_Model3:考慮直流線路動態(tài),整流側(cè)功率調(diào)節(jié)器,逆變側(cè)熄弧角調(diào)

節(jié)器,可外加電力系統(tǒng)控制器的直流模型

上述的系統(tǒng)模型,用戶可方便地修改或增加其模型參數(shù)后加以調(diào)用。

1.4.2基本原理

為了實現(xiàn)用戶自定義建模功能,PSASP完成了以下幾方面的工作。

1.4.1.1基本功能框的建立

各種基本功能框是自定義模型的最小組成部分。通過一些功能框的連接裝配,

即可設(shè)計定義用戶所需的模型,稱之為用戶自定義(UD)模型。每一基本功能框,

可根據(jù)輸入量(xl,x2)完成求輸入量y的運(yùn)算,如下圖所示。

y

X2y=f(xi,x2)

圖2T基本功能框的結(jié)構(gòu)

PSASP根據(jù)需要,在程序中設(shè)置了50多個功能框,并可根據(jù)實際需要進(jìn)一

步擴(kuò)充。按性質(zhì),這些功能框基本上可分為微積分運(yùn)算、代數(shù)運(yùn)算、基本函數(shù)運(yùn)

算、邏輯控制運(yùn)算、線性和非線性函數(shù)運(yùn)算及其他運(yùn)算等類型,可以為潮流和暫

態(tài)穩(wěn)定及其它相關(guān)計算程序所公用。顯然,只要有足夠多的基本功能框,就可以

構(gòu)建所需的模型,完成相應(yīng)的功能。

1.4.1.2輸入和輸出信息的規(guī)定

每個用戶所定義的模型,通過該模型的輸入信息X(xl,X2,)和輸出

信息Y(yl,y2,)與所研究的電力系統(tǒng)連成一整體,如下圖所示。

圖2-2UD模型與電力系統(tǒng)的聯(lián)系

輸入和輸出信息的設(shè)計應(yīng)根據(jù)問題和需要而定,一般應(yīng)該是充足和必要的。

PSASP在潮流程序中,把計算的已知量和有關(guān)的待求量作為輸入和輸出信息。在

暫態(tài)穩(wěn)定程序中,其輸入信息有母線、發(fā)電機(jī)、負(fù)荷、直流線和正、負(fù)、零序網(wǎng)

絡(luò)的有關(guān)變量,輸出信息有發(fā)電機(jī)、直流線的有關(guān)量和切機(jī)、切負(fù)荷及網(wǎng)絡(luò)操作

等。可見,只要程序提供了完備的輸入和輸出信息,就能夠?qū)崿F(xiàn)任何自定義模型

與電力系統(tǒng)的連接。

1.4.1.3模型定義編輯環(huán)境的設(shè)計

模型的定義建立必須要遵從一定的規(guī)則,如:功能框之間的連接關(guān)系,輸入、

輸出信息的接入,參數(shù)的給定等。為此,PSASP提供了既有提示,又有約束的直

觀友好的圖形/文本兩種建模編輯環(huán)境,為用戶正確建立模型創(chuàng)造了條件。用戶

可在上述模型編輯環(huán)境中,根據(jù)給定的基本功能框和輸入、輸出信息建立自己所

需的模型。

1.5用戶程序接口

所謂用戶程序接口(UserProgramInterface,UPI,PSASP/UPI),就是使

PSASP和用戶程序的執(zhí)行模塊,通過接口文件傳遞數(shù)據(jù),交替運(yùn)行,共同完成一

個計算任務(wù)。這--思路和作法,使PSASP變成一開放的軟件包,一方面其資源可

為其他程序共享,另一方面也為PSASP自身的開拓和發(fā)展創(chuàng)造了非常有利的條

件。

PSASP/UPI的主要功能特性可概述如下:

①用戶可以不受用戶自定義功能框的限制,利用各種語言通過自由編程,

實現(xiàn)某些模型和功能。

②在開發(fā)用戶程序時,可以充分利用PSASP的數(shù)學(xué)模型和功能,從而能夠

大大減少新程序開發(fā)的復(fù)雜性和工作量,并提高用戶程序的可靠性。

③為方便用戶程序的調(diào)試和結(jié)果整理,PSASP/UPI還提供了將用戶程序中

的某些指定量,整理成表格或繪出曲線的功能。

④PSASP/UPI是在PSASP5.1基礎(chǔ)上開發(fā)的,因此具有PSASP5.1的所有

功能。包括用戶自定義功能。

⑤PSASP提供了一些接口變量,以用于用戶自定義模型之間、用戶程序之

間、用戶自定義模型和用戶程序之間的裝配組合。為此,又可以實現(xiàn)積少成多,

由簡單組合復(fù)雜的資源積累和資源共享的目標(biāo)。

⑥PSASP是在DOS和Windows環(huán)境下運(yùn)行的大型電力系統(tǒng)分析軟件,其執(zhí)

行模塊是保護(hù)模式,即所占內(nèi)存大大超過了640KB,且可能還會以虛存方式運(yùn)行。

為了防止用戶程序與PSASP發(fā)生沖突,因此,要求在DOS環(huán)境下用戶程序的執(zhí)行

模塊是非保護(hù)模式,即執(zhí)行模塊(*.EXE)所占內(nèi)存不超過640KB。開發(fā)用戶程序的

工具不限,如:FORTRAN、BASIC、C語言等。

1.6實時數(shù)據(jù)庫

1.6.1概述

實時數(shù)據(jù)庫(以下簡稱RTDB)是運(yùn)行快速能滿足數(shù)據(jù)共享和實時要求的主內(nèi)

存數(shù)據(jù)庫,其中包括基本的電網(wǎng)元件參數(shù)、網(wǎng)絡(luò)結(jié)構(gòu),以及從SCADA系統(tǒng)取得的

遙測和遙信數(shù)據(jù),是網(wǎng)絡(luò)拓?fù)浞治?、狀態(tài)估計和各種在線分析計算的基礎(chǔ)。實時

數(shù)據(jù)庫的數(shù)據(jù)存儲和讀取速度很快,有利于電力系統(tǒng)在線分析計算速度的提高。

1.6.2實時數(shù)據(jù)庫、狀態(tài)估計和PSASP程序

可用下圖表示三者之間的關(guān)系:

小干擾

潮流

穩(wěn)定

計算

分析

各種計算程序

i'

SCADA/EMS

固定模型庫公用數(shù)據(jù)和

實時數(shù)據(jù)?實時數(shù)據(jù)庫一?基礎(chǔ)數(shù)據(jù)庫

模型平臺

用戶自定義

在線拓?fù)浜?/p>

模型庫

狀態(tài)估計L

公用數(shù)據(jù)公用模型

圖2-3實時數(shù)據(jù)庫、狀態(tài)估計和PSASP程序的關(guān)系

1.6.3實時數(shù)據(jù)庫的特點

本項目所開發(fā)的實時數(shù)據(jù)庫具有如下特點:

1)響應(yīng)速度快

測試表明,對于結(jié)構(gòu)為{stringkey,stringvalue}的表(機(jī)器內(nèi)存256MB

主頻1.6GHz):

A插入10萬條記錄:674量秒;

>提交(commit):2570毫秒;

>遍歷10萬條記錄:385毫秒;

A在10萬條記錄中順序查找10次:286毫秒;

>將10萬條記錄排序:433毫秒;

>刪除10萬條記錄:65毫秒。

2)數(shù)據(jù)庫定義功能

支持兩種方式的數(shù)據(jù)庫結(jié)構(gòu)定義功能:

>類標(biāo)準(zhǔn)的SQL腳本定義;

>按規(guī)范使用C++類頭文件定義。

字段支持多種數(shù)據(jù)類型:

>字符串類型,可變長度;

>整數(shù)類型,包括一個字節(jié),二個字節(jié),四個字節(jié)的整數(shù);

>浮點類型;

>雙精度類型;

>布爾型;

>可以是數(shù)組;

>可以是其他對象的引用;

3)數(shù)據(jù)存儲一存儲控制,并發(fā)控制等

4)數(shù)據(jù)維護(hù)一完整性檢查,安全性檢查等

5)標(biāo)準(zhǔn)化的接口

>C語言接口

>C++語言接口

>標(biāo)準(zhǔn)化SQL查詢接口等

6)跨平臺,支持UNIX和WINDOW操作系統(tǒng)

1.6.4實時數(shù)據(jù)庫的功能

>支持C/C++;支持兩套編程開發(fā)接口:C接口和C++接口。通常情況下,C++

接口速度優(yōu)于C接口,并且使用方便性也比C接口好。但C接口支持網(wǎng)絡(luò)

訪問。

>XML導(dǎo)入導(dǎo)出;可以將實時數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到XML文件中,亦可從XML

文件中導(dǎo)入數(shù)據(jù)到實時數(shù)據(jù)庫中。

>支持類SQL查詢;提供一種類SQL的查詢語言,支持基本的SQL查詢。

>初步支持Web查詢;

1.6.5實時數(shù)據(jù)庫的核心開發(fā)技術(shù)

1.6.5.1內(nèi)存分配

內(nèi)存分配和管理是通過位圖頁面(BitmapPage)來實現(xiàn)的。最小的內(nèi)存分

配單元為16個字節(jié)。每16個字節(jié)的內(nèi)存分配量在位圖頁面中體現(xiàn)為1位。系統(tǒng)

保存當(dāng)前記錄所對應(yīng)的位圖頁面和在頁面中的位置。在分配內(nèi)存時系統(tǒng)通過循環(huán)

掃描位圖頁面檢查已經(jīng)分配的內(nèi)存中是否有剩余的空間。掃描過程是:首先從當(dāng)

前位置掃描至當(dāng)前分配的最大內(nèi)存位置,若沒有剩余空間,再從起始位置掃描至

當(dāng)前位置,檢查是否存在釋放的內(nèi)存空間。若當(dāng)前分配的內(nèi)存空間已經(jīng)用完,重

新分配一大塊內(nèi)存。由于大部分對象是順序分配的,采用位圖頁面分配內(nèi)存可以

提高查找的效率、減少修改的頁面數(shù),減少提交臟頁面的耗時。

內(nèi)存共享是通過Unix或Windows提供的系統(tǒng)函數(shù)實現(xiàn)的。如Windows的

CreatFileMapping創(chuàng)建共享內(nèi)存,MapViewOfFile獲取共享內(nèi)存地址等。

1.6.5.2事務(wù)處理

為了滿足事務(wù)處理的需要,RTDB中維護(hù)了兩個對象索引數(shù)組:當(dāng)前索引和影

子索引。當(dāng)前索引對應(yīng)修改但未提交的狀態(tài),影子索引對應(yīng)修改前的穩(wěn)定態(tài)。修

改對象時,首先克隆對象,改變當(dāng)前索引使其指向該對象的拷貝,影子索引仍指

向原對象,標(biāo)記位圖頁面中對應(yīng)的位為修改。提交事務(wù)時,數(shù)據(jù)庫檢查對象索引

大小是否增加,若是,重新分配對象索引的影子拷貝,釋放本次事務(wù)中拷貝的對

象,將修改頁面寫到文件以保持同步。最后,將當(dāng)前索引變?yōu)橛白铀饕白铀?/p>

引變?yōu)楫?dāng)前索引。當(dāng)回滾事務(wù)時,將影子索引拷回當(dāng)前索引,取消本次事務(wù)所作

的所有修改。

提交命令涉及磁盤操作。為了避免頻繁的提交造成系統(tǒng)性能的喪失,本文采

用了一種延遲提交的策略。延時提交時,RTDB并不立即提交數(shù)據(jù),而是延時指定

的時間再提交。這樣,系統(tǒng)崩潰時,只會丟失延時時間段內(nèi)的數(shù)據(jù)。如果一個

線程在延時提交時間內(nèi)又啟動了一個新的延時提交事務(wù),則前面的延時提交命令

不執(zhí)行。這樣,RTDB能夠?qū)讉€連續(xù)的延時提交命令合成一個大的事務(wù),從而增

強(qiáng)了系統(tǒng)的性能。如果在延時提交時間內(nèi)另一個客戶啟動了一個事務(wù),RTDB將強(qiáng)

迫延時提交命令立即執(zhí)行,并釋放資源給其他的線程。這樣,延時提交不會影響

同時性。

1.6.5.3查詢優(yōu)化

為了提高查詢速度,RTDB采用了兩種索引查詢方法:Hash表和T樹(T-Tree)。

給定關(guān)鍵字的值,前者可以在恒定的時間內(nèi)快速查找到記錄?!窽ree是AVL-Tree

和數(shù)組的結(jié)合,在實時數(shù)據(jù)庫中的地位類似于商業(yè)數(shù)據(jù)庫的B樹(B-Tree),插

入、修改和刪除操作的算法復(fù)雜度為C*log2(N)。T樹比B樹更適用于內(nèi)存數(shù)據(jù)

庫,因為B樹優(yōu)化的是從磁盤調(diào)出的頁面數(shù)量,而T樹優(yōu)化的是比較/移動操作

的數(shù)量。

1.6.5.4對象關(guān)系模型

對象關(guān)系模型是通過一組宏將C++類定義映射成實時數(shù)據(jù)庫的表結(jié)構(gòu)定義來

實現(xiàn)的。實時數(shù)據(jù)庫中的表對應(yīng)C++中的類,記

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論