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

數(shù)據(jù)采集系統(tǒng)及其方法與流程

文檔序號(hào):12177317閱讀:1248來源:國(guó)知局
數(shù)據(jù)采集系統(tǒng)及其方法與流程

本發(fā)明涉及數(shù)據(jù)采集技術(shù)領(lǐng)域,具體為一種數(shù)據(jù)采集系統(tǒng)及其方法。



背景技術(shù):

近年來,隨著計(jì)算機(jī)、物聯(lián)網(wǎng)等相關(guān)技術(shù)領(lǐng)域的長(zhǎng)足發(fā)展,在包括生產(chǎn)和生活在內(nèi)的社會(huì)活動(dòng)層面里,使用了大量產(chǎn)生數(shù)據(jù)的傳感器和其它產(chǎn)生數(shù)據(jù)的軟硬件設(shè)備,這些數(shù)據(jù)為國(guó)民生產(chǎn)和日常生活帶來了極大的價(jià)值。伴隨產(chǎn)生數(shù)據(jù)的裝置設(shè)備數(shù)量的逐漸增加,特別是其中的一些物聯(lián)網(wǎng)設(shè)備具有運(yùn)行時(shí)間長(zhǎng)、數(shù)據(jù)產(chǎn)生頻率高、實(shí)時(shí)性強(qiáng)和數(shù)據(jù)量巨大等屬性,為數(shù)據(jù)采集、實(shí)時(shí)展示以及后續(xù)的數(shù)據(jù)分析帶來了很大的技術(shù)難題。面對(duì)這些技術(shù)難題,現(xiàn)有的數(shù)據(jù)采集技術(shù)不能有效解決,具體情況如下:面對(duì)大量的高頻并發(fā)數(shù)據(jù)采集需求,現(xiàn)有數(shù)據(jù)采集技術(shù)一般從兩個(gè)技術(shù)方向進(jìn)行展開:在硬件方向上,采用計(jì)算機(jī)集群架構(gòu)方式,增加大量的數(shù)據(jù)處理設(shè)備,該種方式需要不斷的投入更大量的硬件、增加了能耗和系統(tǒng)的管理運(yùn)維成本,使數(shù)據(jù)利用的綜合成本大量增加;在軟硬件結(jié)合方向上,采用軟件技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)并發(fā)的負(fù)載均衡處理,同時(shí)也需要一些專用的負(fù)載均衡硬件設(shè)備,該種方式的系統(tǒng)環(huán)境配置復(fù)雜、專業(yè)度及使用難度高、設(shè)備及軟件的采購(gòu)成本高,同時(shí)對(duì)運(yùn)維人員的技術(shù)和經(jīng)驗(yàn)要求也間接造成了系統(tǒng)的運(yùn)維成本高和穩(wěn)定性風(fēng)險(xiǎn)較大。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明針對(duì)以上問題的提出,而研制一種能夠滿足大量的高頻并發(fā)數(shù)據(jù)采集需求,同時(shí)有效減少運(yùn)算資源和降低硬件成本的數(shù)據(jù)采集系統(tǒng)及其方法。

本發(fā)明的技術(shù)手段如下:

一種數(shù)據(jù)采集系統(tǒng),包括:至少一個(gè)下位機(jī)、上位機(jī)、以及與上位機(jī)相連接的數(shù)據(jù)庫(kù);所述上位機(jī)包括通訊裝置和信息采集裝置;

所述通訊裝置包括:

與所述下位機(jī)相連接的通訊單元;所述通訊單元用于接收下位機(jī)上報(bào)的業(yè)務(wù)數(shù)據(jù)并傳輸給數(shù)據(jù)預(yù)處理單元;

與所述通訊單元相連接的數(shù)據(jù)預(yù)處理單元;所述數(shù)據(jù)預(yù)處理單元包括匯聚模塊和與所述匯聚模塊相連接的分發(fā)模塊;所述匯聚模塊用于對(duì)每條業(yè)務(wù)數(shù)據(jù)添加相應(yīng)的下位機(jī)設(shè)備標(biāo)識(shí)符信息和數(shù)據(jù)接收時(shí)間戳信息后發(fā)送給分發(fā)模塊;所述分發(fā)模塊用于將所述匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)保存至第一緩存單元;

所述信息采集裝置包括:

與所述數(shù)據(jù)預(yù)處理單元相連接的第一緩存單元;

與所述第一緩存單元相連接的緩存處理單元;所述緩存處理單元包括過濾模塊、與所述過濾模塊相連接的分類模塊和清理模塊;所述過濾模塊用于定時(shí)從所述第一緩存單元中批量提取業(yè)務(wù)數(shù)據(jù),并將第一緩存單元中保存的已被提取過的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理,同時(shí)對(duì)所提取的業(yè)務(wù)數(shù)據(jù)進(jìn)行有效性判斷,根據(jù)業(yè)務(wù)數(shù)據(jù)有效性判斷結(jié)果對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行有效數(shù)據(jù)或無效數(shù)據(jù)標(biāo)記,以及對(duì)具有有效數(shù)據(jù)標(biāo)記的多個(gè)業(yè)務(wù)數(shù)據(jù)形成有效數(shù)據(jù)隊(duì)列;所述分類模塊用于對(duì)所述有效數(shù)據(jù)隊(duì)列中的多個(gè)業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分類規(guī)則進(jìn)行分類并將分類后的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至第二緩存單元;所述清理模塊用于按照預(yù)設(shè)清理周期對(duì)第一緩存單元中存儲(chǔ)的各業(yè)務(wù)數(shù)據(jù)的標(biāo)記進(jìn)行檢測(cè),并將標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)從第一緩存單元中清除;

