EMS 能源管理平臺(tái)數(shù)據(jù)加工服務(wù)概要設(shè)計(jì)說(shuō)明書_第1頁(yè)
EMS 能源管理平臺(tái)數(shù)據(jù)加工服務(wù)概要設(shè)計(jì)說(shuō)明書_第2頁(yè)
EMS 能源管理平臺(tái)數(shù)據(jù)加工服務(wù)概要設(shè)計(jì)說(shuō)明書_第3頁(yè)
EMS 能源管理平臺(tái)數(shù)據(jù)加工服務(wù)概要設(shè)計(jì)說(shuō)明書_第4頁(yè)
EMS 能源管理平臺(tái)數(shù)據(jù)加工服務(wù)概要設(shè)計(jì)說(shuō)明書_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

EMSV1.31能源管理系統(tǒng)數(shù)據(jù)加工服務(wù)概要設(shè)計(jì)說(shuō)明書V1.00目錄TOC\o"2-3"\h\z\t"標(biāo)題1,1"1引言 11.1編寫目的 11.2項(xiàng)目背景 11.3定義 11.4參考資料 22任務(wù)概述 32.1目標(biāo) 32.1.1服務(wù)模式 32.1.2總體目標(biāo) 32.2運(yùn)行環(huán)境 42.2.1硬件環(huán)境 42.2.2軟件環(huán)境 42.2.3開發(fā)環(huán)境 42.3需求描述 52.3.1統(tǒng)計(jì)需求 52.3.1.1能耗統(tǒng)計(jì) 52.3.1.2非能耗統(tǒng)計(jì) 52.3.1.3費(fèi)用統(tǒng)計(jì) 52.3.2數(shù)據(jù)異常加工處理 52.3.3斷點(diǎn)續(xù)傳統(tǒng)計(jì)服務(wù) 52.3.3非功能需求 62.4條件與限制 73總體設(shè)計(jì) 83.1總體結(jié)構(gòu) 83.2業(yè)務(wù)方案 94模塊設(shè)計(jì) 104.1統(tǒng)計(jì)服務(wù) 104.1.1區(qū)域設(shè)備映射配置 104.1.1.1功能描述 104.1.1.2業(yè)務(wù)處理流程 104.1.2能耗/非能耗統(tǒng)計(jì) 114.1.2.1功能描述 114.1.3費(fèi)用統(tǒng)計(jì) 144.2數(shù)據(jù)異常判斷與修復(fù) 174.2.1實(shí)現(xiàn)方案 174.2.2數(shù)據(jù)流程 184.2.3數(shù)據(jù)庫(kù)表結(jié)構(gòu) 204.3斷點(diǎn)續(xù)傳功能 214.3.1實(shí)現(xiàn)方案 214.3.2數(shù)據(jù)流程 234.3.3數(shù)據(jù)庫(kù)表結(jié)構(gòu) 235數(shù)據(jù)庫(kù)說(shuō)明 255.1.平臺(tái)表 255.2應(yīng)用表 266系統(tǒng)安全設(shè)計(jì) 316.1應(yīng)用系統(tǒng)安全性設(shè)計(jì) 316.2數(shù)據(jù)存儲(chǔ)安全性設(shè)計(jì) 31WXF-9000V1.31數(shù)據(jù)加工服務(wù)概要設(shè)計(jì)說(shuō)明書V1.00第25頁(yè)1引言1.1編寫目的本文檔是對(duì)WXFWXF-9000V1.31強(qiáng)弱電一體化平臺(tái)系統(tǒng)軟件(以下簡(jiǎn)稱WXF-9000系統(tǒng)或本系統(tǒng))中的平臺(tái)功能進(jìn)行詳細(xì)分析和討論后得出的分析說(shuō)明書,旨在明確本軟件模塊的功能需求。通過本說(shuō)明書,可以了解到本軟件的開發(fā)背景、建設(shè)要求、功能需求等。各個(gè)模塊的開發(fā)人員閱讀此文檔后,以各個(gè)模塊的功能為基礎(chǔ),兼顧配合服務(wù)器模塊,完成各自模塊的功能。本文檔面向的讀者是:WXF-9000V1.31項(xiàng)目組各成員。1.2項(xiàng)目背景1.3定義下表列出本報(bào)告中專門術(shù)語(yǔ)的定義、英文縮寫詞的原詞組和意義、項(xiàng)目組內(nèi)達(dá)成一致意見的專用詞匯,同時(shí)繼承全部的先前過程中定義過的詞匯。詞匯名稱詞匯含義備注TSTableSample,采樣表,用來(lái)存儲(chǔ)歷史采樣數(shù)據(jù)TS_M5_存儲(chǔ)五分鐘數(shù)據(jù)的采樣表TS_M5_XXX存儲(chǔ)五分鐘采樣數(shù)據(jù)的表,目前XXX代表000~999TSServerU.exe后臺(tái)服務(wù)器軟件WXFDllU.dll后臺(tái)公共接口庫(kù)文件Mmi_jk.dll后臺(tái)規(guī)約文件TS_M5_EXT_XXX五分鐘數(shù)據(jù)的采樣表的對(duì)應(yīng)關(guān)系表,存儲(chǔ)內(nèi)容包括數(shù)據(jù)有效時(shí)間、標(biāo)志TS_DEVICEORIGVALUE_20XXXX斷點(diǎn)續(xù)傳原始數(shù)據(jù)表,XXXX代表年月,如TS_DEVICEORIGVALUE_201409WebService能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用無(wú)須借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。WebService是自描述、自包含的可用網(wǎng)絡(luò)模塊,可以執(zhí)行具體的業(yè)務(wù)功能,業(yè)務(wù)功能主要是與后臺(tái)服務(wù)器進(jìn)行通訊,獲取需要的實(shí)時(shí)數(shù)據(jù)。1.4參考資料編號(hào)資料名稱說(shuō)明1《EMSV1.31系統(tǒng)需求梳理整合4.xls》2《C++編程規(guī)范.doc》3《WXF-9000能源管理系統(tǒng)平臺(tái)軟件V1.1數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書V1.00.doc》2任務(wù)概述2.1目標(biāo)2.1.1服務(wù)模式公司基于“平臺(tái)戰(zhàn)略”提出的新一代能效管理+機(jī)電運(yùn)維軟件平臺(tái),目標(biāo)是建立一個(gè)高度開放的,可擴(kuò)展的,面向能源和數(shù)字機(jī)電大數(shù)據(jù)的運(yùn)營(yíng)支持平臺(tái),即建筑能源與設(shè)備運(yùn)維平臺(tái)EMS1.3平臺(tái)。在WXF整體戰(zhàn)略的驅(qū)動(dòng)下,EMS1.3系統(tǒng)研發(fā)的目標(biāo)定位是運(yùn)用物聯(lián)網(wǎng)(InternetofiThing,IoT)、大數(shù)據(jù)分析,依靠能源與機(jī)電設(shè)備管理兩大核心體系為支撐,以強(qiáng)弱電一體化監(jiān)控和大數(shù)據(jù)挖掘分析為基礎(chǔ),以運(yùn)維為核心理念,構(gòu)建新一代數(shù)字機(jī)電智慧運(yùn)維平臺(tái)系統(tǒng)。2.1.2總體目標(biāo)EMS1.3項(xiàng)目總體研制的功能模型如圖所示。系統(tǒng)向下遵循國(guó)家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)和企業(yè)內(nèi)部標(biāo)準(zhǔn)規(guī)定,接入計(jì)量?jī)x表、環(huán)境傳感、暖通空調(diào)、智能照明和樓宇自控等多種類型的底層設(shè)備,并通過這些底層設(shè)備實(shí)現(xiàn)對(duì)物理世界的感知和控制操作。對(duì)于應(yīng)用客戶,由客戶建設(shè)硬件基礎(chǔ)設(shè)施并安裝部署企業(yè)級(jí)系統(tǒng),接入數(shù)據(jù)進(jìn)行處理,并提供能效管理和設(shè)備運(yùn)維應(yīng)用服務(wù)??蛻糨^少投資額度而且以動(dòng)態(tài)靈活配置的方式使用EMS軟件服務(wù),平臺(tái)數(shù)據(jù)服務(wù)提供開放接口,可供第三方應(yīng)用開發(fā)者調(diào)用和研發(fā)新型應(yīng)用,并納入WXF整體的能效管理和設(shè)備運(yùn)維生態(tài)圈。2.2運(yùn)行環(huán)境2.2.1硬件環(huán)境服務(wù)器端-硬件環(huán)境類別要求備注CPU主頻2.4GHz或以上CPU內(nèi)核2核或以上內(nèi)存8.0GB或以上主機(jī)硬盤500GB或以上UPS2KVA及以上網(wǎng)卡100M或1000M客戶端-硬件環(huán)境類別要求備注CPU主頻2.0GHz或以上CPU內(nèi)核2核及以上內(nèi)存2.0GB或以上主機(jī)硬盤250GB或以上網(wǎng)卡100M或1000M2.2.2軟件環(huán)境軟件環(huán)境類別要求備注操作系統(tǒng)Windows2003/2008R232位企業(yè)版/WindowsXPSP3/Win732bit旗艦版數(shù)據(jù)庫(kù)MSSQLServer2008企業(yè)版(32bit)2.2.3開發(fā)環(huán)境軟件環(huán)境類別要求備注操作系統(tǒng)Windows2003/2008R232位企業(yè)版/WindowsXPSP3/Win732bit旗艦版數(shù)據(jù)庫(kù)MSSQLServer2008企業(yè)版(32bit)軟件開發(fā)平臺(tái)MicrosoftVisualStudio20082.3需求描述2.3.1統(tǒng)計(jì)需求2.3.1.1能耗統(tǒng)計(jì)設(shè)備、區(qū)域各類型能耗統(tǒng)計(jì)設(shè)備能耗統(tǒng)計(jì)(包括分類:電、水、氣;分項(xiàng):照明、空調(diào)、動(dòng)力、特殊及自定義類型,具體由現(xiàn)場(chǎng)確定);區(qū)域時(shí)能耗統(tǒng)計(jì)(包括分類:電、水、氣;分項(xiàng):照明、空調(diào)、動(dòng)力、特殊及自定義類型,具體由現(xiàn)場(chǎng)確定);能適應(yīng)靈活的統(tǒng)計(jì)時(shí)間顆粒。統(tǒng)計(jì)顆粒度包括(10、15、20、30、60、日、月)。統(tǒng)計(jì)對(duì)象包括設(shè)備能耗、區(qū)域能耗(區(qū)域是廣義的,包括業(yè)態(tài)、位置區(qū)域及擴(kuò)展的區(qū)域);2.3.1.2非能耗統(tǒng)計(jì)支持對(duì)電壓、電流、功率、溫度等非能耗數(shù)據(jù)的統(tǒng)計(jì)入庫(kù)。設(shè)備非能耗數(shù)據(jù)(1-Ua,2-Ub,3-Uc,4-Uab,5-Ubc,6-Uca,7-有功功率,8-無(wú)功功率,9-頻率,10-MIa,11-MIb,12-MIc,13-功率因素,15-正向無(wú)功電度,16-溫度,17-濕度,根據(jù)平臺(tái)配置需求而定);適應(yīng)靈活的非能耗數(shù)據(jù)統(tǒng)計(jì)時(shí)間顆粒。2.3.1.3費(fèi)用統(tǒng)計(jì)分時(shí)計(jì)費(fèi)支持區(qū)域、設(shè)備尖峰平谷費(fèi)用統(tǒng)計(jì);平價(jià)計(jì)費(fèi)支持區(qū)域、設(shè)備電平價(jià)費(fèi)用統(tǒng)計(jì);支持區(qū)域、設(shè)備水平價(jià)費(fèi)用統(tǒng)計(jì);階梯計(jì)費(fèi)支持區(qū)域、設(shè)備電階梯費(fèi)用統(tǒng)計(jì);支持區(qū)域、設(shè)備水階梯費(fèi)用統(tǒng)計(jì);2.3.2數(shù)據(jù)異常加工處理包括:異常數(shù)據(jù)的判斷及入庫(kù);異常數(shù)據(jù)的修復(fù);缺點(diǎn)數(shù)據(jù)的補(bǔ)錄。2.3.3斷點(diǎn)續(xù)傳統(tǒng)計(jì)服務(wù)現(xiàn)場(chǎng)通訊管理機(jī)與后臺(tái)系統(tǒng)斷鏈后,數(shù)據(jù)保存于管理機(jī)中。當(dāng)重新建鏈后,后臺(tái)接收斷點(diǎn)數(shù)據(jù)并存儲(chǔ)。斷點(diǎn)繼傳統(tǒng)計(jì)服務(wù)將斷點(diǎn)相關(guān)的設(shè)備、區(qū)域重新統(tǒng)計(jì)入庫(kù)。對(duì)于數(shù)據(jù)異常修復(fù)的點(diǎn),統(tǒng)計(jì)服務(wù)重新統(tǒng)計(jì)入庫(kù)。2.3.3非功能需求本節(jié)記錄對(duì)概要設(shè)計(jì)具有重要影響的軟件需求和約束,描述相關(guān)的重要決策和決策的原因。這些決策一般對(duì)設(shè)計(jì)有很大影響,它們的改變很難通過設(shè)計(jì)技巧來(lái)屏蔽,例如所選用的開發(fā)語(yǔ)言,所選用的平臺(tái)、組件和框架,對(duì)關(guān)鍵業(yè)務(wù),類和方法的處理等。2.3.3.1性能需求1、監(jiān)測(cè)和分析1、監(jiān)測(cè)性能1開關(guān)量變位傳送時(shí)間(采集器到系統(tǒng)頁(yè)面)≤3s2模擬量數(shù)據(jù)刷新時(shí)間(采集器到系統(tǒng)頁(yè)面)≤3s3告警刷新時(shí)間(采集器到系統(tǒng)頁(yè)面)≤3s4歷史數(shù)據(jù)庫(kù)采樣數(shù)據(jù)點(diǎn)間隔10分鐘~1天,可調(diào)2、分析性能1頁(yè)面切換、調(diào)用響應(yīng)時(shí)間≤3s2統(tǒng)計(jì)性數(shù)據(jù)查詢響應(yīng)時(shí)間≤10s3分析性數(shù)據(jù)查詢響應(yīng)時(shí)間≤10s4診斷性數(shù)據(jù)查詢響應(yīng)時(shí)間≤10s2、控制類N/A1定時(shí)控制組≤100個(gè)2定時(shí)控制組中的項(xiàng)≤100個(gè)3聯(lián)動(dòng)控制組≤100個(gè)4聯(lián)動(dòng)控制項(xiàng)≤100個(gè)5聯(lián)動(dòng)條件檢查周期≤3s6控制執(zhí)行時(shí)間≤3s7控制操作正確率≥99.9%3、負(fù)荷率N/A1服務(wù)器CPU平均負(fù)荷率(正常運(yùn)行任意30min內(nèi))≤30%2服務(wù)器CPU平均負(fù)荷率(系統(tǒng)故障10s內(nèi))≤50%3網(wǎng)絡(luò)負(fù)荷率(正常運(yùn)行任意30min內(nèi))≤20%4網(wǎng)絡(luò)負(fù)荷率(系統(tǒng)故障10s內(nèi))≤30%2.3.3.2可擴(kuò)展性需求2.3.3.3可測(cè)試性需求測(cè)試用例1測(cè)試用例22.3.3.4可維護(hù)性需求2.3.3.5容量需求1、系統(tǒng)容量N/A1實(shí)時(shí)數(shù)據(jù)庫(kù)支持的數(shù)據(jù)點(diǎn)總數(shù)(單套服務(wù)器)≤150,000點(diǎn)2實(shí)時(shí)數(shù)據(jù)庫(kù)支持的遙控≤5,000點(diǎn)3實(shí)時(shí)數(shù)據(jù)庫(kù)支持的計(jì)算量≤2,000點(diǎn)4歷史數(shù)據(jù)庫(kù)采樣數(shù)據(jù)點(diǎn)個(gè)數(shù)≤50,000點(diǎn)5存儲(chǔ)時(shí)間≥10年6數(shù)據(jù)采集器數(shù)量≤100個(gè)1、歷史采樣數(shù)據(jù)存儲(chǔ)容量為128000點(diǎn),應(yīng)用服務(wù)程序做好兼容大于128000點(diǎn)數(shù)據(jù)的功能,平臺(tái)預(yù)留接口,以備以后擴(kuò)展;2、前置、后臺(tái)斷點(diǎn)續(xù)傳的數(shù)據(jù)以15分鐘間隔存儲(chǔ)離線數(shù)據(jù),可存儲(chǔ)至少一個(gè)月的數(shù)據(jù);3、實(shí)時(shí)數(shù)據(jù)庫(kù)支持的遙控 <=5000個(gè);4、歷史數(shù)據(jù)存儲(chǔ)時(shí)間 >=3年;5、接入后臺(tái)的前置數(shù)據(jù) <=30個(gè)。2.4條件與限制對(duì)系統(tǒng)其它的一些條件和限制:1、對(duì)于一些公共的、經(jīng)常使用的代碼或函數(shù),避免頻繁復(fù)制,可封裝成公共類或庫(kù);2、代碼中做好注釋,避免無(wú)用注釋的出現(xiàn),以增加可維護(hù)性;3、盡量減少人工配置,增加默認(rèn)屬性,以增強(qiáng)易用性;4、代碼中盡量使用標(biāo)準(zhǔn)STL的內(nèi)容,以增加系統(tǒng)可移植性;5、做系統(tǒng)設(shè)計(jì)時(shí),盡量考慮以前老版本的功能,以增加系統(tǒng)的兼容性。6、經(jīng)過WebService服務(wù)程序到后臺(tái)服務(wù)器讀取10000個(gè)配置點(diǎn)以內(nèi)的數(shù)據(jù)時(shí)間<=5秒; 7、B/S組態(tài)圖形軟件獲取<500個(gè)實(shí)時(shí)數(shù)據(jù)值時(shí),從發(fā)出請(qǐng)求到數(shù)據(jù)返回時(shí)間<=3秒; 8、128000個(gè)采樣數(shù)據(jù)點(diǎn)在保存到數(shù)據(jù)庫(kù)表的時(shí)間<=120秒(此時(shí)間有點(diǎn)長(zhǎng),需要進(jìn)一步優(yōu)化); 9、模擬量、脈沖量、開關(guān)量總數(shù)在<=150000時(shí),主備服務(wù)器切換的時(shí)間<=30秒;10、從WebService下發(fā)控制命令到前端設(shè)備動(dòng)作的時(shí)間<=3秒。3總體設(shè)計(jì)3.1總體結(jié)構(gòu)系統(tǒng)采用三層C/S或B/S架構(gòu),其中數(shù)據(jù)采集層的功能是通過各個(gè)數(shù)據(jù)采集器、OPC服務(wù)器、其它系統(tǒng)將底層各種物理設(shè)備、傳感器、其它系統(tǒng)數(shù)據(jù)接入,通過企業(yè)內(nèi)部傳輸協(xié)議將數(shù)據(jù)統(tǒng)一上傳給平臺(tái)處理層。平臺(tái)處理層的功能為,收到采集設(shè)備數(shù)據(jù),經(jīng)過規(guī)約轉(zhuǎn)換,數(shù)據(jù)進(jìn)入實(shí)時(shí)庫(kù),提供告警、數(shù)據(jù)修復(fù)、二次采樣入庫(kù)、數(shù)據(jù)基礎(chǔ)分析功能,并將分析、處理之后的數(shù)據(jù)錄入歷史數(shù)據(jù)庫(kù)。業(yè)務(wù)展現(xiàn)層的功能為,從平臺(tái)側(cè)實(shí)時(shí)庫(kù)和歷史庫(kù)獲取相關(guān)信息,支持配電、能管、照明、計(jì)費(fèi)、環(huán)境監(jiān)控、設(shè)備運(yùn)維等業(yè)務(wù)功能,為用戶提供專業(yè)服務(wù)。3.2業(yè)務(wù)方案 整個(gè)系統(tǒng)由前置機(jī)、主備模式、數(shù)據(jù)庫(kù)服務(wù)器、WEB只讀數(shù)據(jù)庫(kù)、防火墻(如果有的話)組成。對(duì)于前置上送的實(shí)時(shí)數(shù)據(jù)、斷點(diǎn)數(shù)據(jù),后臺(tái)服務(wù)器保存到歷史采樣表中,歷史服務(wù)程序定時(shí)對(duì)數(shù)據(jù)進(jìn)行異常判斷、對(duì)數(shù)據(jù)進(jìn)行修復(fù),由MSSQL自帶的同步功能(SQL2008或以上版本)把歷史采樣數(shù)據(jù)同步到WEB數(shù)據(jù)庫(kù)(只讀)中,以便在中間加入防火墻進(jìn)行隔離。當(dāng)B/S客戶端有數(shù)據(jù)修改時(shí),通過WebService服務(wù)把數(shù)據(jù)寫入后臺(tái)數(shù)據(jù)庫(kù)中。 數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)采用配置數(shù)據(jù)、歷史采樣數(shù)據(jù)分文件的方式,減少對(duì)某個(gè)磁盤I/O的頻繁訪問;由于歷史采樣數(shù)據(jù)、加工后的數(shù)據(jù)量較大,采用分區(qū)表的方式,提高查詢效率。 4模塊設(shè)計(jì)4.1統(tǒng)計(jì)服務(wù)4.1.1區(qū)域設(shè)備映射配置4.1.1.1功能描述區(qū)域映射配置是為了建立區(qū)域與設(shè)備關(guān)聯(lián)關(guān)系。在EMSV1.3版本中采用的是在在WEB端配置,并將配置信息存入?yún)^(qū)域設(shè)備映射表中。此方式在區(qū)域底下掛有很多設(shè)備時(shí),設(shè)備集合字符串過長(zhǎng),由于平臺(tái)緩存做限定,就會(huì)導(dǎo)致解析錯(cuò)誤,并且當(dāng)映射表?xiàng)l數(shù)很多時(shí),讀取也會(huì)耗時(shí)很多。因此在V1.3版本中將統(tǒng)計(jì)映射配置信息生成放在C/S端,通過建立一線程,專門進(jìn)行配置信息的生成。4.1.1.2業(yè)務(wù)處理流程5.1.2.3配置文件說(shuō)明WXF-9000安裝文件夾下parameter/BaseAreaDevConfig.ini參數(shù)配置文件名:BaseAreaDevConfig.ini路徑: <當(dāng)前程序工作路徑>\parameter\內(nèi)容:[EnableCfg]DataCfg=1[DataUnionCfg]1=01000:1,2,3,41=02000:5,6,7說(shuō)明:DataCfg=11表示配置信息有效1=01000:1,2,3,4;設(shè)置1代表區(qū)域id,01000是分類分項(xiàng)代碼,1,2,3,4是設(shè)備集合。4.1.2能耗/非能耗統(tǒng)計(jì)統(tǒng)計(jì)服務(wù)首先加載統(tǒng)計(jì)配置信息,包括統(tǒng)計(jì)顆粒度、統(tǒng)計(jì)類型、采樣配置、設(shè)備信息、區(qū)域信息,建立統(tǒng)計(jì)信息生產(chǎn)隊(duì)列和消費(fèi)信息隊(duì)列。統(tǒng)計(jì)信息生產(chǎn)隊(duì)列包括能耗(電度、流量等)、非能耗(電壓、電流、溫度等);消費(fèi)隊(duì)列包括能耗處理、非能耗處理。4.1.2.1功能描述能耗統(tǒng)計(jì)包括區(qū)域、設(shè)備的能耗統(tǒng)計(jì),具體如下:區(qū)域(業(yè)態(tài)功能區(qū)、位置區(qū)域等)各分類分項(xiàng)統(tǒng)計(jì)顆粒度統(tǒng)計(jì);設(shè)備各分類分項(xiàng)統(tǒng)計(jì)顆粒度統(tǒng)計(jì);統(tǒng)計(jì)顆粒根據(jù)現(xiàn)場(chǎng)配置,統(tǒng)計(jì)顆粒度包括(10、15、20、30、60、日、月)。統(tǒng)計(jì)對(duì)象包括設(shè)備能耗、區(qū)域能耗(區(qū)域是廣義的,包括業(yè)態(tài)、位置區(qū)域及擴(kuò)展的區(qū)域,通過區(qū)域類型字段區(qū)分)、設(shè)備非能耗數(shù)據(jù)(1-Ua,2-Ub,3-Uc,4-Uab,5-Ubc,6-Uca,7-有功功率,8-無(wú)功功率,9-頻率,10-MIa,11-MIb,12-MIc,13-功率因素,15-正向無(wú)功電度,16-溫度,17-濕度,18-變壓器視在電度,19-冷凍站制冷量,20-鍋爐蒸汽量,21-制氧站的氧氣產(chǎn)出量,22-冷卻水等)4.1.2.2業(yè)務(wù)處理流程程序啟動(dòng)后,初始化統(tǒng)計(jì)信息,根據(jù)統(tǒng)計(jì)對(duì)象信息,建立統(tǒng)計(jì)隊(duì)列,以顆粒度類型建立一個(gè)處理線程,通過建立多線程并行處理數(shù)據(jù),當(dāng)統(tǒng)計(jì)顆粒時(shí)間到時(shí),從生產(chǎn)隊(duì)列獲取相應(yīng)時(shí)段的生產(chǎn)記錄進(jìn)行統(tǒng)計(jì)處理。區(qū)域統(tǒng)計(jì)在設(shè)備統(tǒng)計(jì)后進(jìn)行。能耗統(tǒng)計(jì)處理流程4.1.2.3相關(guān)信息表及字段獲取說(shuō)明分類分項(xiàng)信息分類分項(xiàng)是從TB_BECM_COUNTTYPE表DESCRIPTION字段獲取,關(guān)聯(lián)與設(shè)備分類分項(xiàng)統(tǒng)計(jì)、區(qū)域分類分項(xiàng)統(tǒng)計(jì);分類分項(xiàng)父節(jié)點(diǎn)通過PARENTID字段獲取,0表示最高級(jí);設(shè)備信息設(shè)備索引對(duì)應(yīng)TB_DEVICE中的ID;設(shè)備所屬父設(shè)備通過TB_DEVICE中的PARENTDEV字段獲取,0是最高級(jí)父節(jié)點(diǎn);設(shè)備是否是所屬區(qū)域總表標(biāo)志通過TB_DEVICE_PROPERTY中的DEVICE_HEAD_NUM;設(shè)備所屬區(qū)域通過TB_EMS_DEVICE_RELATION中CLASSID、AREAID;區(qū)域信息區(qū)域ID是從TB_AREA中ID是區(qū)域索引獲取;區(qū)域父節(jié)點(diǎn)通過PARENTID字段,0是最高級(jí)父區(qū)域;4.1.2.4統(tǒng)計(jì)步驟說(shuō)明加載統(tǒng)計(jì)顆粒表(TD_EMS_CountConfig)獲取統(tǒng)計(jì)顆粒;加載采樣類型表TD_EMS_CouWXFampleConfig;加載采樣配置對(duì)應(yīng)表TB_SAMPLE5MIN_EXT,獲取設(shè)備與采樣對(duì)應(yīng)表;加載區(qū)域(tb_area)及其區(qū)域關(guān)聯(lián)表(TB_EMS_DEVICE_RELATION),獲取區(qū)域相關(guān)信息;加載區(qū)域/設(shè)備映射關(guān)系臨時(shí)表BaseAreaDevConfig.ini,獲取區(qū)域所掛設(shè)備;通過記錄所在的設(shè)備ID到TB_SAMPLE5MIN_EXT找到對(duì)應(yīng)的5分鐘采樣表,獲取數(shù)據(jù),再找到顆粒度所需的另外5分鐘脈沖量值,進(jìn)行差值處理,同時(shí)到TS_M5_EXT_XXX找到這兩個(gè)數(shù)據(jù)點(diǎn)的數(shù)據(jù)有效性標(biāo)志,當(dāng)運(yùn)算完畢,組語(yǔ)句批量插入TS_EMS_TempData;其他設(shè)備顆粒度的步驟如上所述;當(dāng)設(shè)備同一時(shí)間所有的顆粒統(tǒng)計(jì)完后,觸發(fā)區(qū)域統(tǒng)計(jì);區(qū)域顆粒統(tǒng)計(jì)預(yù)先緩存相同顆粒的設(shè)備能耗;在緩存中處理統(tǒng)計(jì)區(qū)域數(shù)據(jù),存入歷史表。設(shè)其他區(qū)域顆粒度的步驟如上所述;當(dāng)批次處理完后,等待間隔時(shí)間,進(jìn)行下一輪批次處理。4.1.2.5統(tǒng)計(jì)區(qū)域?qū)ο箨P(guān)聯(lián)說(shuō)明區(qū)域統(tǒng)計(jì)采用直接與設(shè)備關(guān)聯(lián)方式;最底層區(qū)域,當(dāng)該區(qū)域有總表時(shí)直接用總表加,如無(wú)直接用子表累加;非底層區(qū)域:當(dāng)該區(qū)域有總表時(shí)直接用總表加,如無(wú)直接用子區(qū)域的表(注:子區(qū)域有總表就用總表,如無(wú)用子表)累加;5.1.2.6配置文件說(shuō)明WXF-9000安裝文件夾下parameter/emscfg.ini參數(shù)配置文件名:emscfg.ini路徑: <當(dāng)前程序工作路徑>\parameter\內(nèi)容:[COUNTCONFIG]DelayTime=70DayMonthTime=0,27MaxValue=99999999Max10MinValue=100000MaxHourValue=1000000說(shuō)明:DelayTime:延時(shí)統(tǒng)計(jì)時(shí)間,70表示70秒DayMonthTime:設(shè)置天、月統(tǒng)計(jì)時(shí)間,0,27表示天統(tǒng)計(jì)在零點(diǎn)27統(tǒng)計(jì),月統(tǒng)計(jì)在1點(diǎn)27統(tǒng)計(jì)。MaxValue設(shè)置最大原始值。Max10MinValue設(shè)置10分鐘統(tǒng)計(jì)數(shù)據(jù)最大值;Max10MinValue設(shè)置小時(shí)統(tǒng)計(jì)數(shù)據(jù)最大值。4.1.3費(fèi)用統(tǒng)計(jì)4.1.3.1功能描述費(fèi)用計(jì)量包括三種算法:分時(shí)計(jì)費(fèi)、平價(jià)計(jì)費(fèi)、階梯計(jì)費(fèi)。統(tǒng)計(jì)包括設(shè)備費(fèi)用統(tǒng)計(jì)、區(qū)域費(fèi)用統(tǒng)計(jì)(區(qū)域是廣義的,包括業(yè)態(tài)、位置區(qū)域及擴(kuò)展的區(qū)域)。(1)分時(shí)計(jì)費(fèi)分時(shí)計(jì)費(fèi)包括尖/峰/平/谷4種時(shí)段,每種時(shí)段都有各自的費(fèi)率,所有時(shí)段加起來(lái)是24小時(shí)。當(dāng)日分時(shí)計(jì)費(fèi)總費(fèi)用=峰電價(jià)*峰電量(峰時(shí)時(shí)段電量一天內(nèi)的累加和)+平電價(jià)*平電量(平時(shí)時(shí)段一天內(nèi)電量的累加和+谷電價(jià)*谷電量(谷時(shí)時(shí)段一天內(nèi)電量的累加和)+尖電價(jià)*尖電量(尖時(shí)時(shí)段一天內(nèi)電量的累加和);當(dāng)月總費(fèi)用:當(dāng)日分時(shí)總費(fèi)用累加。(2)平價(jià)計(jì)費(fèi)只有一種費(fèi)率,當(dāng)日計(jì)費(fèi)總費(fèi)用=平價(jià)費(fèi)用*當(dāng)日總能耗;當(dāng)月總費(fèi)用:當(dāng)月日累加;(3)階梯計(jì)費(fèi)階梯一般有三級(jí),目前支持以按月來(lái)結(jié)算。第一階梯為基數(shù)電量,此階梯內(nèi)電量較少,電價(jià)也較低,電價(jià)乘電量即電費(fèi)。第二階梯電量較高,電價(jià)也較高一些,在第一級(jí)電價(jià)基礎(chǔ)上加點(diǎn)價(jià);第三階梯電量更多,電價(jià)更高,在原電價(jià)基礎(chǔ)上加更多。舉例:假設(shè)第一檔是0~100,費(fèi)率0.5;第二檔是101~300,費(fèi)率0.55;第三檔是301~1000,費(fèi)率是0.7;某用戶4月耗電600度。第一檔費(fèi)用100*0.5=50;第二檔是200*0.55=110;第三檔是剩余電耗600-300=300,費(fèi)用為300*0.7=210;該月總費(fèi)用為:50+110+210=370;4.1.3..2業(yè)務(wù)處理流程程序啟動(dòng)后,初始化設(shè)備鏈表和區(qū)域鏈表,建立生產(chǎn)線程和計(jì)費(fèi)線程進(jìn)行費(fèi)用統(tǒng)計(jì)。費(fèi)用統(tǒng)計(jì)包括維度包括:設(shè)備和區(qū)域(位置區(qū)域、業(yè)態(tài)、自定義區(qū)域);設(shè)備鏈表中設(shè)備包括設(shè)備ID、設(shè)備分類分項(xiàng)、設(shè)備所屬費(fèi)率,當(dāng)設(shè)備入庫(kù)時(shí)間點(diǎn)到時(shí),從歷史庫(kù)中讀取所有設(shè)備能耗數(shù)據(jù),放入緩存,同時(shí)通過設(shè)備所屬費(fèi)率,算出該設(shè)備統(tǒng)計(jì)時(shí)間點(diǎn)的數(shù)據(jù);同一費(fèi)率類型設(shè)備加入相同鏈表;區(qū)域費(fèi)用通過之前配置的采集設(shè)備累加。4.1.3.3設(shè)備費(fèi)用統(tǒng)計(jì)從設(shè)備鏈表中取出對(duì)象,通過該對(duì)象所屬的計(jì)費(fèi)類型(從TB_EMS_DEVICE_PROPERTY中的DEVICE_ITEMCODE分類分項(xiàng)、PAYTYPE費(fèi)率類型),獲取費(fèi)率配置信息。當(dāng)計(jì)費(fèi)類型是分時(shí)計(jì)費(fèi),獲取到尖、峰、平、谷各時(shí)段的費(fèi)率及時(shí)間范圍(從TB_EMS_TIME_PERIOD_SET獲取),并從該設(shè)備的時(shí)表(TS_EMS_DataCenter_Device_Hour_xxxx)里獲取各時(shí)間段內(nèi)的能耗,算出該天的總費(fèi)用,存入天費(fèi)用歷史表(TS_EMS_FEE_DAY_XXXX)。當(dāng)是結(jié)算日,將該月各天分時(shí)階段費(fèi)用累計(jì)存入月歷史表(注:TS_EMS_FEE_MOUTH_XXXX為費(fèi)用月表,一年一張表)當(dāng)是平價(jià)計(jì)費(fèi)時(shí),從配置表中獲取對(duì)應(yīng)的費(fèi)率(TB_EMS_PAR_VALUE_SET),并從設(shè)備的天表(TS_EMS_DataCenter_Device_Day_XXXX,一年一張表)中獲取所查詢天的能耗,算出該天的總費(fèi)用。存入天費(fèi)用歷史表(TS_EMS_FEE_DAY_XXXX)。當(dāng)是結(jié)算日時(shí),從天的費(fèi)用歷史表中累加獲取該月的總費(fèi)用存入費(fèi)用月表(TS_EMS_FEE_MOUTH_XXXX為費(fèi)用月表,一年一張表)當(dāng)是階梯計(jì)費(fèi)時(shí),從配置表獲取對(duì)應(yīng)的費(fèi)率和階梯能耗范圍(TB_EMS_MULTI_STEP),另從設(shè)備能耗天表(TS_EMS_DATACENTER_DEVICE_DAY_XXXX)中獲取該月總能耗,通過總能耗在不同級(jí)別的階梯,算出該月的總費(fèi)用,并存入費(fèi)用月表(TS_EMS_FEE_MOUTH_XXXX為費(fèi)用月表,一年一張表)(注:階梯不需要存天的歷史費(fèi)用數(shù)據(jù))。4.1.3.4區(qū)域費(fèi)用統(tǒng)計(jì)當(dāng)計(jì)費(fèi)類型是分時(shí)計(jì)費(fèi),從配置表獲取對(duì)應(yīng)的費(fèi)率,從區(qū)域能耗表(TS_EMS_DataCenter_Area_Hour_XXXX)累加該區(qū)域各時(shí)段費(fèi)用算出該天的總費(fèi)用,存入天歷史表(TS_EMS_FEE_DAY_XXXX)。當(dāng)是結(jié)算日,將該月所有天費(fèi)用累計(jì)存入月費(fèi)用歷史表(TS_EMS_FEE_MOUTH為費(fèi)用月表)當(dāng)是平價(jià)計(jì)費(fèi)時(shí),從配置表中獲取對(duì)應(yīng)的費(fèi)率,并從區(qū)域的天表(TS_EMS_DataCenter_Area_DAY_XXXX)中獲取所查詢天的能耗,算出該天的總費(fèi)用,存入天歷史表(TS_EMS_FEE_DAY_XXXX)。當(dāng)是結(jié)算日時(shí),從天的費(fèi)用歷史表中累加獲取該月的總費(fèi)用存入月表(TS_EMS_FEE_MOUTH為費(fèi)用月表)當(dāng)是階梯計(jì)費(fèi)時(shí),從配置表獲取對(duì)應(yīng)的費(fèi)率和階梯能耗范圍,另從區(qū)域能耗天表(TS_EMS_DATACENTER_Area_DAY_XXXX)獲取該月總能耗,通過總能耗在不同級(jí)別的階梯,算出該月的總費(fèi)用,并存入費(fèi)用月表(TS_EMS_FEE_MOUTH_XXXX為費(fèi)用月表,一年一張表)(注:階梯不需要存天的歷史費(fèi)用數(shù)據(jù))。4.1.3.5配置文件說(shuō)明WXF-9000安裝文件夾下parameter/emscfg.ini參數(shù)配置文件名:emscfg.ini路徑: <當(dāng)前程序工作路徑>\parameter\內(nèi)容: [PAYCONFIG]Timedaycfg=1,38;Timemouthcfg=3,38;說(shuō)明:Timedaycfg=1,38;設(shè)置天入庫(kù)的時(shí)間,1,38是指凌晨的1點(diǎn)38分鐘天的費(fèi)用入庫(kù)Timemouthcfg=3,38;設(shè)置月費(fèi)用入庫(kù)時(shí)間,3,38指凌晨3點(diǎn)38分月的費(fèi)用入庫(kù),月的入庫(kù)時(shí)間要稍晚于天的入庫(kù)時(shí)間注意:月的入庫(kù)時(shí)間要稍晚于天的入庫(kù)時(shí)間。4.2數(shù)據(jù)異常判斷與修復(fù)4.2.1實(shí)現(xiàn)方案所有采樣數(shù)據(jù)保存在歷史采樣數(shù)據(jù)表之前后臺(tái)都會(huì)對(duì)其進(jìn)行異常數(shù)據(jù)的判斷,并且更新其標(biāo)志位,把異常數(shù)據(jù)備份到另外一張表中待修復(fù)。修復(fù)線程針對(duì)標(biāo)志為異常的數(shù)據(jù)進(jìn)行修復(fù),修復(fù)完成的數(shù)據(jù),直接在歷史采樣表(TS_M5_XXX)中更新;修復(fù)完成后,調(diào)用存儲(chǔ)過程,把數(shù)據(jù)保存一份到應(yīng)用開發(fā)部的臨時(shí)表中,以便做數(shù)據(jù)加工。修復(fù)算法1:其中負(fù)荷值為表頭讀數(shù),如X(d,ti)左側(cè)時(shí)刻的值找不到或X(dj,t)前一天的數(shù)據(jù)找不到,則一直往左時(shí)刻查找,如查找10天的數(shù)據(jù)都沒有,則此次不再修復(fù),待下一次繼續(xù);如X(d,ti)右側(cè)時(shí)刻的值找不到或X(dj,t)后一天的數(shù)據(jù),如查找1天的數(shù)據(jù)沒有,則此次不再修復(fù),待下一次再進(jìn)行修復(fù)。修復(fù)過程中,如修復(fù)出的數(shù)據(jù)有異常,如下一時(shí)刻的表頭值比上一次的小,則取出該異常點(diǎn)兩側(cè)時(shí)刻的值進(jìn)行平均。異常數(shù)據(jù)修復(fù)算法:修復(fù)當(dāng)前時(shí)間N天前開始的異常數(shù)據(jù),N可配置。修復(fù)順序?yàn)榘凑赵O(shè)備id正序以及采樣時(shí)間由遠(yuǎn)及近。找到與待修復(fù)數(shù)據(jù)時(shí)刻點(diǎn)前后距離最近時(shí)刻的兩個(gè)正常表頭值(沒有進(jìn)行修復(fù)過的表頭值),設(shè)前一正常時(shí)刻點(diǎn)為T1,當(dāng)前時(shí)刻點(diǎn)為T2,后一時(shí)間點(diǎn)為T3,若T3-T1小于等于一小時(shí),則該時(shí)刻點(diǎn)數(shù)據(jù)為X1+(X3-X1)*(T2-T1)/(T3-T1);否則在前一時(shí)刻的表頭值基礎(chǔ)上加上歷史平均值,作為當(dāng)前時(shí)刻的表頭值。歷史平均值獲取:該時(shí)段某個(gè)時(shí)間段內(nèi)平均值(時(shí)間段通過讀取配置文件獲?。?斷點(diǎn)數(shù)據(jù)修復(fù)算法: 取相鄰兩個(gè)斷點(diǎn)數(shù)據(jù)X1,X2,這兩個(gè)點(diǎn)是由文件解析得到的正確值,依次修復(fù)該兩點(diǎn)之間的中斷數(shù)據(jù),具體算法是:X1+(X2-X1)*N/T,其中N為該兩點(diǎn)之間任意滿足五分鐘顆粒度的時(shí)間點(diǎn)序號(hào),T為該兩點(diǎn)之間總共滿足五分鐘顆粒度的個(gè)數(shù)。例如:2015-04-1409:00:00和2015-04-1410:00:00兩個(gè)斷點(diǎn)的正常值分別為9000和9012,則2015-04-1409:15:00修復(fù)的能耗值為9000+12*3/12=9003。注:因通訊管理機(jī)存儲(chǔ)斷點(diǎn)數(shù)據(jù)頻率是15分鐘,對(duì)于后臺(tái)采樣來(lái)說(shuō),會(huì)有某些5分鐘采樣無(wú)法入庫(kù)。歷史補(bǔ)點(diǎn)數(shù)據(jù)算法:因某些原因,比如前置死機(jī),后臺(tái)宕機(jī)(無(wú)斷點(diǎn)數(shù)據(jù)情況)導(dǎo)致5分鐘采樣入庫(kù)缺失(或5分鐘采樣無(wú)變化),這會(huì)導(dǎo)致數(shù)據(jù)缺失或異常。歷史補(bǔ)點(diǎn)數(shù)據(jù)起始時(shí)間通過讀取配置文件方式獲取,通過查詢采樣時(shí)間獲取缺失采樣的時(shí)間,并加入緩存隊(duì)列,進(jìn)行數(shù)據(jù)補(bǔ)點(diǎn)。補(bǔ)點(diǎn)算法說(shuō)明:假設(shè)當(dāng)前要修復(fù)的時(shí)刻為T1,下一個(gè)5分鐘為T3,找到上一個(gè)有效的時(shí)間節(jié)點(diǎn)T2(T2-T1小于一個(gè)小時(shí),如果大于一個(gè)小時(shí),則要補(bǔ)點(diǎn)的時(shí)刻移至T2-5),獲取T3-T2歷史平均值(默認(rèn)一個(gè)星期,可配置),則T1原始值=T2基準(zhǔn)值+歷史平均值。注意:補(bǔ)點(diǎn)數(shù)據(jù)的前提是系統(tǒng)調(diào)試完畢,系統(tǒng)運(yùn)行正常一段時(shí)間,不然作為基準(zhǔn)點(diǎn)及歷史值都失去意義。對(duì)于4.2.2數(shù)據(jù)流程數(shù)據(jù)異常判斷 異常數(shù)據(jù)判斷是在后臺(tái)服務(wù)器保存至采樣表之前,進(jìn)行的,如為負(fù)值、比上次值小或極大值(本次值是上次值的10倍+1000),則初步修正為上次值,對(duì)異常的采樣數(shù)據(jù)會(huì)備份到異常采樣數(shù)據(jù)備份表(如TS_M5_ERROR_BAK)中,判斷的對(duì)象包括電度量、水表、氣表等讀數(shù)遞增的數(shù)據(jù),異常數(shù)據(jù)包括0值、負(fù)值、極大值、比上次值小,如判斷為異常,置標(biāo)志為1,并去除標(biāo)志2;如判斷數(shù)據(jù)為斷點(diǎn)續(xù)傳、且為正確的數(shù)據(jù),則調(diào)用存儲(chǔ)過程,把數(shù)據(jù)加入到應(yīng)用開發(fā)臨時(shí)表中。 數(shù)據(jù)修復(fù)采用單獨(dú)線程進(jìn)行,只進(jìn)行數(shù)據(jù)的修復(fù)。修復(fù)過程中,只修復(fù)標(biāo)志含有1(異常數(shù)據(jù))的數(shù)據(jù);如遇到1小時(shí)不變化的數(shù)據(jù),則跳過數(shù)據(jù)不修復(fù),等到下一個(gè)循環(huán)再修復(fù)。修復(fù)完成后,調(diào)用存儲(chǔ)過程把修復(fù)的數(shù)據(jù)加入到應(yīng)用開發(fā)臨時(shí)表中。數(shù)據(jù)補(bǔ)點(diǎn) 4.2.3數(shù)據(jù)庫(kù)表結(jié)構(gòu)異常采樣數(shù)據(jù)備份表(TS_M5_ERROR_BAK)字段名描述數(shù)據(jù)類型是否為空備注ID自增的索引號(hào)IntNOTNULL增量為1TIMEID時(shí)間(年、月、日、時(shí)、分、秒)SMALLDATETIMENULL與TS采樣表里的TIMEID一致SAMPLENO采樣號(hào)INTNullTb采樣表里的IDDEVICEID設(shè)備IDINTNULLTb_sample_ext_xxx表里的DEVICEIDSAMPLEVALUE采樣值FLOATNullTS采樣表里的數(shù)據(jù)值SAMPLETABLE所在的采樣表名稱,如TS_M5_003VARCHAR(50)NULLTb_sample_ext_xxx表里的SAMPLETABLENAMESAMPLECOLUMN所在的采樣表的列,如V012Varchar(32)NULLTb_sample_ext_xxx表里的SAMPLECOLUMNDATA_DT數(shù)據(jù)值FLOATNullTb_sample_ext_xxx表里的VXXX_DTDATA_FLAG時(shí)間(年、月、日、時(shí)、分、秒)DATETIMENULLTb_sample_ext_xxx表里的VXXX_FLAGSAMPLETYPE采樣類型INTNULLTb采樣配置表里的標(biāo)志字ISDEAL是否已修復(fù)過TINYTINTNOTNULL0-未修復(fù),1-已修復(fù)DESCRIPTION錯(cuò)誤描述VARCHAR(64)NULL如:極大值或突變值(上次值的10倍+1000),本次值=1500,上次值=10 其它表(小時(shí)、日、月、年采樣數(shù)據(jù)備份表)的表結(jié)構(gòu)和此表結(jié)構(gòu)一樣,在此不再贅述。該表用來(lái)備份待修復(fù)的數(shù)據(jù),包括數(shù)據(jù)值、數(shù)據(jù)有效時(shí)間等信息,防止在數(shù)據(jù)修復(fù)完成后,無(wú)法追溯之前的異常數(shù)據(jù)。4.3斷點(diǎn)續(xù)傳功能我們系統(tǒng)中既存的統(tǒng)計(jì)功能,是定時(shí)將前置采集到的設(shè)備用能的原始數(shù)據(jù)進(jìn)行分析、統(tǒng)計(jì),并把統(tǒng)計(jì)好的數(shù)據(jù)插入到新的數(shù)據(jù)表中。但是服務(wù)器如果遇到斷電、宕機(jī)等不可預(yù)知的因素。會(huì)導(dǎo)致采集到的原始數(shù)據(jù)未能夠被統(tǒng)計(jì)到,從而出現(xiàn)數(shù)據(jù)不對(duì)的情況。為了使這些被統(tǒng)計(jì)遺漏的數(shù)據(jù)能被統(tǒng)計(jì)到,我們就需要一個(gè)獨(dú)立的應(yīng)用服務(wù)來(lái)補(bǔ)充當(dāng)前既存統(tǒng)計(jì)服務(wù)的不足。另外前置機(jī)上送的數(shù)據(jù)有時(shí)候因受到外界干擾導(dǎo)致數(shù)據(jù)異常,這時(shí)需要需求平臺(tái)對(duì)其進(jìn)行修復(fù),當(dāng)平臺(tái)修復(fù)完后,應(yīng)用需對(duì)數(shù)據(jù)進(jìn)行重新修補(bǔ),保持?jǐn)?shù)據(jù)的完整及準(zhǔn)確性。4.3.1實(shí)現(xiàn)方案在程序啟動(dòng)時(shí),進(jìn)行初始化配置信息,包括:加載統(tǒng)計(jì)顆粒表(TD_EMS_CountConfig)獲取統(tǒng)計(jì)顆粒加載采樣類型表TD_EMS_CouWXFampleConfig加載采樣配置對(duì)應(yīng)表TB_SAMPLE5MIN_EXT,獲取設(shè)備與采樣對(duì)應(yīng)表加載區(qū)域/設(shè)備映射關(guān)系臨時(shí)表BaseAreaDevConfig.ini,獲取區(qū)域所掛設(shè)備在加載虛擬設(shè)備相關(guān)信息TB_EMS_DEVICE_PROPERTY,獲取虛擬設(shè)備操作流程:通過記錄所在的設(shè)備ID到TB_SAMPLE5MIN_EXT找到對(duì)應(yīng)的顆粒度采樣表,獲取數(shù)據(jù),再找到顆粒度所需的另外相鄰脈沖量值,進(jìn)行差值處理,并置標(biāo)志位,組語(yǔ)句批量插入TS_EMS_TempData數(shù)據(jù)獲取從(通過設(shè)備ID從TB_SAMPLE5MIN_EXT中對(duì)應(yīng)的SAMPLETABLENAME字段,COLUMNNAME字段獲取采樣信息,通過采樣信息從采樣表獲取對(duì)應(yīng)時(shí)間點(diǎn)的值),將能耗值存入TS_EMS_TempData 其他設(shè)備顆粒度的步驟如上所述;更新數(shù)據(jù)的過程為:依次判斷該設(shè)備當(dāng)前時(shí)刻是否滿足各個(gè)顆粒度(程序啟動(dòng)時(shí)初始化),若小于時(shí)顆粒度,則更新該設(shè)備的當(dāng)前顆粒度的能耗值,并且更新對(duì)應(yīng)區(qū)域的當(dāng)前顆粒度的能耗值;若滿足小時(shí)顆粒度,則更新該設(shè)備小時(shí)能耗值,天能耗值以及月能耗值,再對(duì)其關(guān)聯(lián)區(qū)域計(jì)算小時(shí)能耗值、天能耗值以及月能耗。4.3.2數(shù)據(jù)流程4.3.3數(shù)據(jù)庫(kù)表結(jié)構(gòu)TS_EMS_DEVICEORIGVALUE字段名描述數(shù)據(jù)類型是否為空備注SysNo自增IDBigIntNOTNULLPKF_DEVICEID設(shè)備IDintNOTNULLF_ORIGVALUE能耗值floatNOTNULLF_PointNumber點(diǎn)號(hào)intNOTNULLF_COLLECTTIME統(tǒng)計(jì)的時(shí)間datetimeNOTNULLF_ITEMCODE分類分項(xiàng)的代碼Varchar(5)NOTNULLF_STATE數(shù)據(jù)修復(fù)、斷點(diǎn)續(xù)傳處理的狀態(tài)intNOTNULLSampleType采樣類型intNOTNULL5數(shù)據(jù)庫(kù)說(shuō)明5.1.平臺(tái)表所列僅供參考,具體依據(jù)平臺(tái)最終版本來(lái)確定。5.1.1分鐘采樣表和標(biāo)識(shí)時(shí)間戳表TS_M5_EXT_XXX字段名描述數(shù)據(jù)類型是否為空備注ID自增IDIntNOTNULLPKDATETIME統(tǒng)計(jì)的時(shí)間datetimeNOTNULLV001V001最后一次正確數(shù)據(jù)的時(shí)間datetimeNOTNULLV001_FLAGV001變量是否有效tinyintNOTNULL...V128V128最后一次正確數(shù)據(jù)的時(shí)間datetimeNOTNULLV128_FLAGV128變量是否有效tinyintNOTNULL5.1.2TB_SAMPLETYPE采樣類型表字段名描述數(shù)據(jù)類型是否為空備注ID索引號(hào)IntNOTNULLPK,非自增CNAME描述VARCHAR(64)NOTNULLTYPE類型IntNOTNULLDESCRIPTION描述VARCHAR(128)NullTYPE的備注:1-Ua,2-Ub,3-Uc,4-Uab,5-Ubc,6-Uca,7-有功功率,8-無(wú)功功率,9-頻率,10-MIa,11-MIb,12-MIc,13-功率因素,14正向有功電度,15-正向無(wú)功電度,16-溫度,17-濕度,需要其它類型的,需要到苗升伍處統(tǒng)一申請(qǐng)及管理5.1.3采樣配置對(duì)應(yīng)表TB_SAMPLE5MIN_EXT字段名描述數(shù)據(jù)類型是否為空備注SAMPLENO采樣配置表的IDIntNOTNULLPKTABLENO表號(hào),參照tb_seed表的TABLENUM字段SmallintNULLRECORDNO索引號(hào),一般指脈沖量(tb_pulse)、模擬量(tb_ai)、開關(guān)量(tb_di)等表的IDIntNullDEVICEID設(shè)備表的IDIntNullSAMPLETABLENAME采樣號(hào)所在的表,如TS_M5_003Varchar(50)NullCOLUMNNAME采樣號(hào)所在表的列,如TS_M5_003表的V003列Varchar(32)NullSampleType采樣類型smallintNOTNULL5.1.4異常采樣數(shù)據(jù)備份表(TS_M5_ERROR_BAK)字段名描述數(shù)據(jù)類型是否為空備注ID自增的索引號(hào)IntNOTNULL增量為1TIMEID時(shí)間(年、月、日、時(shí)、分、秒)SMALLDATETIMENULL與TS采樣表里的TIMEID一致SAMPLENO采樣號(hào)INTNullTb采樣表里的IDDEVICEID設(shè)備IDINTNULLTb_sample_ext_xxx表里的DEVICEIDSAMPLEVALUE采樣值FLOATNullTS采樣表里的數(shù)據(jù)值SAMPLETABLE所在的采樣表名稱,如TS_M5_003VARCHAR(50)NULLTb_sample_ext_xxx表里的SAMPLETABLENAMESAMPLECOLUMN所在的采樣表的列,如V012Varchar(32)NULLTb_sample_ext_xxx表里的SAMPLECOLUMNDATA_DT數(shù)據(jù)值FLOATNullTb_sample_ext_xxx表里的VXXX_DTDATA_FLAG時(shí)間(年、月、日、時(shí)、分、秒)DATETIMENULLTb_sample_ext_xxx表里的VXXX_FLAGSAMPLETYPE采樣類型INTNULLTb采樣配置表里的標(biāo)志字ISDEAL是否已修復(fù)過TINYTINTNOTNULL0-未修復(fù),1-已修復(fù)DESCRIPTION錯(cuò)誤描述VARCHAR(64)NULL如:極大值或突變值(上次值的10倍+1000),本次值=1500,上次值=10 5.2應(yīng)用表5.2.1最小統(tǒng)計(jì)顆粒配置表TD_EMS_CountConfig字段名描述數(shù)據(jù)類型是否為空備注SysNo自增IDIntNOTNULLPKTimeType統(tǒng)計(jì)時(shí)間顆粒的類型IntNOTNULL10分鐘為2,15分鐘為3,20分鐘為4,30分鐘為6,60分鐘12,天為13,月為14TimeTypeName統(tǒng)計(jì)時(shí)間顆粒的名稱Varchar(250)NOTNULLIsMinCount是否是統(tǒng)計(jì)的最小時(shí)間顆粒IntNOTNULL1最小,0不是IsCount是否是需要統(tǒng)計(jì)的時(shí)間顆粒IntNOTNULL1是,0不是SampleType采樣類型smallintNOTNULL5.2.3能耗監(jiān)測(cè)WEB的統(tǒng)計(jì)的采樣類型表TD_EMS_CouWXFampleConfig字段名描述數(shù)據(jù)類型是否為空備注SysNo自增IDIntNOTNULLPKSampleType采樣類型smallintNOTNULLSampleName采樣的英文名Varchar(50)NOTNULLSampleChinieseName采樣的中文名Varchar(250)NOTNULLIsEnergy是否是能耗采樣類型int0不是,1是能耗5.2.4修復(fù)數(shù)據(jù)和斷點(diǎn)數(shù)據(jù)記錄表(TS_EMS_DEVICEORIGVALUE)供加工server讀取和寫入表字段名描述數(shù)據(jù)類型是否為空備注SysNo自增IDBigIntNOTNULLPKF_DEVICEID設(shè)備IDintNOTNULLF_ORIGVALUE能耗值fl

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論