国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

緩存技術(shù)在甘肅用電信息采集系統(tǒng)中的應(yīng)用

2011-06-27 02:14甘肅電力信息通信中心李紅文王蛟
電氣技術(shù)與經(jīng)濟 2011年1期
關(guān)鍵詞:入庫前置用電

■ 甘肅電力信息通信中心 李紅文 王蛟

甘肅電力調(diào)度通信中心 龐偉

0 引言

隨著電力體制市場化改革進程的不斷推進,國家電網(wǎng)公司提出了建設(shè)“一強三優(yōu)”現(xiàn)代公司的戰(zhàn)略目標。根據(jù)《國家電網(wǎng)公司“十一五”電力營銷發(fā)展規(guī)劃》總體目標,為了加快營銷計量、抄表、收費標準化建設(shè)和公司信息化建設(shè),進一步提升公司集約化、精益化和標準化管理水平,必須全面建設(shè)電力用戶用電信息采集系統(tǒng)(以下簡稱“用電信息采集系統(tǒng)”)。

用電信息實時采集系統(tǒng)和管理分析系統(tǒng)作為營銷業(yè)務(wù)應(yīng)用系統(tǒng)的重要組成部分,是實現(xiàn)客戶現(xiàn)場信息采集、負荷監(jiān)測、電力市場的分析預(yù)測的技術(shù)支持系統(tǒng),為需求側(cè)管理提供支持與分析服務(wù),具有基礎(chǔ)性和先導(dǎo)性的作用。但是如何建立規(guī)范統(tǒng)一的用電信息采集系統(tǒng)及主站、采集終端、通信單元的功能配置、型式結(jié)構(gòu)、性能指標、通信協(xié)議、安全認證、檢驗方法一直是各個供電企業(yè)所關(guān)注的難題。

甘肅電力公司按照堅強智能電網(wǎng)建設(shè)的總體要求,為保證智能電網(wǎng)建設(shè)規(guī)范有序的推進,實現(xiàn)電力用戶用電信息采集系統(tǒng)建設(shè)“全覆蓋、全采集、全預(yù)付費”的總體目標,提出了建立具有全面規(guī)范系統(tǒng)功能、統(tǒng)一通訊規(guī)約,并能覆蓋各級供電局集電能量信息采集、監(jiān)控、負荷控制、電能量信息分析于一體的電力用戶用電信息采集系統(tǒng)。

一個網(wǎng)省用電信息采集系統(tǒng)覆蓋各級電力公司的用電信息數(shù)據(jù)采集,需要處理的數(shù)據(jù)量遠遠大于以前以地市和區(qū)縣為單位的采集系統(tǒng),因此采集系統(tǒng)各模塊跟核心數(shù)據(jù)庫的交互將更為頻繁,因此將需要跟程序交互最為頻繁的數(shù)據(jù)放在緩存中做處理,不僅方便了程序的開發(fā),而且提高了效率。

1 系統(tǒng)結(jié)構(gòu)簡介

1.1 現(xiàn)場終端

現(xiàn)場終端部分可稱為采集設(shè)備層是用電信息采集系統(tǒng)的信息底層,負責收集和提供整個系統(tǒng)的原始用電信息,如圖1所示,該層有多重形式,是對應(yīng)不同的需要,但是都可分為兩個模塊,計量模塊和通信模塊,計量模塊是各種形式的電能表,功能是電能、電壓、電流等計量,通信模塊負責與上層主站和計量模塊的通信。

1.2 通信信道層

通信信道層是主站和采集設(shè)備的紐帶,提供了各種可用的有線和無線的通信信道,為主站和終端的信息交互提供鏈路基礎(chǔ)。主要采用的通信信道有:GPRS/CDMA無線公網(wǎng)、光纖專網(wǎng)、230MHz無線專網(wǎng)。

1.3 前置機層

前置采集平臺是實現(xiàn)該系統(tǒng)的關(guān)鍵。它不但能夠通過多種通道同終端進行交互,還能夠編碼和解析多種通訊規(guī)約的報文,充當橋梁和翻譯的重要工作。另外前置機還包括定時任務(wù)自動采集和采集數(shù)據(jù)入庫功能,負責歷史數(shù)據(jù)的采集入庫。前置機部分也是應(yīng)用緩存最多的部分。

1.4 應(yīng)用層