與所述緩存處理單元相連接的第二緩存單元;

與第二緩存單元相連接的信息存儲(chǔ)單元;所述信息存儲(chǔ)單元包括壓縮模塊和與所述壓縮模塊相連接的寫入模塊;所述壓縮模塊用于按照預(yù)設(shè)提取周期從所述第二緩存單元中提取業(yè)務(wù)數(shù)據(jù),并將已提取的符合數(shù)據(jù)抽樣間隔要求的業(yè)務(wù)數(shù)據(jù)形成業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列,對(duì)所述業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列進(jìn)行重復(fù)業(yè)務(wù)數(shù)據(jù)處理工作后生成非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列;所述寫入模塊按照預(yù)設(shè)打包周期對(duì)所述非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列進(jìn)行打包,并將打包后的業(yè)務(wù)數(shù)據(jù)批量保存到數(shù)據(jù)庫(kù);

進(jìn)一步地,通訊單元還用于檢測(cè)上位機(jī)與下位機(jī)之間的通訊狀態(tài)、以及檢測(cè)并更新下位機(jī)的工作狀態(tài);

進(jìn)一步地,所述數(shù)據(jù)預(yù)處理單元還包括與所述分發(fā)模塊相連接,用于按照預(yù)設(shè)展示周期對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行展示的實(shí)時(shí)展示模塊;所述分發(fā)模塊將所述匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分發(fā)周期分發(fā)給所述實(shí)時(shí)展示模塊;

進(jìn)一步地,所述過濾模塊對(duì)所提取的業(yè)務(wù)數(shù)據(jù)進(jìn)行有效性判斷的過程為:判斷所提取的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)號(hào)是否為感興趣的數(shù)據(jù)標(biāo)識(shí)號(hào),是則將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為有效數(shù)據(jù),否則將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為無效數(shù)據(jù);

進(jìn)一步地,

所述壓縮模塊對(duì)所述業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列進(jìn)行重復(fù)業(yè)務(wù)數(shù)據(jù)處理工作的具體過程為:壓縮模塊按照重復(fù)數(shù)據(jù)判斷規(guī)則判斷業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列中的相鄰數(shù)據(jù)是否屬于重復(fù)業(yè)務(wù)數(shù)據(jù),是則記錄所述重復(fù)業(yè)務(wù)數(shù)據(jù)中的其中一個(gè)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息,否則記錄非重復(fù)業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息;

所述壓縮模塊根據(jù)所記錄的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息生成非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列;對(duì)于已被壓縮模塊記錄下數(shù)據(jù)值的業(yè)務(wù)數(shù)據(jù),所述壓縮模塊將第二緩存單元中存儲(chǔ)的相對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理;所述寫入模塊在將打包后的非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列批量保存到數(shù)據(jù)庫(kù)之后,將第二緩存單元中被標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)進(jìn)行清除;

進(jìn)一步地,所述通訊單元的工作流程如下:

A1:按照預(yù)設(shè)檢測(cè)周期對(duì)上位機(jī)與下位機(jī)之間的通訊狀態(tài)進(jìn)行檢測(cè),執(zhí)行A2;

A2:判斷上位機(jī)與下位機(jī)之間是否均能夠正常通訊?是則執(zhí)行A4,否則執(zhí)行A3;

A3:更新下位機(jī)的工作狀態(tài)為離線狀態(tài),執(zhí)行A7;

A4:判斷下位機(jī)的工作狀態(tài)是否正常?是則執(zhí)行A5,否則執(zhí)行A6;

A5:更新下位機(jī)的工作狀態(tài)為正常狀態(tài),執(zhí)行A7;

A6:更新下位機(jī)的工作狀態(tài)為故障狀態(tài),執(zhí)行A7;

A7:待下一預(yù)設(shè)檢測(cè)周期;

進(jìn)一步地,所述數(shù)據(jù)預(yù)處理單元的工作流程如下:

B1:匯聚模塊對(duì)接收到的每條業(yè)務(wù)數(shù)據(jù)添加相應(yīng)的下位機(jī)設(shè)備標(biāo)識(shí)符信息和數(shù)據(jù)接收時(shí)間戳信息后發(fā)送給分發(fā)模塊,執(zhí)行B2;

B2:分發(fā)模塊將匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)保存至第一緩存單元,執(zhí)行B3;

B3:分發(fā)模塊將匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分發(fā)周期分發(fā)給實(shí)時(shí)展示模塊,執(zhí)行B4;

B4:實(shí)時(shí)展示模塊按照預(yù)設(shè)展示周期對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行展示;

在所述數(shù)據(jù)預(yù)處理單元的工作流程之前還具有如下工作流程:

