欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種用于電網WAMS系統(tǒng)的時序數據存儲方法與流程

文檔序號:12666776閱讀:375來源:國知局
一種用于電網WAMS系統(tǒng)的時序數據存儲方法與流程
本發(fā)明屬于電網廣域監(jiān)測及時序數據處理
技術領域
,具體是涉及一種用于電網WAMS系統(tǒng)的時序數據存儲方法。
背景技術
:電網廣域監(jiān)測系統(tǒng)(WideAreaMeasurementSystem,簡稱WAMS系統(tǒng)),通過布局全網關鍵測點的同步相角測量單元(PMU),實現對電網主要數據的實時高速率采集,并將采集的數據存儲在廣域監(jiān)測主站系統(tǒng)中的時序數據庫中,從而提供對電網正常運行與事故擾動情況下的實時監(jiān)測、分析計算、故障繁衍等。目前WAMS系統(tǒng)發(fā)展的主要趨勢為:(1)監(jiān)測節(jié)點數量越來越多,由早期的幾千測點已擴展至幾萬點甚至十幾萬點;(2)采集頻率越來越高,目前已支持到最高每秒100幀的采集頻率,并且采集頻率隨著電網負荷的變化可轉變;(3)歷史數據量越來越大,時序庫中一般保存的歷史數據都是TB級,對業(yè)務的性能沖擊越來越大。WAMS系統(tǒng)的這些特性,對系統(tǒng)中時序庫的性能、容量等提出了更高的要求。技術實現要素:發(fā)明目的:為了克服現有技術中存在的不足,本發(fā)明提供一種用于電網WAMS系統(tǒng)的時序數據存儲方法,該存儲方法具備較高的時序數據寫入、查詢性能,且性能不會因數據規(guī)模擴展而降低。技術方案:為實現上述目的,本發(fā)明的一種用于電網WAMS系統(tǒng)的時序數據存儲方法,提供測點ID和時序數據結合的存儲模型、緩存和文件結合的雙層存儲架構、按小時獨立存儲的文件格式以及文件偏移量索引機制;其中,測點ID和時序數據結合的存儲模型:存儲模型結構為:<id,timestamp,<value1,value2,…,valuen>>,其中id表示該段數據對應的測點ID號;timestamp表示該段數據對應的時間標簽,即對應的秒數;value1至valuen表示ID號為id的測點在第timestamp秒的n條數據;緩存和文件結合的雙層存儲架構:緩存結構:在計算機內存中預分配的一段物理內存內,采用二維數組形式,其中一個維度表示測點ID,另外一個維度表示最新1分鐘的60秒,存儲所有測點最新1分鐘的數據,二維數組中的每個存儲單元存儲單個測點1秒中的n條數據;文件結構:在文件中存儲所有測點1個小時的數據,文件中每個存儲單元存儲單個測點1分鐘的壓縮數據塊;按小時獨立存儲的文件格式:設置若干個數據文件,每個數據文件用于存儲所有測點1個小時的數據,不同文件中數據時標互相不重復;文件偏移量索引機制:為每個數據文件生成一個索引文件,即每個小時的數據均存在對應的索引文件,索引文件采用二維數組結構,其中一個維度表示測點ID,另一個維度表示每個小時的60分鐘,二維數組中的每個單元存儲一個偏移量,該偏移量表示對應測點ID在60分鐘中某分鐘的數據塊;所述方法包括數據寫入和數據查詢兩個階段,所述數據寫入階段包括以下步驟:S11接收測點最新1分鐘中第i秒鐘的時序數據,i=(0,2,…,59);S12根據測點ID和第i秒鐘在緩存結構中找到接收數據緩存位置;S13將接收到的時序數據復制到對應緩存位置中;S14判斷該測點數據緩存時間是否超過1分鐘,如果是則進入S15,否則結束;S15將緩存結構中該測點最新1分鐘內時序數據壓縮,形成壓縮數據塊;S16根據測點ID和最新1分鐘時間在文件結構中找到寫入位置;S17將該測點最新1分鐘內時序數據壓縮數據塊寫入到所述步驟S16中寫入位置中;S18將所述步驟S16中寫入位置記錄到該數據文件對應的索引文件中。進一步地,所述數據查詢階段包括以下步驟:S21收到查詢請求,查詢請求包括測點ID信息和查詢時間段信息;S22判斷查詢時間段是否在緩存中,如果是則進入S23,如果不是則進入S24;S23根據查詢時間段從緩存中定位數據,返回數據結果,結束;S24根據查詢開始時間找到歷史數據文件,讀取該歷史數據文件對應的索引文件;S25在索引文件中查詢該測點在該時間段顯示的分鐘時間是否有值,如果沒有值則返回無值結束,如果有值則在歷史數據文件中根據測點ID信息和查詢時間段信息讀取數據塊;S26將讀取的數據塊解壓縮,返回數據結果,結束。有益效果:本發(fā)明與現有技術比較,具有的優(yōu)點是:(1)通過緩存與文件結合的雙存儲架構,并使用測點ID和時序數據結合的存儲模型,以及提供的文件偏移量索引,提升高頻時序數據的存儲效率以及歷史數據的查詢效率;(2)通過將每個小時的歷史數據分文件獨立存儲,解決歷史數據累計后寫入和查詢效率下降問題。附圖說明圖1是數據寫入方法流程圖。圖2是數據查詢方法流程圖具體實施方式下面結合附圖對本發(fā)明作更進一步的說明。本發(fā)明針對電網WAMS系統(tǒng)中時序數據的特征,設計一種滿足于智能電網WAMS場景的時序大數據快速加載、查詢,以及高可靠的存儲方法。一種用于電網WAMS系統(tǒng)的時序數據存儲方法,提供了(1)測點ID和時序數據結合的存儲模型;(2)緩存和文件結合的雙層存儲架構;(3)按小時獨立存儲的文件格式;(4)文件偏移量索引機制;測點ID和時序數據結合的存儲模型:電網WAMS系統(tǒng)中時序數據主要特性為:數據依托于測點存在,每個測點獨立產生自己的時序數據;數據為周期性產生,且所有測點數據產生周期一致;典型WAMS系統(tǒng)中數據產生頻率為每秒50條數據,這里成為此頻率為“幀數”,即每秒50幀數據。根據時序數據的特性,本方法采用測點ID和時序數據結合的存儲模型,存儲接模型結構為:<id,timestamp,<value1,value2,…,valuen>>,其中,id表示該段數據對應的測點ID號;timestamp表示該段數據對應的時間標簽,即對應的秒數;value1至valuen表示ID號為id的測點在第timestamp秒的n條數據;為了提升時序數據的存儲效率,本方法采用基于緩存和文件結合的雙層存儲架構,其中緩存為計算機內存中預分配的一段物理內存:緩存結構:采用二維數組形式,其中一個維度表示測點ID,另一個維度表示最新1分鐘(1分鐘等于60秒)各個秒數,用于存儲所有測點最新1分鐘的數據,二維數組中的每個單元存儲單個測點1秒中的n條數據,即單個測點最新1分鐘內某秒數的n條數據,該秒數為1~60的自然數;緩存結構如表1所示:測點ID0秒1秒2秒……59秒1valuel-valuenvaluel-valuenvaluel-valuen……valuel-valuen2valuel-valuenvaluel-valuenvaluel-valuen……valuel-valuen3valuel-valuenvaluel-valuenvaluel-valuen……valuel-valuen4valuel-valuenvaluel-valuenvaluel-valuen……valuel-valuen表1如表1所示,包括4個測點,分別為:ID為1的測點、ID為2的測點、ID為3的測點和ID為4的測點,對4個測點的最新1分鐘的數據按秒數分別進行存儲到緩存結構中,將最新1分鐘(從0秒到59秒)的測點數據存儲在對應位置中,例如,對于ID為1的測點在0秒時的數據為value1至valuen,同樣,對于ID為4的測點在59秒的數據為value1至valuen,各個側單按照數據產生頻率獨立產生自己的時序數據,并存儲在緩存結構的相應位置中;文件結構:在文件中存儲所有測點1個小時的數據,文件中每個存儲單元存儲單個測點1分鐘的壓縮數據塊,即將如表1所示的緩存的二維數組的一行數據進行壓縮存儲形成的數據塊存儲到文件單個存儲單元中;文件結構如表2所示,表2表2中,對于4個測點(ID為1的測點、ID為2的測點、ID為3的測點和ID為4的測點),將每個測點1個小時內(從0分鐘到59分鐘)產生的數據按分鐘分別存儲到文件中各存儲單元中,文件中每個存儲單元存儲的是各測點在1分鐘內產生的數據,通過表1中各測點在60秒中產生的數據壓縮形成數據塊,將各測點1分鐘的壓縮數據塊存儲到各存儲單元中,例如ID為1的測點產生的0分鐘的數據塊、ID為4的測點產生的59分鐘的數據塊等分別存儲到各存儲單元中;按小時獨立存儲的文件格式:為了避免隨著歷史數據規(guī)模不斷增大而影響時序數據的存儲和查詢功能,本方法提出按小時獨立存儲的文件格式,如文件結構所描述的,每個文件存儲所有測點一個小時內產生的數據,這樣對于t個小時就對應t個文件,且不同文件中數據時標互相不重復,并且文件以對應的小時數來命名,例如第一個小時所有測點產生的數據均存儲到第一個文件中,第t個小時所有測點產生的數據均存儲到第t個文件中;該方法在每次數據寫入時,只需訪問一個文件,根據產生數據的小時數找到對應的文件數;同樣后期查詢也可以根據要查詢的時間段定位到對應的文件,例如查詢時間段安排在第i個小時第j分鐘第m秒,則找到對應的第i個文件,在第i個文件中找到該測點的j分鐘的數據塊,最后在緩存結構中找到該測點第j分鐘中第m秒的數據,依次解壓得等到數據,無論數據量多大,寫入和查詢所需操作的文件數是一定的,性能不會發(fā)生降低。在本發(fā)明中,為了提升時序數據的檢索效率,提出了一種文件偏移量索引機制,該索引機制中,具體操作是為了每個數據文件生成一個索引文件,即每個小時所有測點的數據會有對應的索引文件,索引文件如表3所示:測點ID0分鐘1分鐘2分鐘……59分鐘1offsetoffsetoffset……offset2offsetoffsetoffset……offset3offsetoffsetoffset……offset4offsetoffsetoffset……offset表3表3中,索引文件采用二維數組結構,兩個維度分別為測點ID和每個小時的60分鐘(從0分鐘到59分鐘),二維數組中的每個單元存儲一個偏移量(offset),表示對應測點ID在某分鐘數的數據塊;通過索引文件可以事先索引到某測點在某分鐘是否存在數據值,避免對不存在數據值的測點進行檢索,提升了數據的檢索效率;本發(fā)明方法通過提供的測點ID和時序數據結合的存儲模型、緩存和文件結合的雙層存儲架構、按小時獨立存儲的文件格式以及文件偏移量索引機制實現數據的寫入和查詢;如圖1所示,數據寫入階段包括以下步驟:計算機內存中接收某個測點最新1分鐘內i秒鐘的時序數據,i=(0,2,…,59);根據測點ID和i秒鐘在緩存結構中找到接收數據的緩存位置,例如ID為1的測點最新1分鐘內0秒產生的時序數據的緩存位置應該是測點ID為1,時刻為0秒處;將接收到的測點最新1分鐘內i秒鐘的時序數據復制到對應緩存位置中,例如將ID為1的測點最新1分鐘內0秒產生的時序數據復制到緩存結構中ID為1,時刻為0秒的位置中;判斷測點產生數據并緩存數據時間是否超過1分鐘,如果不是就結束,如果是則進入下一步驟;將緩存結構中該測點最新1分鐘內產生的時序數據進行壓縮形成數據塊;根據測點ID和最新1分鐘對應的分鐘數在文件結構中找到壓縮數據塊的文件寫入位置,例如對于ID為1的測點的1分鐘產生的數據寫入位置為標簽點為1的1分鐘數據塊;將該測點最新1分鐘內壓縮數據塊寫入到文件結構中對應位置,例如將ID為1的測點的1分鐘產生的數據壓縮形成的數據塊寫入到文件中標簽點1的1分鐘數據塊位置處;將該測點最新1分鐘內壓縮數據塊對應的文件位置記錄到對應的索引文件中,例如將ID為1的測點的1分鐘產生的數據壓縮形成的數據塊寫入到文件中標簽點1的1分鐘數據塊位置處后,將索引文件中ID為1的測點、1分鐘處做offset記錄。如圖2所示,數據查詢階段包括以下步驟:收到查詢請求,查詢請求中包括測點ID信息和查詢時間段信息;判斷查詢時間段是否在緩存中,如果是則根據查詢時間段從緩存中定位數據,并返回數據結果后結束,例如查詢請求為:查詢ID為1的測點0秒產生的數據,從緩存結構中測點ID為1、秒數為0的存儲單元中找到時序數據;如果不是則根據查詢開始時間找到歷史數據文件,讀取該歷史數據文件對應的索引文件,在索引文件中查詢該測點在該時間段顯示的分鐘時間是否有值,如果沒有值則返回無值結束,如果有值則在歷史數據文件中根據測點ID信息和查詢時間段信息讀取數據塊,最后將讀取的數據塊解壓縮,返回數據結果,結束。通過將每個小時的所有測點產生的歷史數據獨立存儲,解決歷史數據累計后寫入和查詢效率下降問題。以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出:對于本
技術領域
的技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。當前第1頁1 2 3 
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
莱西市| 九寨沟县| 迁安市| 武功县| 庄浪县| 商城县| 博爱县| 宁河县| 新蔡县| 鹤庆县| 庄浪县| 县级市| 常山县| 清丰县| 金沙县| 星座| 娄底市| 郓城县| 仲巴县| 浪卡子县| 甘肃省| 历史| 镇宁| 宜阳县| 南皮县| 新平| 临泉县| 永丰县| 綦江县| 郸城县| 安新县| 交口县| 通榆县| 常州市| 浪卡子县| 拜城县| 灵丘县| 阿巴嘎旗| 郸城县| 新巴尔虎左旗| 淮南市|