應(yīng)用層系統(tǒng)采用B/S(瀏覽器/服務(wù)器)體系架構(gòu),主要完成和用電信息采集業(yè)務(wù)相關(guān)的應(yīng)用,包括數(shù)據(jù)采集、上層綜合應(yīng)用。提供統(tǒng)一的業(yè)務(wù)應(yīng)用操作界面和信息展示窗口,是系統(tǒng)直接面向操作用戶的部分。主要包含以下幾方面的功能:自動抄表、預(yù)付費管理、負荷管理、用電監(jiān)測、終端管理、運行管理。

1.5 接口層

接口層是用電信息采集系統(tǒng)與相關(guān)的系統(tǒng)進行數(shù)據(jù)的互聯(lián)互通,實現(xiàn)數(shù)據(jù)共享,消除信息孤島,充分發(fā)揮數(shù)據(jù)的價值。以商用數(shù)據(jù)庫為載體,按照預(yù)先定義的庫、表結(jié)構(gòu)定義和權(quán)限配置,實現(xiàn)各種數(shù)據(jù)的雙向交換。

2 緩存的優(yōu)勢

本緩存技術(shù)實現(xiàn)的數(shù)據(jù)庫由一系列key-value對的記錄構(gòu)成。key和value都可以是任意長度的字節(jié)序列,既可以是二進制也可以是字符串。這里沒有數(shù)據(jù)類型和數(shù)據(jù)表的概念。當作為Hash表數(shù)據(jù)庫使用時,每個key必須是不同的,因此無法存儲兩個key相同的值。提供了以下訪問方法:提供key,value參數(shù)來存儲,按key刪除記錄,按key來讀取記錄,另外,遍歷key也被支持,雖然順序是任意的不能被保證。這些方法跟Unix標準的DBM,例如GDBM,NDBM等等是相同的,但是比它們的性能要好得多,因此可以替代它們。

圖1. 系統(tǒng)結(jié)構(gòu)圖

圖2. DBM測試比較

傳統(tǒng)數(shù)據(jù)庫性能上的問題越發(fā)凸顯,特別是單表的記錄數(shù)不斷增加,WEB應(yīng)用的寫操作越來越多,傳統(tǒng)的數(shù)據(jù)庫一主庫多從庫,讀寫分離模式作用有限,并發(fā)請求數(shù)不斷增長,導(dǎo)致數(shù)據(jù)庫性能下降。本系統(tǒng)使用的緩存技術(shù)讀寫速度非???,哈希模式下寫入100萬條數(shù)據(jù)僅需要0.402s,讀取100萬條數(shù)據(jù)需要0.334s,并且支持雙機互為主輔模式,主輔庫均可讀寫。

在一項各DBM數(shù)據(jù)庫基準測試中統(tǒng)計了寫入,讀取1000000條數(shù)據(jù)的時間和占用空間的大小,本系統(tǒng)使用的緩存技術(shù)在超大數(shù)據(jù)量下表現(xiàn)出色,不僅在讀寫時間上是其他DBM數(shù)據(jù)庫的幾倍,并且存儲空間也優(yōu)于其他數(shù)據(jù)庫。

3 緩存的應(yīng)用

在介紹完整個系統(tǒng)結(jié)構(gòu)后,我們可以大體知道緩存在整個系統(tǒng)中的位置和重要作用。如圖1所示,緩存共部署了三個主要環(huán)境:終端參數(shù)緩存、定時任務(wù)數(shù)據(jù)緩存、歷史凍結(jié)數(shù)據(jù)緩存(入庫環(huán)境)分。

參數(shù)緩存存儲了現(xiàn)場終端和電表計量設(shè)備的簡單信息,這些信息會被系統(tǒng)非常頻繁的使用,存入緩存將大大減小數(shù)據(jù)庫的壓力,并且在速度上很有優(yōu)勢。

任務(wù)數(shù)據(jù)緩存儲定時執(zhí)行的任務(wù),這些任務(wù)的特點是生成時間短,數(shù)據(jù)量大,生成時間間隔與采集時間間隔相差大,生成任務(wù)時必須存儲,并且執(zhí)行采集時又刪除任務(wù),因此單獨為任務(wù)存儲部署一個緩存是很有必要的。

部署數(shù)據(jù)緩存的原因是采集速度遠遠大于入庫速度,因此將數(shù)據(jù)暫時存入數(shù)據(jù)緩存,入庫程序循環(huán)讀取數(shù)據(jù)后入庫,這樣可以大大提高前置機的速度。

以下從與緩存密切相關(guān)的三個功能介紹緩存的應(yīng)用方法。