上位機(jī)開啟數(shù)據(jù)接收狀態(tài),下位機(jī)向上位機(jī)上報(bào)業(yè)務(wù)數(shù)據(jù);

進(jìn)一步地,所述緩存處理單元的工作流程如下:

C1:過濾模塊定時(shí)從第一緩存單元中批量提取業(yè)務(wù)數(shù)據(jù),并將第一緩存單元中保存的已被提取過的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理,執(zhí)行C2;

C2:過濾模塊判斷所提取的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)號(hào)是否為感興趣的數(shù)據(jù)標(biāo)識(shí)號(hào),是則執(zhí)行C3,否則執(zhí)行C4;

C3:過濾模塊將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為有效數(shù)據(jù),執(zhí)行C5;

C4:過濾模塊將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為無效數(shù)據(jù);

C5:過濾模塊對(duì)具有有效數(shù)據(jù)標(biāo)記的多個(gè)業(yè)務(wù)數(shù)據(jù)形成有效數(shù)據(jù)隊(duì)列,執(zhí)行C6:

C6:分類模塊對(duì)所述有效數(shù)據(jù)隊(duì)列中的多個(gè)業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分類規(guī)則進(jìn)行分類并將分類后的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至第二緩存單元;

在步驟C1之后,所述緩存處理單元的工作流程還具有如下步驟:

清理模塊按照預(yù)設(shè)清理周期對(duì)第一緩存單元中存儲(chǔ)的各業(yè)務(wù)數(shù)據(jù)的標(biāo)記進(jìn)行檢測(cè),并將標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)從第一緩存單元中清除;

進(jìn)一步地,所述信息存儲(chǔ)單元的工作流程如下:

D1:壓縮模塊按照預(yù)設(shè)提取周期從所述第二緩存單元中提取業(yè)務(wù)數(shù)據(jù),執(zhí)行D2;

D2:壓縮模塊將已提取的符合數(shù)據(jù)抽樣間隔要求的業(yè)務(wù)數(shù)據(jù)形成業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列,執(zhí)行D3;

D3:壓縮模塊按照重復(fù)數(shù)據(jù)判斷規(guī)則判斷業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列中的相鄰數(shù)據(jù)是否屬于重復(fù)業(yè)務(wù)數(shù)據(jù),是則執(zhí)行D4,否則執(zhí)行D5;

D4:記錄所述重復(fù)業(yè)務(wù)數(shù)據(jù)中的其中一個(gè)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息,執(zhí)行D6;

D5:記錄非重復(fù)業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息,執(zhí)行D6;

D6:壓縮模塊根據(jù)所記錄的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息生成非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列,執(zhí)行D7;

D7:對(duì)于已被壓縮模塊記錄下數(shù)據(jù)值的業(yè)務(wù)數(shù)據(jù),壓縮模塊將第二緩存單元中存儲(chǔ)的相對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理,同時(shí)寫入模塊按照預(yù)設(shè)打包周期對(duì)所述非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列進(jìn)行打包,并將打包后的業(yè)務(wù)數(shù)據(jù)批量保存到數(shù)據(jù)庫(kù),執(zhí)行D8;

D8:寫入模塊將第二緩存單元中被標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)進(jìn)行清除。

一種數(shù)據(jù)采集方法,包括如下步驟:

步驟1:下位機(jī)按照一定業(yè)務(wù)數(shù)據(jù)上報(bào)周期向上位機(jī)上報(bào)業(yè)務(wù)數(shù)據(jù),執(zhí)行步驟2;

步驟2:上位機(jī)通過通訊單元接收下位機(jī)上報(bào)的業(yè)務(wù)數(shù)據(jù)并傳輸給數(shù)據(jù)預(yù)處理單元,執(zhí)行步驟3;

步驟3:上位機(jī)的數(shù)據(jù)預(yù)處理單元通過匯聚模塊對(duì)每條業(yè)務(wù)數(shù)據(jù)添加相應(yīng)的下位機(jī)設(shè)備標(biāo)識(shí)符信息和數(shù)據(jù)接收時(shí)間戳信息后發(fā)送給數(shù)據(jù)預(yù)處理單元所包括的分發(fā)模塊,執(zhí)行步驟4;

步驟4:分發(fā)模塊將匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)保存至上位機(jī)的第一緩存單元,執(zhí)行步驟5;

步驟5:上位機(jī)的緩存處理單元通過過濾模塊定時(shí)從第一緩存單元中批量提取業(yè)務(wù)數(shù)據(jù),并將第一緩存單元中保存的已被提取過的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理,執(zhí)行步驟6;

步驟6:過濾模塊對(duì)所提取的業(yè)務(wù)數(shù)據(jù)進(jìn)行有效性判斷,根據(jù)業(yè)務(wù)數(shù)據(jù)有效性判斷結(jié)果對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行有效數(shù)據(jù)或無效數(shù)據(jù)標(biāo)記,以及對(duì)具有有效數(shù)據(jù)標(biāo)記的多個(gè)業(yè)務(wù)數(shù)據(jù)形成有效數(shù)據(jù)隊(duì)列,執(zhí)行步驟7;

