一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法
【專利摘要】本發(fā)明涉及一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,用于對(duì)多棟建筑的能耗數(shù)據(jù)進(jìn)行統(tǒng)一存儲(chǔ)和查詢,其特征在于,該方法包括數(shù)據(jù)存儲(chǔ)過程和數(shù)據(jù)查詢過程,數(shù)據(jù)存儲(chǔ)過程針對(duì)每一個(gè)建筑分別啟動(dòng)一個(gè)監(jiān)聽線程,通過監(jiān)聽線程讀取數(shù)據(jù)消息隊(duì)列中的建筑能耗數(shù)據(jù),建筑能耗數(shù)據(jù)包括建筑歸屬和數(shù)據(jù)上傳時(shí)間,監(jiān)聽線程將建筑能耗數(shù)據(jù)寫入與其建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的數(shù)據(jù)庫文件,數(shù)據(jù)查詢過程針對(duì)查詢請(qǐng)求中的建筑歸屬和數(shù)據(jù)上傳時(shí)間,訪問并讀取對(duì)應(yīng)的數(shù)據(jù)庫文件,從而獲得需要的能耗數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明具硬件資源利用率高、初始化速度快、平臺(tái)運(yùn)行效率高、便于建筑能耗平臺(tái)的擴(kuò)展的優(yōu)點(diǎn)。
【專利說明】
一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種數(shù)據(jù)存儲(chǔ)和查詢方法,尤其是涉及一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法。
【背景技術(shù)】
[0002]在區(qū)域建筑能耗監(jiān)測(cè)平臺(tái)中,建筑能耗的存儲(chǔ)和訪問是一項(xiàng)重要的技術(shù)之一。由于是平臺(tái)級(jí)的應(yīng)用,上百棟甚至上千棟的建筑能耗數(shù)據(jù)匯總到平臺(tái),數(shù)據(jù)量在一段年數(shù)過后,數(shù)據(jù)的積累量是相當(dāng)驚人的。傳統(tǒng)的做法是用商業(yè)的關(guān)系型數(shù)據(jù)庫來實(shí)現(xiàn)大數(shù)據(jù)量的存儲(chǔ)和訪問,比如sql server及oracle數(shù)據(jù)庫集群,基本可以滿足一定規(guī)模的應(yīng)用需求,但是系統(tǒng)平臺(tái)的存儲(chǔ)擴(kuò)展成本非常高,維護(hù)也相當(dāng)復(fù)雜,不適合平臺(tái)規(guī)模迅速擴(kuò)張的平臺(tái)應(yīng)用,還有目前流行的大數(shù)據(jù)平臺(tái),例如hadoop,可滿足大數(shù)據(jù)存儲(chǔ),存儲(chǔ)成本不高,但是不適合在線實(shí)時(shí)查詢數(shù)據(jù),維護(hù)的人員素質(zhì)要求高;還有一些自由軟件的小型關(guān)系型數(shù)據(jù)庫同樣不能滿足大數(shù)據(jù)存儲(chǔ),高效訪問的平臺(tái)要求。
[0003]建筑能耗監(jiān)測(cè)平臺(tái)的特性是,所有的能耗數(shù)據(jù)都是通過能耗采集器上傳上來,數(shù)據(jù)內(nèi)容單一,但是數(shù)據(jù)量大,為了提高前臺(tái)的查詢速度,還必須對(duì)上傳能耗數(shù)據(jù)進(jìn)行匯總和統(tǒng)計(jì)處理,并生成相應(yīng)的能耗匯總數(shù)據(jù)。由于該平臺(tái)是一個(gè)面向運(yùn)維人員的系統(tǒng),系統(tǒng)前臺(tái)訪問量相對(duì)較少,前臺(tái)web系統(tǒng)訪問壓力不大,所以不用考慮高并發(fā)的問題,只要考慮單次秒級(jí)訪問即可。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種數(shù)據(jù)讀寫速度快、數(shù)據(jù)備份和維護(hù)方便的區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法。
[0005]本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
[0006]—種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,用于對(duì)多棟建筑的能耗數(shù)據(jù)進(jìn)行統(tǒng)一存儲(chǔ)和查詢,其特征在于,該方法包括數(shù)據(jù)存儲(chǔ)過程和數(shù)據(jù)查詢過程,所述的數(shù)據(jù)存儲(chǔ)過程針對(duì)每一個(gè)建筑分別啟動(dòng)一個(gè)監(jiān)聽線程,通過監(jiān)聽線程讀取數(shù)據(jù)消息隊(duì)列中的建筑能耗數(shù)據(jù),所述的建筑能耗數(shù)據(jù)包括建筑歸屬和數(shù)據(jù)上傳時(shí)間,監(jiān)聽線程將建筑能耗數(shù)據(jù)寫入與其建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的數(shù)據(jù)庫文件,所述的數(shù)據(jù)查詢過程針對(duì)查詢請(qǐng)求中的建筑歸屬和數(shù)據(jù)上傳時(shí)間,訪問并讀取對(duì)應(yīng)的數(shù)據(jù)庫文件,從而獲得需要的能耗數(shù)據(jù)。
[0007]所述的數(shù)據(jù)存儲(chǔ)過程通過以下步驟實(shí)現(xiàn):
[0008]Sll,針對(duì)每一個(gè)建筑分別啟動(dòng)一個(gè)監(jiān)聽線程;
[0009]S12,監(jiān)聽線程訪問數(shù)據(jù)消息隊(duì)列,若隊(duì)列中有建筑能耗數(shù)據(jù),進(jìn)入步驟S13,否則在設(shè)定的等待時(shí)長(zhǎng)后,返回本步驟起點(diǎn);
[0010]S13,監(jiān)聽線程讀取建筑能耗數(shù)據(jù)并對(duì)其進(jìn)行解析,獲取建筑歸屬和數(shù)據(jù)上傳時(shí)間,判斷數(shù)據(jù)上傳時(shí)間是否為整點(diǎn)或當(dāng)天24點(diǎn),若是,則進(jìn)入步驟S17,否則進(jìn)入步驟S14;
[0011]S14,監(jiān)聽線程將建筑能耗數(shù)據(jù)寫入與所述建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的瞬時(shí)儀表能耗數(shù)據(jù)庫文件;
[0012]S15,監(jiān)聽線程根據(jù)能耗導(dǎo)則將建筑能耗數(shù)據(jù)轉(zhuǎn)化成瞬時(shí)能耗導(dǎo)則數(shù)據(jù);
[0013]S16,監(jiān)聽線程將瞬時(shí)能耗導(dǎo)則數(shù)據(jù)寫入與所述建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的瞬時(shí)能耗導(dǎo)則數(shù)據(jù)庫文件,并返回步驟S12;
[0014]S17,監(jiān)聽線程計(jì)算出整點(diǎn)的小時(shí)累計(jì)能耗值或當(dāng)天的累計(jì)能耗值,并寫入與所述建筑歸屬和數(shù)據(jù)上傳時(shí)間對(duì)應(yīng)的小時(shí)或天儀表能耗數(shù)據(jù)庫文件;
[0015]S18,監(jiān)聽線程根據(jù)能耗導(dǎo)則將建筑能耗數(shù)據(jù)轉(zhuǎn)化成小時(shí)或天能耗導(dǎo)則數(shù)據(jù);
[0016]S19,監(jiān)聽線程將小時(shí)或天能耗導(dǎo)則數(shù)據(jù)寫入與所述建筑歸屬和數(shù)據(jù)上傳時(shí)間對(duì)應(yīng)的小時(shí)或天能耗導(dǎo)則數(shù)據(jù)庫文件,并返回步驟S12。
[0017]所述的步驟S14、S16、S17和S19中,若對(duì)應(yīng)數(shù)據(jù)庫文件不存在,則監(jiān)聽線程動(dòng)態(tài)生成對(duì)應(yīng)數(shù)據(jù)庫文件后,再將數(shù)據(jù)寫入對(duì)應(yīng)數(shù)據(jù)庫文件。
[0018]所述的步驟S12中,所述的等待時(shí)長(zhǎng)與建筑能耗數(shù)據(jù)上傳至數(shù)據(jù)消息隊(duì)列的最小周期相同。
[0019]所述的步驟S13中,所述的數(shù)據(jù)上傳時(shí)間精確到I分鐘。
[0020]所述的數(shù)據(jù)上傳時(shí)間所在時(shí)間段根據(jù)小時(shí)單位的數(shù)值判斷。
[0021 ]所述的數(shù)據(jù)查詢過程通過以下步驟實(shí)現(xiàn):
[0022]S21,查詢客戶端向查詢處理引擎提交查詢請(qǐng)求;
[0023]S22,查詢處理引擎收到查詢請(qǐng)求后對(duì)其進(jìn)行解析,得到查詢條件,包括建筑歸屬、數(shù)據(jù)類型和數(shù)據(jù)覆蓋的時(shí)間段;
[0024]S23,訪問符合查詢條件的至少一個(gè)數(shù)據(jù)庫文件,并從中讀取要查詢的數(shù)據(jù);
[0025]S24,將查詢到的數(shù)據(jù)發(fā)送給查詢客戶端,若數(shù)據(jù)為多個(gè),則先進(jìn)行數(shù)據(jù)拼接。
[0026]所述的建筑歸屬指建筑的編號(hào)或編碼,所述的數(shù)據(jù)類型為瞬時(shí)儀表能耗數(shù)據(jù)、瞬時(shí)能耗導(dǎo)則數(shù)據(jù)、小時(shí)或天儀表能耗數(shù)據(jù)或小時(shí)或天能耗導(dǎo)則數(shù)據(jù)中的一種。
[0027]所述的數(shù)據(jù)存儲(chǔ)過程和數(shù)據(jù)查詢過程分別通過數(shù)據(jù)存儲(chǔ)引擎和數(shù)據(jù)查詢引擎實(shí)現(xiàn),所述的數(shù)據(jù)存儲(chǔ)引擎和數(shù)據(jù)查詢引擎相互獨(dú)立。
[0028]所述的數(shù)據(jù)庫文件存儲(chǔ)在獨(dú)立于平臺(tái)的存儲(chǔ)器上。
[0029]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
[0030](I)建筑能耗數(shù)據(jù)包括建筑歸屬和數(shù)據(jù)上傳時(shí)間,用以將數(shù)據(jù)寫入與建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的數(shù)據(jù)庫文件,減小每個(gè)文件的大小,大大提高了數(shù)據(jù)的寫入及讀取速度;針對(duì)每一個(gè)建筑分別啟動(dòng)一個(gè)監(jiān)聽線程,提高平臺(tái)運(yùn)行效率,便于建筑能耗平臺(tái)的擴(kuò)展。
[0031](2)將建筑能耗數(shù)據(jù)分為四類,分別為瞬時(shí)儀表能耗數(shù)據(jù)、瞬時(shí)能耗導(dǎo)則數(shù)據(jù)、小時(shí)或天儀表能耗數(shù)據(jù)或小時(shí)或天能耗導(dǎo)則數(shù)據(jù),在數(shù)據(jù)寫入之前就進(jìn)行歸類或轉(zhuǎn)化,合理利用兩次數(shù)據(jù)上傳時(shí)間之間的間隔,提高平臺(tái)的硬件資源利用效率。
[0032](3)若數(shù)據(jù)寫入時(shí),對(duì)應(yīng)數(shù)據(jù)庫文件不存在,則監(jiān)聽線程動(dòng)態(tài)生成對(duì)應(yīng)數(shù)據(jù)庫文件后,再將數(shù)據(jù)寫入對(duì)應(yīng)數(shù)據(jù)庫文件,提高平臺(tái)初始化速度。
[0033](4)訪問數(shù)據(jù)消息隊(duì)列的等待時(shí)長(zhǎng)與建筑能耗數(shù)據(jù)上傳至數(shù)據(jù)消息隊(duì)列的最小周期相同,即與能耗數(shù)據(jù)采集的周期相適應(yīng),避免不必要的數(shù)據(jù)訪問。
[0034](5)數(shù)據(jù)存儲(chǔ)過程和數(shù)據(jù)查詢過程分別通過相互獨(dú)立的數(shù)據(jù)存儲(chǔ)引擎和數(shù)據(jù)查詢引擎實(shí)現(xiàn),便于開發(fā)人員的開發(fā)工作。
[0035](6)數(shù)據(jù)庫文件獨(dú)立存在于平臺(tái)之外,數(shù)據(jù)查詢引擎在平臺(tái)上,數(shù)據(jù)的備份和維護(hù)非常方便,只需拷貝和恢復(fù)相應(yīng)的文件就可以達(dá)到備份和恢復(fù)數(shù)據(jù)的需求。
【附圖說明】
[0036]圖1為本發(fā)明方法中數(shù)據(jù)存儲(chǔ)過程的流程示意圖;
[0037]圖2為本發(fā)明方法中數(shù)據(jù)查詢過程的流程示意圖。
【具體實(shí)施方式】
[0038]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。本實(shí)施例以本發(fā)明技術(shù)方案為前提進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
[0039]實(shí)施例
[0040]—種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,用于對(duì)多棟建筑的能耗數(shù)據(jù)進(jìn)行統(tǒng)一存儲(chǔ)和查詢,該方法包括數(shù)據(jù)存儲(chǔ)過程和數(shù)據(jù)查詢過程,數(shù)據(jù)存儲(chǔ)過程針對(duì)每一個(gè)建筑分別啟動(dòng)一個(gè)監(jiān)聽線程,通過監(jiān)聽線程讀取數(shù)據(jù)消息隊(duì)列中的建筑能耗數(shù)據(jù),建筑能耗數(shù)據(jù)包括建筑歸屬和數(shù)據(jù)上傳時(shí)間,監(jiān)聽線程將建筑能耗數(shù)據(jù)寫入與其建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的數(shù)據(jù)庫文件,數(shù)據(jù)查詢過程針對(duì)查詢請(qǐng)求中的建筑歸屬和數(shù)據(jù)上傳時(shí)間,訪問并讀取對(duì)應(yīng)的數(shù)據(jù)庫文件,從而獲得需要的能耗數(shù)據(jù)。
[0041]如圖1所示,數(shù)據(jù)存儲(chǔ)過程通過以下步驟實(shí)現(xiàn):
[0042]Sll,針對(duì)每一個(gè)建筑分別啟動(dòng)一個(gè)監(jiān)聽線程;
[0043]S12,監(jiān)聽線程訪問數(shù)據(jù)消息隊(duì)列,若隊(duì)列中有建筑能耗數(shù)據(jù),進(jìn)入步驟S13,否則在設(shè)定的等待時(shí)長(zhǎng)后,返回本步驟起點(diǎn);等待時(shí)長(zhǎng)與建筑能耗數(shù)據(jù)上傳至數(shù)據(jù)消息隊(duì)列的最小周期相同,因?yàn)閿?shù)據(jù)上傳間隔基本在I分鐘到5分鐘,所以待處理的消息隊(duì)列如果為空的話,默認(rèn)等待一分鐘,也可通過參數(shù)設(shè)置成其他時(shí)間間隔;
[0044]S13,監(jiān)聽線程讀取建筑能耗數(shù)據(jù)并對(duì)其進(jìn)行解析,獲取建筑歸屬和數(shù)據(jù)上傳時(shí)間,判斷數(shù)據(jù)上傳時(shí)間是否為整點(diǎn)或當(dāng)天24點(diǎn),若是,則進(jìn)入步驟S17,否則進(jìn)入步驟S14;數(shù)據(jù)上傳時(shí)間精確到I分鐘,即數(shù)據(jù)上傳時(shí)間判斷時(shí),根據(jù)分鐘單位的數(shù)值來判斷,滿足能耗分析的精度要求,避免過多計(jì)算。
[0045]S14,監(jiān)聽線程將建筑能耗數(shù)據(jù)寫入與建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的瞬時(shí)儀表能耗數(shù)據(jù)庫文件;數(shù)據(jù)上傳時(shí)間所在時(shí)間段根據(jù)其小時(shí)單位的數(shù)值進(jìn)行判斷,例如;
[0046]S15,監(jiān)聽線程根據(jù)能耗導(dǎo)則將建筑能耗數(shù)據(jù)轉(zhuǎn)化成瞬時(shí)能耗導(dǎo)則數(shù)據(jù);
[0047]S16,監(jiān)聽線程將瞬時(shí)能耗導(dǎo)則數(shù)據(jù)寫入與建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的瞬時(shí)能耗導(dǎo)則數(shù)據(jù)庫文件,并返回步驟S12;
[0048]S17,監(jiān)聽線程計(jì)算出整點(diǎn)的小時(shí)累計(jì)能耗值或當(dāng)天的累計(jì)能耗值,并寫入與所述建筑歸屬和數(shù)據(jù)上傳時(shí)間對(duì)應(yīng)的小時(shí)或天儀表能耗數(shù)據(jù)庫文件;對(duì)于小時(shí)累計(jì)能耗值的計(jì)算,可先查詢已有的瞬時(shí)儀表能耗數(shù)據(jù)庫文件中的數(shù)據(jù),讀取所需要的數(shù)據(jù);對(duì)于當(dāng)天的累計(jì)能耗值的計(jì)算,可先查詢已有應(yīng)的小時(shí)或天儀表能耗數(shù)據(jù)庫文件,讀取所需要的小時(shí)累計(jì)能耗值數(shù)據(jù),進(jìn)行累加計(jì)算;
[0049]S18,監(jiān)聽線程根據(jù)能耗導(dǎo)則將建筑能耗數(shù)據(jù)轉(zhuǎn)化成小時(shí)或天能耗導(dǎo)則數(shù)據(jù);
[0050]S19,監(jiān)聽線程將小時(shí)或天能耗導(dǎo)則數(shù)據(jù)寫入與建筑歸屬和數(shù)據(jù)上傳時(shí)間對(duì)應(yīng)的小時(shí)或天能耗導(dǎo)則數(shù)據(jù)庫文件,并返回步驟S12。
[0051]步驟S14、S16、S17和S19中,若對(duì)應(yīng)數(shù)據(jù)庫文件不存在,則監(jiān)聽線程動(dòng)態(tài)生成對(duì)應(yīng)數(shù)據(jù)庫文件后,再將數(shù)據(jù)寫入對(duì)應(yīng)數(shù)據(jù)庫文件,減少平臺(tái)初始化時(shí)的工作量。
[0052]在數(shù)據(jù)存儲(chǔ)過程中,監(jiān)聽線程上限數(shù)可通過參數(shù)配置,根據(jù)機(jī)器的性能,特別是硬盤的讀寫速度,原則上不操過500個(gè),超過后,可通過增加服務(wù)器在增加一個(gè)數(shù)據(jù)存儲(chǔ)引擎,來均衡處理負(fù)載;對(duì)各數(shù)據(jù)庫文件的寫操作之前的訪問,采用路由訪問,路由訪問適用于擴(kuò)展性強(qiáng)的平臺(tái)網(wǎng)絡(luò);建筑能耗數(shù)據(jù)通過能耗監(jiān)測(cè)儀傳輸?shù)綌?shù)據(jù)消息隊(duì)列中,方式為無線傳輸或有線傳輸,優(yōu)選為便于進(jìn)行平臺(tái)擴(kuò)展的無線傳輸。
[0053 ] 如圖2所示,數(shù)據(jù)查詢過程通過以下步驟實(shí)現(xiàn):
[0054]S21,查詢客戶端向查詢處理引擎提交查詢請(qǐng)求;查詢客戶端可為手機(jī)、電腦等電子設(shè)備;
[0055]S22,查詢處理引擎收到查詢請(qǐng)求后對(duì)其進(jìn)行解析,得到查詢條件,包括建筑歸屬、數(shù)據(jù)類型和數(shù)據(jù)覆蓋的時(shí)間段;
[0056]S23,訪問符合查詢條件的至少一個(gè)數(shù)據(jù)庫文件,并從中讀取要查詢的數(shù)據(jù);
[0057]S24,將查詢到的數(shù)據(jù)發(fā)送給查詢客戶端,若數(shù)據(jù)為多個(gè),則先進(jìn)行數(shù)據(jù)拼接合并,再發(fā)送給查詢客戶端。
[0058]建筑歸屬指建筑的編號(hào)或編碼,數(shù)據(jù)類型為瞬時(shí)儀表能耗數(shù)據(jù)、瞬時(shí)能耗導(dǎo)則數(shù)據(jù)、小時(shí)或天儀表能耗數(shù)據(jù)或小時(shí)或天能耗導(dǎo)則數(shù)據(jù)中的一種。
[0059]數(shù)據(jù)存儲(chǔ)過程和數(shù)據(jù)查詢過程分別通過數(shù)據(jù)存儲(chǔ)引擎和數(shù)據(jù)查詢引擎實(shí)現(xiàn),數(shù)據(jù)存儲(chǔ)引擎和數(shù)據(jù)查詢引擎相互獨(dú)立;數(shù)據(jù)庫文件存儲(chǔ)在獨(dú)立于平臺(tái)的存儲(chǔ)器上,通過REST的接口,數(shù)據(jù)可以很方便的被讀取,所有復(fù)雜的操作都封裝到了數(shù)據(jù)查詢引擎里,方便了開發(fā)人員的開發(fā)工作。
[0060]本平臺(tái)對(duì)機(jī)器配置要求不高,IT的磁盤可以存儲(chǔ)200棟建筑10年的完整數(shù)據(jù),大大節(jié)約了硬件的投入。
【主權(quán)項(xiàng)】
1.一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,用于對(duì)多棟建筑的能耗數(shù)據(jù)進(jìn)行統(tǒng)一存儲(chǔ)和查詢,其特征在于,該方法包括數(shù)據(jù)存儲(chǔ)過程和數(shù)據(jù)查詢過程,所述的數(shù)據(jù)存儲(chǔ)過程針對(duì)每一個(gè)建筑分別啟動(dòng)一個(gè)監(jiān)聽線程,通過監(jiān)聽線程讀取數(shù)據(jù)消息隊(duì)列中的建筑能耗數(shù)據(jù),所述的建筑能耗數(shù)據(jù)包括建筑歸屬和數(shù)據(jù)上傳時(shí)間,監(jiān)聽線程將建筑能耗數(shù)據(jù)寫入與其建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的數(shù)據(jù)庫文件,所述的數(shù)據(jù)查詢過程針對(duì)查詢請(qǐng)求中的建筑歸屬和數(shù)據(jù)上傳時(shí)間,訪問并讀取對(duì)應(yīng)的數(shù)據(jù)庫文件,從而獲得需要的能耗數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,其特征在于,所述的數(shù)據(jù)存儲(chǔ)過程通過以下步驟實(shí)現(xiàn): SI I,針對(duì)每一個(gè)建筑分別啟動(dòng)一個(gè)監(jiān)聽線程; S12,監(jiān)聽線程訪問數(shù)據(jù)消息隊(duì)列,若隊(duì)列中有建筑能耗數(shù)據(jù),進(jìn)入步驟S13,否則在設(shè)定的等待時(shí)長(zhǎng)后,返回本步驟起點(diǎn); S13,監(jiān)聽線程讀取建筑能耗數(shù)據(jù)并對(duì)其進(jìn)行解析,獲取建筑歸屬和數(shù)據(jù)上傳時(shí)間,判斷數(shù)據(jù)上傳時(shí)間是否為整點(diǎn)或當(dāng)天24點(diǎn),若是,則進(jìn)入步驟S17,否則進(jìn)入步驟S14; S14,監(jiān)聽線程將建筑能耗數(shù)據(jù)寫入與所述建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的瞬時(shí)儀表能耗數(shù)據(jù)庫文件; S15,監(jiān)聽線程根據(jù)能耗導(dǎo)則將建筑能耗數(shù)據(jù)轉(zhuǎn)化成瞬時(shí)能耗導(dǎo)則數(shù)據(jù); S16,監(jiān)聽線程將瞬時(shí)能耗導(dǎo)則數(shù)據(jù)寫入與所述建筑歸屬和數(shù)據(jù)上傳時(shí)間所在時(shí)間段對(duì)應(yīng)的瞬時(shí)能耗導(dǎo)則數(shù)據(jù)庫文件,并返回步驟S12; S17,監(jiān)聽線程計(jì)算出整點(diǎn)的小時(shí)累計(jì)能耗值或當(dāng)天的累計(jì)能耗值,并寫入與所述建筑歸屬和數(shù)據(jù)上傳時(shí)間對(duì)應(yīng)的小時(shí)或天儀表能耗數(shù)據(jù)庫文件; S18,監(jiān)聽線程根據(jù)能耗導(dǎo)則將建筑能耗數(shù)據(jù)轉(zhuǎn)化成小時(shí)或天能耗導(dǎo)則數(shù)據(jù); S19,監(jiān)聽線程將小時(shí)或天能耗導(dǎo)則數(shù)據(jù)寫入與所述建筑歸屬和數(shù)據(jù)上傳時(shí)間對(duì)應(yīng)的小時(shí)或天能耗導(dǎo)則數(shù)據(jù)庫文件,并返回步驟S12。3.根據(jù)權(quán)利要求2所述的一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,其特征在于,所述的步驟S14、S16、S17和S19中,若對(duì)應(yīng)數(shù)據(jù)庫文件不存在,則監(jiān)聽線程動(dòng)態(tài)生成對(duì)應(yīng)數(shù)據(jù)庫文件后,再將數(shù)據(jù)寫入對(duì)應(yīng)數(shù)據(jù)庫文件。4.根據(jù)權(quán)利要求2所述的一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,其特征在于,所述的步驟S12中,所述的等待時(shí)長(zhǎng)與建筑能耗數(shù)據(jù)上傳至數(shù)據(jù)消息隊(duì)列的最小周期相同。5.根據(jù)權(quán)利要求2所述的一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,其特征在于,所述的步驟S13中,所述的數(shù)據(jù)上傳時(shí)間精確到I分鐘。6.根據(jù)權(quán)利要求1或2所述的一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,其特征在于,所述的數(shù)據(jù)上傳時(shí)間所在時(shí)間段根據(jù)小時(shí)單位的數(shù)值判斷。7.根據(jù)權(quán)利要求2所述的一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,其特征在于,所述的數(shù)據(jù)查詢過程通過以下步驟實(shí)現(xiàn): S21,查詢客戶端向查詢處理引擎提交查詢請(qǐng)求; S22,查詢處理引擎收到查詢請(qǐng)求后對(duì)其進(jìn)行解析,得到查詢條件,包括建筑歸屬、數(shù)據(jù)類型和數(shù)據(jù)覆蓋的時(shí)間段; S23,訪問符合查詢條件的至少一個(gè)數(shù)據(jù)庫文件,并從中讀取要查詢的數(shù)據(jù); S24,將查詢到的數(shù)據(jù)發(fā)送給查詢客戶端。8.根據(jù)權(quán)利要求7所述的一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,其特征在于,所述的建筑歸屬指建筑的編號(hào)或編碼,所述的數(shù)據(jù)類型為瞬時(shí)儀表能耗數(shù)據(jù)、瞬時(shí)能耗導(dǎo)則數(shù)據(jù)、小時(shí)或天儀表能耗數(shù)據(jù)或小時(shí)或天能耗導(dǎo)則數(shù)據(jù)中的一種。9.根據(jù)權(quán)利要求1所述的一種區(qū)域建筑能耗平臺(tái)數(shù)據(jù)存儲(chǔ)和查詢方法,其特征在于,所述的數(shù)據(jù)存儲(chǔ)過程和數(shù)據(jù)查詢過程分別通過數(shù)據(jù)存儲(chǔ)引擎和數(shù)據(jù)查詢引擎實(shí)現(xiàn),所述的數(shù)據(jù)存儲(chǔ)弓I擎和數(shù)據(jù)查詢弓I擎相互獨(dú)立。
【文檔編號(hào)】G06F17/30GK105912621SQ201610213019
【公開日】2016年8月31日
【申請(qǐng)日】2016年4月7日
【發(fā)明人】王興榮, 曹文龍
【申請(qǐng)人】上海上實(shí)龍創(chuàng)智慧能源科技股份有限公司