3.1 在線率統(tǒng)計功能

圖3. 在線率統(tǒng)計時序圖

在線率統(tǒng)計功能是顯示當前在線的終端數(shù)量和占總終端數(shù)量的百分比,是衡量整個采集系統(tǒng)的重要指標。因此怎樣做到最準確的統(tǒng)計顯得尤為重要。本采集系統(tǒng)是按照當前時間與終端最后登錄或心跳時間的差作為衡量標準。

在線率信息需要前置機維護,主站使用。在終端每次登陸和心跳時,前置機將會在緩存查詢存儲該終端信息的記錄,更新其登陸時間和最后心跳時間,并將其在線標志位置1;另外前置機定時檢查所有在線終端,并計算當前時間減去最后心跳時間的值,將該值與離線時間臨界值比較,若大于臨界值,則判定該終端離線,將該終端在線標志位置0,小于該值不作其他操作。該臨界值視多數(shù)終端的心跳間隔而定,如果該終端實際在線,一個心跳間隔前置機未接收到,雖然置該終端離線,但是前置機不會斷開與終端的通信連接。

主站操作員查看終端在線率時,由主站查詢緩存,統(tǒng)計在線標志位為1的終端數(shù)量,可容易的計算在線率,再以圖表的形式顯示在界面。

3.2 定時任務(wù)的執(zhí)行

數(shù)據(jù)采集功能是用電信息采集系統(tǒng)的重要功能,本系統(tǒng)有專門自動執(zhí)行該采集功能的任務(wù)程序,并且與緩存關(guān)系密切,因為其需要的數(shù)據(jù)量大但是內(nèi)容簡單,用緩存輔助非常方便。

數(shù)據(jù)采集的流程大致是這樣的,首先由操作員制定采集任務(wù)模板,該模板被存入數(shù)據(jù)庫和緩存,由任務(wù)程序讀取該模板,查詢參數(shù)緩存的測量點等信息,生成采集原子任務(wù),并寫入任務(wù)緩存。前置機再循環(huán)讀取任務(wù)緩存,將在線終端的原子任務(wù)讀取出來并發(fā)送到終端。從該功能可以看出緩存起到很好的緩沖作用,比如說在采集時間段內(nèi)有某些終端不在線,則前置機不會讀取該終端的任務(wù),當該終端上線時再執(zhí)行采集,這樣可很大程度提高采集成功率。

3.3 入庫程序

圖4. 采集任務(wù)時序圖

入庫程序會用到參數(shù)緩存和數(shù)據(jù)緩存,主站和任務(wù)自動采集的歷史數(shù)據(jù)會暫時存儲在數(shù)據(jù)緩存,入庫不斷讀取數(shù)據(jù)緩存的數(shù)據(jù)并解析,根據(jù)基礎(chǔ)數(shù)據(jù)到參數(shù)緩存查詢?nèi)霐?shù)據(jù)庫需要的其他信息,然后組織數(shù)據(jù)入庫。

緩存在此起到的作用是暫時存儲采集的數(shù)據(jù),因為前置機在時間上對多個終端來書是并發(fā)的,入庫卻需要順序的插入數(shù)據(jù)庫,特別是在任務(wù)開始采集的初始階段,在循環(huán)一次的采集過程中,每個終端都會有一條數(shù)據(jù),入庫速度遠遠達不到采集速度,因此將所有數(shù)據(jù)寫入緩存暫時存儲,前置機可繼續(xù)高速采集數(shù)據(jù)。入庫程序雖然開始跟不上采集速度,但是到采集后期,未采集終端數(shù)據(jù)量變小時,入庫程序同樣保持自己的入庫速度,將前面跟不上的入庫工作補上來。在此,緩存很好的解決了前置機和入庫的速度差異,大大提高了程序的執(zhí)行效率。如下圖所示,如果沒有緩存,數(shù)據(jù)采集與入數(shù)據(jù)庫的速度只能相互適應(yīng),即它們使用了兩者中速度較低的一者,并且采集過程中,如果速度阻塞在與入庫同速,主站采集實時數(shù)據(jù)也會受到影響。緩存的引入使兩者的速度互不干涉,可以發(fā)揮自己的最大速度。

圖5. 采集入庫速度示意圖

CPU: 內(nèi)存 硬盤 操作系統(tǒng)Intel Core 2GB 320GB CentOS release 5.3 Duo 2.93GHz (Final)

4 緩存效率的測試與提高