步驟7:上位機(jī)的緩存處理單元通過分類模塊對(duì)所述有效數(shù)據(jù)隊(duì)列中的多個(gè)業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分類規(guī)則進(jìn)行分類并將分類后的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至上位機(jī)的第二緩存單元,執(zhí)行步驟8;

步驟8:上位機(jī)的緩存處理單元通過清理模塊按照預(yù)設(shè)清理周期對(duì)第一緩存單元中存儲(chǔ)的各業(yè)務(wù)數(shù)據(jù)的標(biāo)記進(jìn)行檢測(cè),并將標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)從第一緩存單元中清除,執(zhí)行步驟9;

步驟9:上位機(jī)的信息存儲(chǔ)單元通過壓縮模塊按照預(yù)設(shè)提取周期從所述第二緩存單元中提取業(yè)務(wù)數(shù)據(jù),并將已提取的符合數(shù)據(jù)抽樣間隔要求的業(yè)務(wù)數(shù)據(jù)形成業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列,執(zhí)行步驟10;

步驟10:壓縮模塊對(duì)所述業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列進(jìn)行重復(fù)業(yè)務(wù)數(shù)據(jù)處理工作后生成非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列,執(zhí)行步驟11;

步驟11:上位機(jī)的信息存儲(chǔ)單元通過寫入模塊按照預(yù)設(shè)打包周期對(duì)所述非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列進(jìn)行打包,并將打包后的業(yè)務(wù)數(shù)據(jù)批量保存到數(shù)據(jù)庫(kù)。

由于采用了上述技術(shù)方案,本發(fā)明提供的數(shù)據(jù)采集系統(tǒng)及其方法,適用但不限于能源、建筑和農(nóng)業(yè)等有大量高頻數(shù)據(jù)采集需求的行業(yè);通過本發(fā)明所述數(shù)據(jù)采集系統(tǒng)及其方法可以將下位機(jī)上報(bào)的業(yè)務(wù)數(shù)據(jù)進(jìn)行預(yù)處理、有效性檢驗(yàn)、數(shù)據(jù)分類、數(shù)據(jù)壓縮和批量插入數(shù)據(jù)庫(kù)等一系列的操作,海量數(shù)據(jù)通過此種方式進(jìn)行高效采集處理,實(shí)現(xiàn)在不增加或者僅增加少量硬件投入的情況下,便能滿足高效的數(shù)據(jù)采集和處理需求。

附圖說明

圖1是本發(fā)明所述數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)框圖;

圖2是本發(fā)明所述數(shù)據(jù)預(yù)處理單元的結(jié)構(gòu)框圖;

圖3是本發(fā)明所述緩存處理單元的結(jié)構(gòu)框圖;

圖4是本發(fā)明所述信息存儲(chǔ)單元的結(jié)構(gòu)框圖;

圖5是本發(fā)明所述通訊單元的工作流程圖;

圖6是本發(fā)明所述數(shù)據(jù)預(yù)處理單元的工作流程圖;

圖7是本發(fā)明所述緩存處理單元的工作流程圖;

圖8是本發(fā)明所述信息存儲(chǔ)單元的工作流程圖;

圖9是本發(fā)明所述方法的流程圖。

具體實(shí)施方式

如圖1、圖2、圖3、圖4、圖5、圖6、圖7和圖8所示的一種數(shù)據(jù)采集系統(tǒng),包括:至少一個(gè)下位機(jī)、上位機(jī)、以及與上位機(jī)相連接的數(shù)據(jù)庫(kù);所述上位機(jī)包括通訊裝置和信息采集裝置;

所述通訊裝置包括:

與所述下位機(jī)相連接的通訊單元;所述通訊單元用于接收下位機(jī)上報(bào)的業(yè)務(wù)數(shù)據(jù)并傳輸給數(shù)據(jù)預(yù)處理單元;

與所述通訊單元相連接的數(shù)據(jù)預(yù)處理單元;所述數(shù)據(jù)預(yù)處理單元包括匯聚模塊和與所述匯聚模塊相連接的分發(fā)模塊;所述匯聚模塊用于對(duì)每條業(yè)務(wù)數(shù)據(jù)添加相應(yīng)的下位機(jī)設(shè)備標(biāo)識(shí)符信息和數(shù)據(jù)接收時(shí)間戳信息后發(fā)送給分發(fā)模塊;所述分發(fā)模塊用于將所述匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)保存至第一緩存單元;

所述信息采集裝置包括:

與所述數(shù)據(jù)預(yù)處理單元相連接的第一緩存單元;

與所述第一緩存單元相連接的緩存處理單元;所述緩存處理單元包括過濾模塊、與所述過濾模塊相連接的分類模塊和清理模塊;所述過濾模塊用于定時(shí)從所述第一緩存單元中批量提取業(yè)務(wù)數(shù)據(jù),并將第一緩存單元中保存的已被提取過的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理,同時(shí)對(duì)所提取的業(yè)務(wù)數(shù)據(jù)進(jìn)行有效性判斷,根據(jù)業(yè)務(wù)數(shù)據(jù)有效性判斷結(jié)果對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行有效數(shù)據(jù)或無效數(shù)據(jù)標(biāo)記,以及對(duì)具有有效數(shù)據(jù)標(biāo)記的多個(gè)業(yè)務(wù)數(shù)據(jù)形成有效數(shù)據(jù)隊(duì)列;所述分類模塊用于對(duì)所述有效數(shù)據(jù)隊(duì)列中的多個(gè)業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分類規(guī)則進(jìn)行分類并將分類后的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至第二緩存單元;所述清理模塊用于按照預(yù)設(shè)清理周期對(duì)第一緩存單元中存儲(chǔ)的各業(yè)務(wù)數(shù)據(jù)的標(biāo)記進(jìn)行檢測(cè),并將標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)從第一緩存單元中清除;

