本發(fā)明屬于電池?cái)?shù)據(jù)采集,尤其涉及一種大型儲(chǔ)能電站高頻數(shù)據(jù)采集與多通道并行傳輸方法。
背景技術(shù):
1、隨著水電、風(fēng)電、光伏發(fā)電等多種形式的能源開(kāi)發(fā),這些能源的裝機(jī)規(guī)模已在全球范圍內(nèi)取得領(lǐng)先,全國(guó)累計(jì)發(fā)電裝機(jī)容量約29.2億千瓦時(shí)。裝機(jī)規(guī)模提升的同時(shí),也給電網(wǎng)的運(yùn)行和管理帶出了新的挑戰(zhàn)。在此背景下,儲(chǔ)能技術(shù)成為解決電力大規(guī)模存儲(chǔ)和調(diào)度問(wèn)題的關(guān)鍵技術(shù),大型儲(chǔ)能電站對(duì)平衡電網(wǎng)供需、增強(qiáng)電網(wǎng)穩(wěn)定性和靈活性的作用愈加明顯。然而,大型儲(chǔ)能電站在運(yùn)行過(guò)程中會(huì)產(chǎn)生巨量的高頻數(shù)據(jù),如何高效、全面地采集這些數(shù)據(jù),并減少數(shù)據(jù)傳輸成本,成為當(dāng)前儲(chǔ)能技術(shù)領(lǐng)域面臨的一個(gè)重要技術(shù)挑戰(zhàn)。
2、傳統(tǒng)的數(shù)據(jù)采集與傳輸方法通過(guò)哈夫曼編碼或丟棄數(shù)據(jù)等技術(shù)實(shí)現(xiàn),這些方法往往存在數(shù)據(jù)采集效率低、傳輸速率慢、實(shí)時(shí)性差、傳輸和存儲(chǔ)成本高等問(wèn)題,難以滿足大型儲(chǔ)能電站對(duì)于高頻數(shù)據(jù)采集和傳輸?shù)男枨?。另外,隨著儲(chǔ)能技術(shù)發(fā)展和市場(chǎng)需求提升,儲(chǔ)能電站的規(guī)模顯著擴(kuò)大。從2020年西藏自治區(qū)日喀則的50mw光伏儲(chǔ)能項(xiàng)目到2024年南京南鋼儲(chǔ)能電站的61mw/123mwh。電站容量提升的同時(shí),電池單體數(shù)量也大幅增加,隨之而來(lái)的是高頻數(shù)據(jù)量的顯著增長(zhǎng)。傳統(tǒng)的數(shù)據(jù)采集和傳輸方式已經(jīng)無(wú)法滿足大型儲(chǔ)能電站的擴(kuò)張需求,亟需一種新的技術(shù)方案來(lái)解決這些問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)上述問(wèn)題,本發(fā)明提供了一種大型儲(chǔ)能電站高頻數(shù)據(jù)采集與多通道并行傳輸方法,其能夠?qū)?chǔ)能電站內(nèi)電池單體的高頻數(shù)據(jù)進(jìn)行快速和全面地采集和讀取,通過(guò)多通道并行傳輸技術(shù),提高數(shù)據(jù)的傳輸速率和實(shí)時(shí)性,從而滿足儲(chǔ)能電站日常監(jiān)控、管理和優(yōu)化運(yùn)行的需求。
2、技術(shù)方案如下:
3、本發(fā)明提供的一種大型儲(chǔ)能電站高頻數(shù)據(jù)采集與多通道并行傳輸方法,包括以下步驟:
4、步驟s1,數(shù)據(jù)采集與讀?。菏褂秒娬驹O(shè)備監(jiān)控電池狀態(tài),將數(shù)據(jù)通過(guò)采集終端上傳至本地存儲(chǔ)系統(tǒng)。創(chuàng)建生產(chǎn)者線程,使用numpy技術(shù)高效讀取源文件。該技術(shù)既支持大文件讀取,也支持自定義數(shù)據(jù)解析。對(duì)讀取的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗后基于該生產(chǎn)者線程讀取和對(duì)外傳輸數(shù)據(jù),數(shù)據(jù)清洗,包括但不限于缺失值處理、數(shù)據(jù)類型轉(zhuǎn)換等。
5、步驟s2,讀取步驟s1輸出的數(shù)據(jù),根據(jù)數(shù)據(jù)類型選擇對(duì)應(yīng)的壓縮算法,基于差分壓縮得到數(shù)據(jù)壓縮包。
6、數(shù)據(jù)壓縮:根據(jù)數(shù)據(jù)特性,例如時(shí)間日期型序列、數(shù)值型序列,以及對(duì)精度的具體要求等選擇合適的壓縮算法,針對(duì)每個(gè)數(shù)據(jù)塊應(yīng)用對(duì)應(yīng)的壓縮算法。壓縮完后,將壓縮數(shù)據(jù)的稀疏矩陣和壓縮信息分別保存為.npz文件和.json文件,封裝成數(shù)據(jù)包轉(zhuǎn)換成適合網(wǎng)絡(luò)環(huán)境的傳輸格式。
7、步驟s3,創(chuàng)建生產(chǎn)者-消費(fèi)者線程,進(jìn)行數(shù)據(jù)壓縮包的多通道并行傳輸:創(chuàng)建一個(gè)線程安全的任務(wù)隊(duì)列,用于存放待傳輸?shù)臄?shù)據(jù)包。生產(chǎn)者線程負(fù)責(zé)將數(shù)據(jù)包放入任務(wù)隊(duì)列,并根據(jù)數(shù)據(jù)量和壓縮進(jìn)度動(dòng)態(tài)調(diào)整放入隊(duì)列的頻率。每個(gè)消費(fèi)者線程從任務(wù)隊(duì)列中取出數(shù)據(jù)包,并準(zhǔn)備傳輸。為每個(gè)傳輸通道設(shè)置連接參數(shù),例如接收端地址等。在接收端,對(duì)接收到的數(shù)據(jù)包進(jìn)行重組,恢復(fù)原始數(shù)據(jù)結(jié)構(gòu)。
8、步驟s4,監(jiān)控與日志:計(jì)算壓縮時(shí)間、壓縮前后文件大小等指標(biāo),評(píng)估算法性能和壓縮效果。記錄傳輸過(guò)程中的關(guān)鍵事件,包括傳輸開(kāi)始、結(jié)束、錯(cuò)誤及重試信息等,便于后期分析和調(diào)試。
9、步驟s5:數(shù)據(jù)上傳:將壓縮后的數(shù)據(jù)上傳到云平臺(tái)服務(wù)器。
10、作為優(yōu)選,s101:通過(guò)電站設(shè)備監(jiān)控電池狀態(tài),利用采集終端將電池?cái)?shù)據(jù)上傳至本地存儲(chǔ)系統(tǒng);s102:使用python的threading.thread類來(lái)創(chuàng)建和管理生產(chǎn)者線程,通過(guò)調(diào)用線程對(duì)象的start()方法啟動(dòng)線程,從采集終端讀取數(shù)據(jù)包;s103:在每個(gè)生產(chǎn)者線程中,利用numpy庫(kù)中的loadtxt()或genfromtxt()函數(shù),自定義高頻數(shù)據(jù)解析方式,以適應(yīng)不同的數(shù)據(jù)類型;s104:在數(shù)據(jù)讀取過(guò)程中,基于異常檢測(cè)機(jī)制檢驗(yàn)是否存在數(shù)據(jù)讀取異常,以及時(shí)發(fā)現(xiàn)并處理錯(cuò)誤;在每個(gè)生產(chǎn)者線程的執(zhí)行過(guò)程中,對(duì)讀取到的數(shù)據(jù)進(jìn)行清洗和預(yù)處理,包括缺失值處理和數(shù)據(jù)類型轉(zhuǎn)換。
11、作為優(yōu)選,s104中,對(duì)于缺失值處理,采用pandas庫(kù)的dropna()方法;對(duì)于數(shù)據(jù)類型轉(zhuǎn)換,使用astype()方法將字符串類型的數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)據(jù)類型。
12、步驟2包括:s201:獲取數(shù)據(jù)的表頭信息,并根據(jù)預(yù)先設(shè)定的壓縮特征進(jìn)行數(shù)據(jù)篩選;通過(guò)精確的篩選,進(jìn)一步優(yōu)化數(shù)據(jù)存儲(chǔ)空間;s202:根據(jù)數(shù)據(jù)類型、精度要求選擇合適的壓縮算法,基于差分計(jì)算實(shí)現(xiàn)數(shù)據(jù)壓縮;壓縮完后,將壓縮數(shù)據(jù)的稀疏矩陣和壓縮信息分別保存為.npz文件和.json文件,封裝成數(shù)據(jù)包轉(zhuǎn)換成適合網(wǎng)絡(luò)環(huán)境的傳輸格式。
13、作為優(yōu)選,數(shù)據(jù)類型包括日期型數(shù)據(jù)、電池簇總壓、電池簇總流、正負(fù)極絕緣電阻、主控環(huán)境溫度、簇總soc值、簇總soh值、累計(jì)放電容量、電池單體電壓和電池單體溫度,其中,當(dāng)數(shù)據(jù)類型為日期型數(shù)據(jù)時(shí),將時(shí)間戳轉(zhuǎn)換為整數(shù)形式d′i后再進(jìn)行差分壓縮:
14、d′i=f(di)
15、di表示原始的時(shí)間戳數(shù)據(jù)序列中第i個(gè)數(shù)據(jù)點(diǎn),f是數(shù)據(jù)類型轉(zhuǎn)換函數(shù);
16、當(dāng)數(shù)據(jù)類型為電池簇總壓時(shí),只保留整數(shù)部分v′i后再進(jìn)行差分壓縮:
17、v′i=round(vi)
18、vi表示電池簇總壓的原始數(shù)據(jù)序列中第i個(gè)數(shù)據(jù)點(diǎn);
19、當(dāng)數(shù)據(jù)類型為電池簇總流時(shí),將每個(gè)數(shù)據(jù)點(diǎn)ii分離成整數(shù)部分i′int,i和小數(shù)部分i′float,i后再分別進(jìn)行差分壓縮:
20、i′int,i=(ii×10d)/10d
21、i′float,i=(ii×10d)%10d
22、ii表示電池簇總流的原始數(shù)據(jù)序列中第i個(gè)數(shù)據(jù)點(diǎn),d為需要保留的小數(shù)位數(shù),整數(shù)部分i′int,i通過(guò)整除操作獲得,小數(shù)部分i′float,i通過(guò)取余操作獲得;
23、當(dāng)數(shù)據(jù)類型為正負(fù)極絕緣電阻時(shí),基于字典映射進(jìn)一步縮小存儲(chǔ)空間后再進(jìn)行差分壓縮:
24、當(dāng)數(shù)據(jù)類型為主控環(huán)境溫度、簇總soc值、簇總soh值、電池單體電壓和電池單體溫度時(shí),對(duì)原始數(shù)據(jù)縮放后再進(jìn)行差分壓縮;
25、當(dāng)數(shù)據(jù)類型為累計(jì)放電容量時(shí),直接做差分計(jì)算,隨后創(chuàng)建稀疏矩陣m按列壓縮。
26、作為優(yōu)選,字典映射方法為:
27、首先,創(chuàng)建映射字典d,按電阻值出現(xiàn)頻率從高到低和數(shù)值從大到小的順序分別映射為{0,1,2,…}:
28、d={value1:0,value2:1,…,valuen:n-1}
29、其中value1出現(xiàn)的頻率>value2,…n,value1>value2,…n;
30、根據(jù)映射字典d將原始數(shù)據(jù)序列映射為新的數(shù)據(jù)序列r,ri表示第i個(gè)數(shù)據(jù)點(diǎn),隨后再進(jìn)行差分計(jì)算,進(jìn)行壓縮。
31、作為優(yōu)選,差分壓縮方法為:先計(jì)算相鄰數(shù)據(jù)點(diǎn)的差值,再將該差值減去差值序列的眾數(shù),得到用于實(shí)現(xiàn)壓縮的稀疏矩陣。
32、作為優(yōu)選,步驟3中,多通道并行傳輸包括:s301:使用queue.queue()方法初始化任務(wù)隊(duì)列并設(shè)置隊(duì)列最大容量,以避免內(nèi)存溢出;s302:使用線程鎖threading.lock()確保生產(chǎn)者線程將數(shù)據(jù)包放入隊(duì)列時(shí)線程安全;s303:消費(fèi)者線程從隊(duì)列中取出數(shù)據(jù)包并準(zhǔn)備傳輸;s304:數(shù)據(jù)傳輸完成后,使用spicy.sparse.vstack()方法對(duì)分散的數(shù)據(jù)包進(jìn)行重組,恢復(fù)原始的數(shù)據(jù)結(jié)構(gòu),同時(shí)保持?jǐn)?shù)據(jù)結(jié)構(gòu)一致性。
33、作為優(yōu)選,步驟s4,進(jìn)行監(jiān)控與日志記錄:計(jì)算壓縮時(shí)間、壓縮前后文件大小指標(biāo),評(píng)估算法性能和壓縮效果;記錄傳輸過(guò)程中的關(guān)鍵事件,包括傳輸開(kāi)始、結(jié)束、錯(cuò)誤及重試信息,便于后期分析和調(diào)試。
34、本發(fā)明還公開(kāi)了一種大型儲(chǔ)能電站高頻數(shù)據(jù)采集與多通道并行傳輸系統(tǒng),包括三個(gè)模塊:
35、數(shù)據(jù)采集模塊,負(fù)責(zé)從電站設(shè)備中獲取數(shù)據(jù),如儲(chǔ)能變流器(power?conversionsystem,pcs)、電池管理系統(tǒng)(battery?management?system,bms)和能量管理系統(tǒng)(energymanagement?system,ems)。然后使用采集終端,將數(shù)據(jù)存儲(chǔ)至本地系統(tǒng)。創(chuàng)建生產(chǎn)者線程,進(jìn)而高效地讀取源文件原始數(shù)據(jù),進(jìn)行數(shù)據(jù)清洗和數(shù)據(jù)預(yù)處理,確保數(shù)據(jù)的統(tǒng)一性和準(zhǔn)確性。
36、數(shù)據(jù)壓縮模塊,采用多種壓縮策略,以適應(yīng)不同類型的數(shù)據(jù)特征。本發(fā)明針對(duì)數(shù)據(jù)的精度要求、分布特性、數(shù)據(jù)類型,例如日期型數(shù)據(jù)、連續(xù)型數(shù)據(jù)等,實(shí)施多樣化的壓縮處理。通過(guò)差分計(jì)算和稀疏矩陣完成壓縮,將壓縮后的數(shù)據(jù)和壓縮信息保存并封裝成數(shù)據(jù)包。與傳統(tǒng)的壓縮算法相比,考慮了電池領(lǐng)域的數(shù)據(jù)存儲(chǔ)需求,根據(jù)數(shù)據(jù)的類型,提供靈活且詳略得當(dāng)?shù)膲嚎s。這種壓縮可以顯著減少數(shù)據(jù)體積,提高壓縮效率,并降低傳輸成本。
37、多通道并行傳輸模塊,利用多個(gè)生產(chǎn)者-消費(fèi)者線程對(duì)同時(shí)向任務(wù)隊(duì)列中放入或取出數(shù)據(jù)包,實(shí)現(xiàn)快速的數(shù)據(jù)分發(fā),保障數(shù)據(jù)的傳輸效率,滿足高頻數(shù)據(jù)處理的需求。
38、有益效果:
39、(1)本發(fā)明涉及的高頻數(shù)據(jù)采集與多通道并行傳輸方法,使用差分稀疏矩陣壓縮算法,顯著減少了數(shù)據(jù)存儲(chǔ)所需的空間,降低了存儲(chǔ)成本。該算法的壓縮率約為15%左右。此外,與現(xiàn)有的壓縮方法相比,本發(fā)明根據(jù)數(shù)據(jù)特性和實(shí)際應(yīng)用需求,有選擇地保留和模糊小數(shù)位,既確保了數(shù)據(jù)可用性,又優(yōu)化了數(shù)據(jù)的存儲(chǔ)。例如,在處理電池簇總電壓、主控單元溫度、簇總soc等關(guān)鍵參數(shù)時(shí),保留了可調(diào)控的小數(shù)點(diǎn)位數(shù)。
40、(2)本發(fā)明涉及的高頻數(shù)據(jù)采集與多通道并行傳輸方法,相較于現(xiàn)有技術(shù)而言,引入了生產(chǎn)者-消費(fèi)者模型,實(shí)現(xiàn)了數(shù)據(jù)的多通道并行采集、壓縮和傳輸。該方法可以顯著提升數(shù)據(jù)的壓縮速率,使之能確保大規(guī)模數(shù)據(jù)流的高效壓縮。例如,510mb文件的壓縮時(shí)間可以縮短至71秒。此外,通過(guò)并行傳輸,系統(tǒng)能夠更充分地利用網(wǎng)絡(luò)帶寬,減少了因帶寬限制導(dǎo)致的傳輸瓶頸,從而提升了整體的數(shù)據(jù)傳輸效率。
41、(3)本發(fā)明涉及的高頻數(shù)據(jù)采集與多通道并行傳輸方法,能夠得到:①更靈活有效的數(shù)據(jù)壓縮:通過(guò)字典編碼、差分計(jì)算、稀疏矩陣壓縮等技術(shù),本發(fā)明能夠根據(jù)數(shù)據(jù)特性對(duì)不同類型的數(shù)據(jù)進(jìn)行有效的壓縮,顯著減少數(shù)據(jù)存儲(chǔ)量;②更高效的數(shù)據(jù)壓縮:多通道并行機(jī)制將采集到數(shù)據(jù)分割并通過(guò)多個(gè)通道同時(shí)讀取、壓縮和傳輸,提升了數(shù)據(jù)處理速率;③更低的網(wǎng)絡(luò)帶寬占用:多通道傳輸?shù)脑O(shè)計(jì),分散了單一信道數(shù)據(jù)處理的高負(fù)載,提高了帶寬的利用率;④更靈活的可擴(kuò)展性:模塊化的設(shè)計(jì)允許系統(tǒng)根據(jù)需求靈活擴(kuò)展新的傳輸通道,適應(yīng)不斷增長(zhǎng)的儲(chǔ)能電站規(guī)模和數(shù)據(jù)量;⑤更強(qiáng)大的系統(tǒng)穩(wěn)定性:通過(guò)異常處理和日志機(jī)制,確保系統(tǒng)在面對(duì)異常數(shù)據(jù)或傳輸錯(cuò)誤時(shí),仍能穩(wěn)定運(yùn)行。