編寫一個簡單的入緩存程序,循環(huán)向緩存寫入數(shù)據(jù),在實際的環(huán)境下測試其寫入速度,測試用機器配置如下:

編譯測試程序后執(zhí)行該程序,分三次測試,分別寫入100萬,300萬,500萬條數(shù)據(jù),記錄寫入使用時間,為保證寫入條件一致,每次測試后清空上次緩存測試數(shù)據(jù)。分別在每次測試數(shù)據(jù)的基礎(chǔ)上查詢數(shù)據(jù),記錄查詢時間。

測試結(jié)果如下表:

從測試結(jié)果可以看出,大量數(shù)據(jù)寫入緩存僅需要幾分鐘時間,本系統(tǒng)只有在初始化緩存時才會這樣寫入,該速度可以接受,但是查詢速度隨著數(shù)據(jù)量增加,條件查詢一次需要幾秒,對于交互非常頻繁的數(shù)據(jù)來說,這是不可忍受的,但是主鍵查詢卻可以立即顯示結(jié)果,這才是我們使用的查詢方法。

緩存存儲是由一系列key-value對的記錄構(gòu)成,本應(yīng)用中主鍵是key,記錄是一條value值,在主鍵加索引后,當用主鍵獲取該記錄時,緩存可直接提取該記錄的存儲地址,因此無論有多少數(shù)據(jù),查詢時間都是O(1)。

在緩存的使用過程中,將最常使用的字段加索引來提高查詢速度,在查詢時,盡量使用有索引的字段查詢數(shù)據(jù),可有效提高查詢速率。

5 結(jié)語

電力用戶用電信息采集系統(tǒng)以建設(shè)“全覆蓋、全采集、全預(yù)付費”為總體目標,系統(tǒng)涉及數(shù)據(jù)量大,并且操作次數(shù)頻繁,緩存的使用有效減輕數(shù)據(jù)庫壓力,并且使用方便,數(shù)據(jù)查詢速度快,有效解決了數(shù)據(jù)交互速率的瓶頸,是本系統(tǒng)中的一項關(guān)鍵技術(shù)。緩存的使用還有很大的發(fā)展空間,本系統(tǒng)對緩存的使用也會為將來的進一步研究有很大的幫助。

[1]Tokyo Tyrant: network interface of Tokyo Cabinet[DB/OL]. http://fallabs.com/tokyotyrant/

[2]Tokyo Cabinet: a modern implementation of DBM[DB/OL]. http://fallabs.com/tokyocabinet/

[3]張海藩.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社.2007-5

[4]Stanley B.Lippman,Josee Lajoie,Barbara E.Moo著,李師賢,蔣愛軍,梅曉勇,林瑛 譯, C++ Primer 中文版:第4版[M],北京人民郵電出版社 ,2006.3

[5]劉振亞 國家電網(wǎng)公司信息化建設(shè)工程全書 營銷業(yè)務(wù)應(yīng)用篇[M]北京:中國電力出版社 2008-10

測試次數(shù) 寫入數(shù)據(jù)條數(shù) 寫入時間 條件查詢使用時間 主鍵查詢使用時間第一次 1000000 0’42’’30 1’’15 即時顯示結(jié)果第二次 3000000 2’09’’01 2’’90 即時顯示結(jié)果第三次 5000000 3’44’’20 3’’36 即時顯示結(jié)果

猜你喜歡
入庫前置用電
重磅!廣東省“三舊”改造標圖入庫標準正式發(fā)布!
中國食品品牌庫入庫企業(yè)信息公示②
中國食品品牌庫入庫企業(yè)信息公示①
安全用電知識多
被診斷為前置胎盤,我該怎么辦
前置性學(xué)習(xí)單:讓學(xué)習(xí)真實發(fā)生
國企黨委前置研究的“四個界面”
對輸配電及用電工程的自動化運行的幾點思考
為生活用電加“保險”
用電安全要注意
丽江市| 罗甸县| 太仓市| 桐城市| 通河县| 清苑县| 县级市| 南漳县| 浦江县| 甘孜县| 大城县| 丁青县| 收藏| 柘城县| 武隆县| 喜德县| 丹棱县| 石渠县| 县级市| 日土县| 澳门| 禄劝| 博兴县| 石首市| 黎川县| 乌海市| 巴林右旗| 庆城县| 梅州市| 肃宁县| 彰化县| 横峰县| 鲁甸县| 武乡县| 舞阳县| 象州县| 新巴尔虎右旗| 庄浪县| 新营市| 镇原县| 灵山县|