與所述緩存處理單元相連接的第二緩存單元;

與第二緩存單元相連接的信息存儲(chǔ)單元;所述信息存儲(chǔ)單元包括壓縮模塊和與所述壓縮模塊相連接的寫入模塊;所述壓縮模塊用于按照預(yù)設(shè)提取周期從所述第二緩存單元中提取業(yè)務(wù)數(shù)據(jù),并將已提取的符合數(shù)據(jù)抽樣間隔要求的業(yè)務(wù)數(shù)據(jù)形成業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列,對(duì)所述業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列進(jìn)行重復(fù)業(yè)務(wù)數(shù)據(jù)處理工作后生成非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列;所述寫入模塊按照預(yù)設(shè)打包周期對(duì)所述非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列進(jìn)行打包,并將打包后的業(yè)務(wù)數(shù)據(jù)批量保存到數(shù)據(jù)庫(kù);

進(jìn)一步地,通訊單元還用于檢測(cè)上位機(jī)與下位機(jī)之間的通訊狀態(tài)、以及檢測(cè)并更新下位機(jī)的工作狀態(tài);

進(jìn)一步地,所述數(shù)據(jù)預(yù)處理單元還包括與所述分發(fā)模塊相連接,用于按照預(yù)設(shè)展示周期對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行展示的實(shí)時(shí)展示模塊;所述分發(fā)模塊將所述匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分發(fā)周期分發(fā)給所述實(shí)時(shí)展示模塊;

進(jìn)一步地,所述過濾模塊對(duì)所提取的業(yè)務(wù)數(shù)據(jù)進(jìn)行有效性判斷的過程為:判斷所提取的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)號(hào)是否為感興趣的數(shù)據(jù)標(biāo)識(shí)號(hào),是則將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為有效數(shù)據(jù),否則將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為無效數(shù)據(jù);

進(jìn)一步地,

所述壓縮模塊對(duì)所述業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列進(jìn)行重復(fù)業(yè)務(wù)數(shù)據(jù)處理工作的具體過程為:壓縮模塊按照重復(fù)數(shù)據(jù)判斷規(guī)則判斷業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列中的相鄰數(shù)據(jù)是否屬于重復(fù)業(yè)務(wù)數(shù)據(jù),是則記錄所述重復(fù)業(yè)務(wù)數(shù)據(jù)中的其中一個(gè)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息,否則記錄非重復(fù)業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息;

所述壓縮模塊根據(jù)所記錄的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息生成非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列;對(duì)于已被壓縮模塊記錄下數(shù)據(jù)值的業(yè)務(wù)數(shù)據(jù),所述壓縮模塊將第二緩存單元中存儲(chǔ)的相對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理;所述寫入模塊在將打包后的非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列批量保存到數(shù)據(jù)庫(kù)之后,將第二緩存單元中被標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)進(jìn)行清除;

進(jìn)一步地,所述通訊單元的工作流程如下:

A1:按照預(yù)設(shè)檢測(cè)周期對(duì)上位機(jī)與下位機(jī)之間的通訊狀態(tài)進(jìn)行檢測(cè),執(zhí)行A2;

A2:判斷上位機(jī)與下位機(jī)之間是否均能夠正常通訊?是則執(zhí)行A4,否則執(zhí)行A3;

A3:更新下位機(jī)的工作狀態(tài)為離線狀態(tài),執(zhí)行A7;

A4:判斷下位機(jī)的工作狀態(tài)是否正常?是則執(zhí)行A5,否則執(zhí)行A6;

A5:更新下位機(jī)的工作狀態(tài)為正常狀態(tài),執(zhí)行A7;

A6:更新下位機(jī)的工作狀態(tài)為故障狀態(tài),執(zhí)行A7;

A7:待下一預(yù)設(shè)檢測(cè)周期;

進(jìn)一步地,所述數(shù)據(jù)預(yù)處理單元的工作流程如下:

B1:匯聚模塊對(duì)接收到的每條業(yè)務(wù)數(shù)據(jù)添加相應(yīng)的下位機(jī)設(shè)備標(biāo)識(shí)符信息和數(shù)據(jù)接收時(shí)間戳信息后發(fā)送給分發(fā)模塊,執(zhí)行B2;

B2:分發(fā)模塊將匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)保存至第一緩存單元,執(zhí)行B3;

B3:分發(fā)模塊將匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分發(fā)周期分發(fā)給實(shí)時(shí)展示模塊,執(zhí)行B4;

B4:實(shí)時(shí)展示模塊按照預(yù)設(shè)展示周期對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行展示;

在所述數(shù)據(jù)預(yù)處理單元的工作流程之前還具有如下工作流程:

