程 立 李少卿 朱中華 王文龍 繆楠林
(南京南瑞繼保電氣有限公司,南京 211100)
隨著國(guó)網(wǎng)公司對(duì)智能電網(wǎng)的建設(shè)與推廣,配網(wǎng)作為智能電網(wǎng)的重要組成部分,越來(lái)越受到重視[1]。配電終端作為信息的采集、控制單元,扮演著越來(lái)越重要的作用。同時(shí)也集成了越來(lái)越多的功能:①集成測(cè)量、控制、保護(hù)功能;②集成通信管理裝置的功能: 能夠?qū)崿F(xiàn)配網(wǎng)電能表、電壓無(wú)功控制器、監(jiān)測(cè)儀等智能設(shè)備的接入與信息的轉(zhuǎn)發(fā);③集成光纖以太環(huán)網(wǎng)功能:可以支持以太環(huán)網(wǎng)(100M),可以直接接入光纖構(gòu)成以太環(huán)網(wǎng)[2];④集成電壓無(wú)功控制(VQC)功能:可以實(shí)現(xiàn)電容器的自動(dòng)投切,提高電壓質(zhì)量;⑤集成歷史數(shù)據(jù)、統(tǒng)計(jì)數(shù)據(jù)管理功能:提供多種數(shù)據(jù)歷史量和統(tǒng)計(jì)分析值的分類(lèi)存儲(chǔ)、查詢、召喚。
在配電終端中,對(duì)于歷史數(shù)據(jù),往往需要大容量的數(shù)據(jù)存儲(chǔ),而且要做到數(shù)據(jù)的快速存儲(chǔ)、查詢和刪除等操作。傳統(tǒng)的配電終端往往采用簡(jiǎn)單文件的存儲(chǔ)方式,直接將歷史數(shù)據(jù)寫(xiě)入文件中。由于沒(méi)有對(duì)歷史數(shù)據(jù)進(jìn)行排序和建立索引表,查詢、刪除等操作采用遍歷文件的方式,檢索效率極其低下,難以做到在大容量數(shù)據(jù)條件下的快速操作。本文給出了基于Berkeley DB嵌入式數(shù)據(jù)庫(kù)的配電終端的設(shè)計(jì)方案,實(shí)現(xiàn)了大容量數(shù)據(jù)的可靠存儲(chǔ)和快速操作。
隨著國(guó)網(wǎng)公司兩批試點(diǎn)城市配網(wǎng)建設(shè)的開(kāi)展,配電終端的功能需求越來(lái)越趨于多樣化。尤其對(duì)終端的變位數(shù)據(jù)、操作記錄、統(tǒng)計(jì)數(shù)據(jù)的存儲(chǔ)需要越來(lái)越強(qiáng)烈。配電終端對(duì)變位數(shù)據(jù)和操作記錄的存儲(chǔ)時(shí)間要求不小于3個(gè)月,而對(duì)統(tǒng)計(jì)數(shù)據(jù),如日/月電壓、電壓(電流)極大(?。┲?、整點(diǎn)值、合格率、不平衡率等,存儲(chǔ)時(shí)間不小于6個(gè)月,部分?jǐn)?shù)據(jù)(如月電壓合格率)等甚至需要存儲(chǔ)不小于9個(gè)月。這些存儲(chǔ)數(shù)據(jù)要求實(shí)現(xiàn)如下功能:
1)可靠存儲(chǔ):大量的數(shù)據(jù)能夠快速存儲(chǔ)到數(shù)據(jù)庫(kù)中,做到不丟失、不差錯(cuò)。
2)快速查詢:能夠支持不同方向上數(shù)據(jù)的快速查詢,不同方向包括遠(yuǎn)方配電主站、當(dāng)?shù)卣{(diào)試終端等。
3)快速刪除:根據(jù)存儲(chǔ)的時(shí)間、條目等要素,進(jìn)行數(shù)據(jù)庫(kù)的定期刪除。
Berkeley DB是Sleepycat軟件公司開(kāi)發(fā)的一款健壯的,高速的工業(yè)級(jí)開(kāi)源式嵌入式數(shù)據(jù)庫(kù)系統(tǒng),支持C、C++、Java等編程語(yǔ)言。Berkeley DB本身不到300K,卻能管理多達(dá)256TB的數(shù)據(jù)。不支持復(fù)雜的SQL語(yǔ)言,避免了大量解析和處理開(kāi)銷(xiāo),適用于實(shí)時(shí)系統(tǒng)、嵌入式應(yīng)用等。Berkeley DB函數(shù)庫(kù)和應(yīng)用程序運(yùn)行在同一地址空間,不存在服務(wù)器概念,具有零管理性,通過(guò)API訪問(wèn)數(shù)據(jù)。同時(shí)支持日志管理、數(shù)據(jù)壓縮、備份和恢復(fù)等功能。此外,Berkeley DB支持開(kāi)源,使用者可以免費(fèi)下載到源代碼,根據(jù)自己的需求對(duì)其進(jìn)行裁減[3]。
軟件的系統(tǒng)結(jié)構(gòu)分為保護(hù)測(cè)控模塊、實(shí)時(shí)庫(kù)模塊、歷史庫(kù)模塊、組態(tài)配置模塊、VQC模塊等,如圖1所示。其中保護(hù)測(cè)控等對(duì)實(shí)時(shí)性有著極為嚴(yán)格要求的模塊運(yùn)行在中斷中,而實(shí)時(shí)庫(kù)、歷史庫(kù)、VQC模塊、組態(tài)配置等組件運(yùn)行在任務(wù)中。各個(gè)模塊之間松散耦合,通過(guò)注冊(cè)機(jī)制建立聯(lián)系,同時(shí)各個(gè)模塊之間通過(guò)消息或者管道進(jìn)行數(shù)據(jù)交換。
圖1 系統(tǒng)結(jié)構(gòu)
1)保護(hù)測(cè)控模塊
保護(hù)測(cè)控模塊分為兩部分:中斷執(zhí)行部分和任務(wù)執(zhí)行部分。中斷每0.833ms運(yùn)行一次,測(cè)量采用24點(diǎn)采樣、并進(jìn)行開(kāi)入和開(kāi)出的計(jì)算。保護(hù)采用傅立葉算法,設(shè)置三段式保護(hù)和零序保護(hù)。任務(wù)執(zhí)行部分進(jìn)行PT斷線、線路失壓、過(guò)負(fù)荷、電池管理、遙測(cè)等計(jì)算。
2)實(shí)時(shí)數(shù)據(jù)庫(kù)模塊
實(shí)時(shí)數(shù)據(jù)庫(kù)模塊:該模塊包括實(shí)時(shí)數(shù)據(jù)庫(kù)、調(diào)度端數(shù)據(jù)引用表的創(chuàng)建,運(yùn)行時(shí)提供快速入庫(kù)、快速提取數(shù)據(jù)操作。實(shí)時(shí)數(shù)據(jù)庫(kù)還提供了對(duì)SOE、遙信變位、步位置變化等異步事件的支持。
3)歷史數(shù)據(jù)庫(kù)模塊
歷史庫(kù)訂閱實(shí)時(shí)庫(kù)的變位信息,操作記錄和統(tǒng)計(jì)數(shù)據(jù)。歷史庫(kù)就采用Berkeley DB的數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。BDB支持不同類(lèi)型的存儲(chǔ),如線性表、哈希表、B樹(shù)等。在本文的系統(tǒng)中,采用了B樹(shù)的設(shè)計(jì)方法。歷史數(shù)據(jù)庫(kù)采用多個(gè)任務(wù)來(lái)實(shí)現(xiàn),支持同步和異步兩種方式,每種方式下實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、檢索、刪除等操作[4]。
4)組態(tài)管理模塊
組態(tài)管理模塊:①生成和維護(hù)所連裝置信息名表;②配置和維護(hù)一次間隔信息;③配置和維護(hù)板卡和規(guī)約信息;④配置和維護(hù)對(duì)時(shí)源;⑤生成和維護(hù)送往調(diào)度的轉(zhuǎn)發(fā)信息表、并對(duì)規(guī)約需要的參數(shù)進(jìn)行設(shè)置;⑥進(jìn)行信息合成(遙測(cè)、遙信、步位置信息計(jì)算轉(zhuǎn)換);⑦程序文件的下裝、配置文件上裝和下裝[5]。
5)對(duì)上、對(duì)下規(guī)約模塊
對(duì)上規(guī)約模塊負(fù)責(zé)配電終端同遠(yuǎn)方主站進(jìn)行數(shù)據(jù)通信,常用的有IEC101[6]、IEC104[7]、CDT[8]等規(guī)約。對(duì)下規(guī)約模塊負(fù)責(zé)同電能表、電壓無(wú)功控制器、監(jiān)測(cè)儀等智能設(shè)備通信,常用的有CDT[8]、IEC103[9]、MODBUS等規(guī)約。
6)VQC模塊
VQC根據(jù)測(cè)控裝置采集的開(kāi)關(guān)刀閘遙信進(jìn)行主接線拓?fù)浞治觯?VQC在每個(gè)運(yùn)行周期的開(kāi)始對(duì)接線關(guān)系進(jìn)行一次拓?fù)浞治觯軐?shí)時(shí)的反映拓?fù)潢P(guān)系的變化,從而保證VQC調(diào)節(jié)建立在實(shí)時(shí)的系統(tǒng)拓?fù)浠A(chǔ)之上,從而改善電壓質(zhì)量[10]。
7)顯示模塊
負(fù)責(zé)與實(shí)時(shí)庫(kù)通信,將實(shí)時(shí)數(shù)據(jù)顯示在液晶屏,并且將用戶操作(修改定值、遙控開(kāi)關(guān))傳遞給實(shí)時(shí)庫(kù),負(fù)責(zé)完成人機(jī)交互。同時(shí)查看歷史信息,包括操作記錄、歷史事件等。
如圖2所示,歷史庫(kù)由三個(gè)模塊組成:變位事件歷史庫(kù)、操作記錄歷史庫(kù)、統(tǒng)計(jì)數(shù)據(jù)歷史庫(kù)。實(shí)時(shí)庫(kù)發(fā)布訂閱的信息給歷史庫(kù),通過(guò)一個(gè)歷史信息過(guò)濾器,丟棄掉無(wú)效數(shù)據(jù),過(guò)濾出所需信息,分別發(fā)布給變位事件歷史庫(kù)、操作記錄歷史庫(kù)和統(tǒng)計(jì)數(shù)據(jù)歷史庫(kù),最終由這三個(gè)數(shù)據(jù)庫(kù)來(lái)完成數(shù)據(jù)的存儲(chǔ)。對(duì)上規(guī)約模塊和組態(tài)模塊通過(guò)歷史信息操作器對(duì)數(shù)據(jù)進(jìn)行操作,歷史信息操作器提供操作接口,用以實(shí)現(xiàn)數(shù)據(jù)的快速檢索和刪除[11]。
圖2 歷史庫(kù)模塊圖
實(shí)時(shí)庫(kù)發(fā)布數(shù)據(jù)信息,歷史庫(kù)對(duì)這些數(shù)據(jù)信息進(jìn)行處理。當(dāng)實(shí)際系統(tǒng)觸發(fā)一個(gè)變位事件(如開(kāi)關(guān)變位、保護(hù)動(dòng)作等),實(shí)時(shí)庫(kù)會(huì)向歷史庫(kù)發(fā)布這個(gè)事件。事件參考IEC103規(guī)約中通用分類(lèi)服務(wù)的格式,其中信息的關(guān)鍵字包括:裝置地址、組號(hào)、條目號(hào)、時(shí)標(biāo)、分合位置[9]。類(lèi)似地,當(dāng)遠(yuǎn)方調(diào)度或者當(dāng)?shù)兀ㄈ缫壕?、調(diào)試終端)發(fā)出控制開(kāi)關(guān)分合指令,實(shí)時(shí)庫(kù)也會(huì)觸發(fā)一個(gè)操作信息,通知?dú)v史庫(kù),信息的關(guān)鍵字包括:命令來(lái)源、裝置地址、組號(hào)、條目號(hào)、時(shí)標(biāo)、分合類(lèi)型等。統(tǒng)計(jì)數(shù)據(jù)也是類(lèi)似,但不同的是統(tǒng)計(jì)數(shù)據(jù)通過(guò)實(shí)時(shí)庫(kù)內(nèi)部的一個(gè)專門(mén)任務(wù)來(lái)實(shí)現(xiàn),定時(shí)對(duì)數(shù)據(jù)進(jìn)行掃描,其信息關(guān)鍵字包括:裝置地址、組號(hào)、條目號(hào)、起始時(shí)間、終止時(shí)間、統(tǒng)計(jì)數(shù)值(通常是浮點(diǎn)數(shù))。
當(dāng)這些數(shù)據(jù)真正進(jìn)入數(shù)據(jù)庫(kù)存儲(chǔ)之前,先要經(jīng)過(guò)歷史信息過(guò)濾器,過(guò)濾器的目的在于信息的刪減和分類(lèi)。過(guò)濾器按照內(nèi)部約定好的格式,對(duì)數(shù)據(jù)進(jìn)行下列檢測(cè):①對(duì)數(shù)據(jù)類(lèi)型進(jìn)行檢驗(yàn),如果發(fā)布的數(shù)據(jù)不屬于變位事件、操作記錄、統(tǒng)計(jì)數(shù)據(jù),過(guò)濾器會(huì)做丟棄處理;②根據(jù)所屬數(shù)據(jù)類(lèi)型,進(jìn)行長(zhǎng)度驗(yàn)證,如果不符合,也做丟棄處理。當(dāng)數(shù)據(jù)檢測(cè)過(guò)后,符合完整性要求,過(guò)濾器負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行分發(fā),根據(jù)不同的類(lèi)型分別交給變位事件歷史庫(kù)、操作記錄歷史庫(kù)、統(tǒng)計(jì)數(shù)據(jù)歷史庫(kù)來(lái)處理。至此,過(guò)濾器將外部的數(shù)據(jù)經(jīng)過(guò)“凈化處理”交給歷史庫(kù)。
在嵌入式裝置中,必須考慮裝置意外掉電或者系統(tǒng)崩潰的情況。在意外掉電或系統(tǒng)崩潰的情況下,數(shù)據(jù)往往還沒(méi)有來(lái)的及寫(xiě)入或者剛剛部分?jǐn)?shù)據(jù)寫(xiě)入了flash,此時(shí)數(shù)據(jù)庫(kù)往往記錄數(shù)據(jù)發(fā)生錯(cuò)誤,嚴(yán)重時(shí)可能破環(huán)數(shù)據(jù)庫(kù)的完整性,造成數(shù)據(jù)庫(kù)損壞。對(duì)于用戶而言,丟失大量存儲(chǔ)信息,造成不必要的損失。因此,在設(shè)計(jì)歷史數(shù)據(jù)存儲(chǔ)模塊時(shí),必須充分考慮這些情況。Berkeley DB提供了一種Transaction事務(wù)機(jī)制,當(dāng)意外掉電或者系統(tǒng)崩潰的情況下,保證數(shù)據(jù)庫(kù)信息的完整性。
為了應(yīng)用Transaction機(jī)制,我們必須先建立一個(gè)environment環(huán)境,并且設(shè)置為線程安全,其次在這個(gè)environment下,指定數(shù)據(jù)庫(kù)的創(chuàng)建方法,在這里我們采用BTree機(jī)制,并且指定數(shù)據(jù)的排序方法。在這里,我們先創(chuàng)建一級(jí)庫(kù)(primary db),對(duì)于變位事件歷史庫(kù)、操作記錄歷史庫(kù)、統(tǒng)計(jì)數(shù)據(jù)歷史庫(kù)均按照裝置地址、時(shí)間、組號(hào)、條目號(hào)的優(yōu)先級(jí)創(chuàng)建排序方法,其次創(chuàng)建二級(jí)庫(kù)(secondary db)(在4.3節(jié)中詳細(xì)介紹)。當(dāng)過(guò)濾器完成信息處理后,歷史數(shù)據(jù)庫(kù)就來(lái)進(jìn)行數(shù)據(jù)的存儲(chǔ)了。數(shù)據(jù)庫(kù)要調(diào)用txn_begin函數(shù)啟動(dòng)事務(wù)機(jī)制,將數(shù)據(jù)put進(jìn)主庫(kù),接著commit提交數(shù)據(jù),最后再調(diào)用sync同步二級(jí)庫(kù)(secondary db)。
Berkeley DB中,二級(jí)庫(kù)(secondary db)提供了對(duì)數(shù)據(jù)庫(kù)的多種檢索方式。比如說(shuō),在DB1中,我們存儲(chǔ)了key為員工ID,data為員工籍貫、工資等信息,而DB中存儲(chǔ)了key為員工名字,data為員工ID,我們?nèi)绻胍獙讖埍斫Y(jié)合起來(lái)操作,就要用到二級(jí)庫(kù)。
歷史數(shù)據(jù)庫(kù)創(chuàng)建后,應(yīng)用模塊需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,歷史信息操作器就提供了相應(yīng)的接口。對(duì)于三個(gè)歷史庫(kù)需要實(shí)現(xiàn)不同的檢索/刪除方式,具體來(lái)說(shuō):①變位歷史數(shù)據(jù)庫(kù):按照時(shí)間跨度檢索/刪除、按照事件類(lèi)型+時(shí)間檢索/刪除、按照FIFO順序進(jìn)行檢索/刪除;②操作記錄歷史數(shù)據(jù)庫(kù):按照時(shí)間跨度檢索/刪除、按照事件類(lèi)型+時(shí)間檢索/刪除、按照FIFO順序進(jìn)行檢索/刪除;③統(tǒng)計(jì)數(shù)據(jù)歷史庫(kù):按照時(shí)間跨度檢索/刪除、按照統(tǒng)計(jì)類(lèi)型+時(shí)間檢索/刪除。要實(shí)現(xiàn)以上需求,必須用到Berkeley DB的二級(jí)庫(kù)(secondary db)。
為了實(shí)現(xiàn)以上功能,單獨(dú)創(chuàng)建一個(gè)任務(wù)來(lái)完成。首先,將檢索條件生成關(guān)鍵字 key,然后通過(guò)創(chuàng)建游標(biāo)cursor使用DB_SET_RANGE方法定位查詢點(diǎn),依次通過(guò)DB_NEXT的方法獲得數(shù)據(jù),直到檢索區(qū)間越限。將檢索到的數(shù)據(jù)采用同步或者異步的方式返回給應(yīng)用模塊。刪除的方法也是類(lèi)似,在此不再贅述。
基于Berkeley DB的配電終端研制過(guò)程中做了各種測(cè)試對(duì)其性能進(jìn)行驗(yàn)證。與傳統(tǒng)的用簡(jiǎn)單文件結(jié)構(gòu)方式進(jìn)行存儲(chǔ)的方式比較,具有明顯的優(yōu)勢(shì)。筆者選擇了10000條數(shù)據(jù)進(jìn)行測(cè)試,其中檢索、刪除選擇其中的100條。硬件平臺(tái):CPU為PowerPC,主頻400M;內(nèi)存64M;Flash為128M,操作系統(tǒng)為VxWorks。試驗(yàn)數(shù)據(jù)摘錄見(jiàn)表1所示。
表1 數(shù)據(jù)庫(kù)試驗(yàn)結(jié)果摘錄
由此可以看出,在檢索時(shí)間、刪除時(shí)間、CPU需求方面,Berkeley DB遠(yuǎn)遠(yuǎn)超出簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)方式。雖然在內(nèi)存需求方面,由于Berkeley DB采用了復(fù)雜的數(shù)據(jù)結(jié)構(gòu),內(nèi)存占用稍多一些,但對(duì)于64M的內(nèi)存配置來(lái)說(shuō),完全可以忽略。
本文設(shè)計(jì)的配電終端成功應(yīng)用北京的開(kāi)閉站中,典型的北京開(kāi)閉站應(yīng)用如圖3所示:保護(hù)管理機(jī)對(duì)下接入10kV保護(hù)裝置,采集遙信、遙測(cè),實(shí)現(xiàn)遠(yuǎn)方遙控,對(duì)上接入配電終端,規(guī)約采用平衡式IEC101。低壓表、網(wǎng)絡(luò)表計(jì)及一些低壓信號(hào)也接入配電終端,規(guī)約采用 MODBUS。配電終端通過(guò)通信設(shè)備,同配電主站進(jìn)行連接,將信號(hào)遠(yuǎn)傳,同時(shí)接受配電主站的控制命令,規(guī)約采用IEC104或者平衡式IEC101。
該終端自2008年在北京地區(qū)投運(yùn)以來(lái),為運(yùn)行單位提供了大量歷史數(shù)據(jù):如保護(hù)動(dòng)作信號(hào)、開(kāi)關(guān)位置信號(hào)、電壓合格率、不平衡率。積極促進(jìn)了配電網(wǎng)故障隔離、故障恢復(fù)、電壓質(zhì)量的改進(jìn),保證了配電網(wǎng)安全穩(wěn)定可靠的運(yùn)行,提高了電網(wǎng)公司的生產(chǎn)效率,為建設(shè)智能電網(wǎng)起到了良好的示范作用。
圖3 開(kāi)閉站結(jié)構(gòu)圖
本文提出了Berkeley DB在配電終端的設(shè)計(jì)思路,并且成功實(shí)現(xiàn)在配電終端的研發(fā)上。和傳統(tǒng)的配電終端相比,采用嵌入式數(shù)據(jù)庫(kù)不僅占用CPU資源很少、系統(tǒng)開(kāi)銷(xiāo)較低、和應(yīng)用緊密結(jié)合、系統(tǒng)健壯、伸縮性良好等特點(diǎn),而且能夠滿足用戶日益多樣化的需求。本文提出基于Berkeley DB設(shè)計(jì)的配電終端,已經(jīng)成功在北京、山東、青海等地使用,為用戶提供了大量歷史數(shù)據(jù),減少了用戶工作量,提高用戶工作效率。
[1]陳樹(shù)勇,宋書(shū)芳,李蘭欣,沈杰. 智能電網(wǎng)技術(shù)綜述[J].電網(wǎng)技術(shù),2009,33(8):1-7.
[2]焦磊,葉繼明.一種適用于配電自動(dòng)化系統(tǒng)的新型以太網(wǎng)通信方式[J].繼電器,2006,34(22):84-86.
[3]劉巍巍,徐成,李仁發(fā).嵌入式數(shù)據(jù)庫(kù) Berkeley DB 的原理與應(yīng)用[J].科學(xué)技術(shù)與工程,2005,5(2):86-90.
[4]劉鐘情,余平. 基于 Berkeley DB的電力直流監(jiān)控系統(tǒng)的設(shè)計(jì)[J].電力科學(xué)與工程,2008,24(4):53-55.
[5]王劍. 基于組件對(duì)象模型技術(shù)的變電站監(jiān)控組態(tài)軟件設(shè)計(jì)[D]. 西安:西安交通大學(xué),2004.
[6]中華人民共和國(guó)國(guó)家經(jīng)濟(jì)貿(mào)易委員會(huì).DL/T 634.5101—2002(idt IEC60870—5—101:2002)遠(yuǎn)動(dòng)設(shè)備及系統(tǒng)第 5—101部分:傳輸規(guī)約基本遠(yuǎn)動(dòng)任務(wù)配套標(biāo)準(zhǔn)[S].北京:中國(guó)電力出版社,2003.
[7]中華人民共和國(guó)國(guó)家經(jīng)濟(jì)貿(mào)易委員會(huì).DL/T 634.5104—2002(idt IEC60870—5—104:2000)遠(yuǎn)動(dòng)設(shè)備及系統(tǒng)第5—104部分:傳輸規(guī)約采用標(biāo)準(zhǔn)傳輸協(xié)議子集的IEC60870—5—101網(wǎng)絡(luò)訪問(wèn)[S].北京:中國(guó)電力出版社,2002.
[8]電力部.CDT循環(huán)式遠(yuǎn)動(dòng)規(guī)約(電力部行業(yè)標(biāo)準(zhǔn) DL451—91)[S]. 北京:水利電力出版社,1991.
[9]中華人民共和國(guó)國(guó)家經(jīng)濟(jì)貿(mào)易委員會(huì).DL/T 667—1999(idt IEC60870—5—103:1997)遠(yuǎn)動(dòng)設(shè)備及系統(tǒng)第5部分傳輸規(guī)約第103篇繼電保護(hù)設(shè)備信息接口配套標(biāo)準(zhǔn)[S].北京:中國(guó)電力出版社,1999.
[10]王順江.關(guān)于軟件VQC的研究和應(yīng)用[D]. 大連:大連理工大學(xué),2009.
[11]崔志強(qiáng),翟永杰,陳昕,施建中. Berkeley DB在實(shí)時(shí)歷史數(shù)據(jù)庫(kù)中的應(yīng)用[J]. 華北電力大學(xué)學(xué)報(bào),2008,35(1):48-51.