上位機(jī)開啟數(shù)據(jù)接收狀態(tài),下位機(jī)向上位機(jī)上報(bào)業(yè)務(wù)數(shù)據(jù);

進(jìn)一步地,所述緩存處理單元的工作流程如下:

C1:過濾模塊定時(shí)從第一緩存單元中批量提取業(yè)務(wù)數(shù)據(jù),并將第一緩存單元中保存的已被提取過的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理,執(zhí)行C2;

C2:過濾模塊判斷所提取的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)號(hào)是否為感興趣的數(shù)據(jù)標(biāo)識(shí)號(hào),是則執(zhí)行C3,否則執(zhí)行C4;

C3:過濾模塊將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為有效數(shù)據(jù),執(zhí)行C5;

C4:過濾模塊將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為無效數(shù)據(jù);

C5:過濾模塊對(duì)具有有效數(shù)據(jù)標(biāo)記的多個(gè)業(yè)務(wù)數(shù)據(jù)形成有效數(shù)據(jù)隊(duì)列,執(zhí)行C6:

C6:分類模塊對(duì)所述有效數(shù)據(jù)隊(duì)列中的多個(gè)業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分類規(guī)則進(jìn)行分類并將分類后的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至第二緩存單元;

在步驟C1之后,所述緩存處理單元的工作流程還具有如下步驟:

清理模塊按照預(yù)設(shè)清理周期對(duì)第一緩存單元中存儲(chǔ)的各業(yè)務(wù)數(shù)據(jù)的標(biāo)記進(jìn)行檢測(cè),并將標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)從第一緩存單元中清除;

進(jìn)一步地,所述信息存儲(chǔ)單元的工作流程如下:

D1:壓縮模塊按照預(yù)設(shè)提取周期從所述第二緩存單元中提取業(yè)務(wù)數(shù)據(jù),執(zhí)行D2;

D2:壓縮模塊將已提取的符合數(shù)據(jù)抽樣間隔要求的業(yè)務(wù)數(shù)據(jù)形成業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列,執(zhí)行D3;

D3:壓縮模塊按照重復(fù)數(shù)據(jù)判斷規(guī)則判斷業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列中的相鄰數(shù)據(jù)是否屬于重復(fù)業(yè)務(wù)數(shù)據(jù),是則執(zhí)行D4,否則執(zhí)行D5;

D4:記錄所述重復(fù)業(yè)務(wù)數(shù)據(jù)中的其中一個(gè)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息,執(zhí)行D6;

D5:記錄非重復(fù)業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息,執(zhí)行D6;

D6:壓縮模塊根據(jù)所記錄的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)值和數(shù)據(jù)接收時(shí)間戳信息生成非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列,執(zhí)行D7;

D7:對(duì)于已被壓縮模塊記錄下數(shù)據(jù)值的業(yè)務(wù)數(shù)據(jù),壓縮模塊將第二緩存單元中存儲(chǔ)的相對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理,同時(shí)寫入模塊按照預(yù)設(shè)打包周期對(duì)所述非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列進(jìn)行打包,并將打包后的業(yè)務(wù)數(shù)據(jù)批量保存到數(shù)據(jù)庫(kù),執(zhí)行D8;

D8:寫入模塊將第二緩存單元中被標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)進(jìn)行清除。

如圖9所示的一種數(shù)據(jù)采集方法,包括如下步驟:

一種數(shù)據(jù)采集方法,包括如下步驟:

步驟1:下位機(jī)按照一定業(yè)務(wù)數(shù)據(jù)上報(bào)周期向上位機(jī)上報(bào)業(yè)務(wù)數(shù)據(jù),執(zhí)行步驟2;

步驟2:上位機(jī)通過通訊單元接收下位機(jī)上報(bào)的業(yè)務(wù)數(shù)據(jù)并傳輸給數(shù)據(jù)預(yù)處理單元,執(zhí)行步驟3;

步驟3:上位機(jī)的數(shù)據(jù)預(yù)處理單元通過匯聚模塊對(duì)每條業(yè)務(wù)數(shù)據(jù)添加相應(yīng)的下位機(jī)設(shè)備標(biāo)識(shí)符信息和數(shù)據(jù)接收時(shí)間戳信息后發(fā)送給數(shù)據(jù)預(yù)處理單元所包括的分發(fā)模塊,執(zhí)行步驟4;

步驟4:分發(fā)模塊將匯聚模塊處理后的業(yè)務(wù)數(shù)據(jù)保存至上位機(jī)的第一緩存單元,執(zhí)行步驟5;

步驟5:上位機(jī)的緩存處理單元通過過濾模塊定時(shí)從第一緩存單元中批量提取業(yè)務(wù)數(shù)據(jù),并將第一緩存單元中保存的已被提取過的業(yè)務(wù)數(shù)據(jù)標(biāo)記為已處理,執(zhí)行步驟6;

步驟6:過濾模塊對(duì)所提取的業(yè)務(wù)數(shù)據(jù)進(jìn)行有效性判斷,根據(jù)業(yè)務(wù)數(shù)據(jù)有效性判斷結(jié)果對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行有效數(shù)據(jù)或無效數(shù)據(jù)標(biāo)記,以及對(duì)具有有效數(shù)據(jù)標(biāo)記的多個(gè)業(yè)務(wù)數(shù)據(jù)形成有效數(shù)據(jù)隊(duì)列,執(zhí)行步驟7;

步驟7:上位機(jī)的緩存處理單元通過分類模塊對(duì)所述有效數(shù)據(jù)隊(duì)列中的多個(gè)業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分類規(guī)則進(jìn)行分類并將分類后的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至上位機(jī)的第二緩存單元,執(zhí)行步驟8;

步驟8:上位機(jī)的緩存處理單元通過清理模塊按照預(yù)設(shè)清理周期對(duì)第一緩存單元中存儲(chǔ)的各業(yè)務(wù)數(shù)據(jù)的標(biāo)記進(jìn)行檢測(cè),并將標(biāo)記為已處理的業(yè)務(wù)數(shù)據(jù)從第一緩存單元中清除,執(zhí)行步驟9;

步驟9:上位機(jī)的信息存儲(chǔ)單元通過壓縮模塊按照預(yù)設(shè)提取周期從所述第二緩存單元中提取業(yè)務(wù)數(shù)據(jù),并將已提取的符合數(shù)據(jù)抽樣間隔要求的業(yè)務(wù)數(shù)據(jù)形成業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列,執(zhí)行步驟10;

步驟10:壓縮模塊對(duì)所述業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列進(jìn)行重復(fù)業(yè)務(wù)數(shù)據(jù)處理工作后生成非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列,執(zhí)行步驟11;

步驟11:上位機(jī)的信息存儲(chǔ)單元通過寫入模塊按照預(yù)設(shè)打包周期對(duì)所述非重復(fù)業(yè)務(wù)數(shù)據(jù)隊(duì)列進(jìn)行打包,并將打包后的業(yè)務(wù)數(shù)據(jù)批量保存到數(shù)據(jù)庫(kù)。

在所述通訊單元執(zhí)行步驟A1之前,其還具有如下工作流程:

①添加下位機(jī)列表并記錄每一下位機(jī)的屬性數(shù)據(jù),執(zhí)行②;

②為每一下位機(jī)分配上位機(jī),執(zhí)行③;

③判斷所述上位機(jī)是否能夠負(fù)載所轄下位機(jī),是則執(zhí)行④,否則執(zhí)行⑤;

④給每一下位機(jī)發(fā)送通訊指令,執(zhí)行⑥;

⑤針對(duì)不能負(fù)載所轄下位機(jī)的上位機(jī)進(jìn)行上位機(jī)增加或調(diào)配,返回③;

⑥針對(duì)每一下位機(jī),均執(zhí)行A1至A7;

本發(fā)明所述通訊單元還用于記錄下位機(jī)的屬性數(shù)據(jù)、設(shè)置下位機(jī)的業(yè)務(wù)數(shù)據(jù)上報(bào)周期、為每一下位機(jī)分配上位機(jī)、控制上位機(jī)處于數(shù)據(jù)接收狀態(tài)或數(shù)據(jù)不接收狀態(tài)、以及設(shè)置業(yè)務(wù)數(shù)據(jù)展示周期;本發(fā)明所述系統(tǒng)包括至少一個(gè)下位機(jī),當(dāng)下位機(jī)有多個(gè)時(shí),可以直接采用下位機(jī)集群,所述下位機(jī)集群是指各種業(yè)務(wù)系統(tǒng)的數(shù)據(jù)采集設(shè)備,一般以大量設(shè)備集群的形態(tài)出現(xiàn),沒有上限要求;本發(fā)明所述數(shù)據(jù)抽樣間隔要求可以由用戶通過上位機(jī)具有的人機(jī)交互界面來設(shè)定;壓縮模塊按照預(yù)設(shè)提取周期從第二緩存單元中提取業(yè)務(wù)數(shù)據(jù),根據(jù)所述預(yù)設(shè)提取周期能夠獲知相鄰業(yè)務(wù)數(shù)據(jù)提取操作之間的時(shí)間間隔,當(dāng)相鄰業(yè)務(wù)數(shù)據(jù)提取操作之間的時(shí)間間隔小于數(shù)據(jù)抽樣間隔要求時(shí),即認(rèn)為被壓縮模塊提取的業(yè)務(wù)數(shù)據(jù)符合數(shù)據(jù)抽樣間隔要求,壓縮模塊將按照業(yè)務(wù)數(shù)據(jù)的提取順序依次將業(yè)務(wù)數(shù)據(jù)存入業(yè)務(wù)數(shù)據(jù)待處理隊(duì)列中;本發(fā)明所述下位機(jī)可以按照一定的業(yè)務(wù)數(shù)據(jù)上報(bào)周期將業(yè)務(wù)數(shù)據(jù)上報(bào)給上位機(jī);各業(yè)務(wù)數(shù)據(jù)在上報(bào)之前均攜帶有唯一的數(shù)據(jù)標(biāo)識(shí)號(hào);過濾模塊對(duì)所提取的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)號(hào)是否為感興趣的數(shù)據(jù)標(biāo)識(shí)號(hào)進(jìn)行判斷,是則將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為有效數(shù)據(jù),否則將該業(yè)務(wù)數(shù)據(jù)標(biāo)記為無效數(shù)據(jù),其中,所述感興趣的數(shù)據(jù)標(biāo)識(shí)號(hào)的確定規(guī)則可事先進(jìn)行預(yù)設(shè),比如通過配置文件來定義;本發(fā)明所述數(shù)據(jù)接收時(shí)間戳信息指的是上位機(jī)即所述通訊單元接收到業(yè)務(wù)數(shù)據(jù)的時(shí)間戳信息;本發(fā)明所述重復(fù)數(shù)據(jù)判斷規(guī)則可以為相鄰業(yè)務(wù)數(shù)據(jù)的數(shù)值是否相等、相鄰業(yè)務(wù)數(shù)據(jù)之間是否遵循正弦規(guī)律或余弦規(guī)律;所述下位機(jī)的屬性數(shù)據(jù)至少包括下位機(jī)的設(shè)備標(biāo)識(shí)符(ID)、IP地址和端口號(hào);所述預(yù)設(shè)分類規(guī)則可以用于區(qū)分業(yè)務(wù)數(shù)據(jù)是由哪一下位機(jī)上報(bào)的哪種具體業(yè)務(wù)數(shù)據(jù),以及起到將業(yè)務(wù)數(shù)據(jù)按照不同應(yīng)用用途進(jìn)行分類的作用;這里的預(yù)設(shè)分類規(guī)則可以為不同的編碼規(guī)則;所述第一緩存單元和第二緩存單元是指能夠臨時(shí)存儲(chǔ)數(shù)據(jù)的高速存儲(chǔ)裝置;本發(fā)明通訊單元可以為每一下位機(jī)分配上位機(jī),具體地,根據(jù)通訊單元根據(jù)上位機(jī)的負(fù)載能力和數(shù)據(jù)情況進(jìn)行上位機(jī)分配;本發(fā)明所述匯聚模塊用于對(duì)每條業(yè)務(wù)數(shù)據(jù)添加相應(yīng)的下位機(jī)設(shè)備標(biāo)識(shí)符信息和數(shù)據(jù)接收時(shí)間戳信息后發(fā)送給分發(fā)模塊;下位機(jī)上報(bào)的每條業(yè)務(wù)數(shù)據(jù)至少包括字段名、數(shù)據(jù)值、所屬設(shè)備、所屬部件和所屬模塊;這些業(yè)務(wù)數(shù)據(jù)一般是高頻率上報(bào)且數(shù)量巨大;實(shí)時(shí)展示模塊按照預(yù)設(shè)展示周期對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行展示,具體地,將業(yè)務(wù)數(shù)據(jù)以可視化的形式展示在顯示器或其它監(jiān)視設(shè)備中;所述分類模塊用于對(duì)所述有效數(shù)據(jù)隊(duì)列中的多個(gè)業(yè)務(wù)數(shù)據(jù)按照預(yù)設(shè)分類規(guī)則進(jìn)行分類并將分類后的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至第二緩存單元,具體地,所述分類模塊會(huì)對(duì)分類后的業(yè)務(wù)數(shù)據(jù)添加分類標(biāo)識(shí);本發(fā)明業(yè)務(wù)數(shù)據(jù)經(jīng)過所述壓縮模塊的處理,能夠達(dá)到無損壓縮數(shù)據(jù)結(jié)構(gòu)的目的;所述下位機(jī)的業(yè)務(wù)數(shù)據(jù)上報(bào)周期可以為1mS、20mS、500mS、1S等。

本發(fā)明數(shù)據(jù)采集系統(tǒng)及其方法屬于物聯(lián)網(wǎng)大數(shù)據(jù)采集領(lǐng)域,適用但不限于能源、建筑和農(nóng)業(yè)等有大量高頻數(shù)據(jù)采集需求的行業(yè);通過本發(fā)明所述數(shù)據(jù)采集系統(tǒng)及其方法可以將下位機(jī)上報(bào)的業(yè)務(wù)數(shù)據(jù)進(jìn)行預(yù)處理、有效性檢驗(yàn)、數(shù)據(jù)分類、數(shù)據(jù)壓縮和批量插入數(shù)據(jù)庫(kù)等一系列的操作,海量數(shù)據(jù)通過此種方式進(jìn)行高效采集處理,本發(fā)明所述系統(tǒng)可以實(shí)現(xiàn)1臺(tái)上位機(jī)并發(fā)接入6至8臺(tái)下位機(jī),實(shí)現(xiàn)在不增加或者僅增加少量硬件投入的情況下,便能滿足高效的數(shù)據(jù)采集和處理需求。

以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沽源县| 天台县| 重庆市| 偏关县| 大名县| 长治县| 武陟县| 鄂尔多斯市| 博白县| 余姚市| 湟中县| 达孜县| 比如县| 南开区| 玉屏| 乐亭县| 屯门区| 离岛区| 娄烦县| 平武县| 如皋市| 峨眉山市| 岳西县| 洞头县| 广昌县| 大英县| 观塘区| 边坝县| 同德县| 饶平县| 福泉市| 社会| 泾川县| 玉门市| 新余市| 扶风县| 潢川县| 云龙县| 澜沧| 玉树县| 蒙阴县|