一種物聯(lián)網(wǎng)數(shù)據(jù)的中轉(zhuǎn)處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及物聯(lián)網(wǎng)數(shù)據(jù)傳輸領(lǐng)域,具體而言,涉及一種物聯(lián)網(wǎng)數(shù)據(jù)的中轉(zhuǎn)處理方法。
【背景技術(shù)】
[0002]目前環(huán)境問題越來越嚴(yán)峻,需要對(duì)各個(gè)污染排放企業(yè)進(jìn)行排放源的監(jiān)控如監(jiān)控其煙氣、廢水等各種的含量是否超標(biāo),就需要建立一個(gè)較大的監(jiān)控系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控。該監(jiān)控系統(tǒng)的工作流程大致分為:
[0003]I)數(shù)據(jù)采集階段。各檢測探頭收集的數(shù)據(jù)一采集器一經(jīng)過采集器的分析一存放到采集器本身的數(shù)據(jù)庫;
[0004]2)—般數(shù)據(jù)傳輸階段。通過數(shù)據(jù)上報(bào)系統(tǒng)把采集到的各終端數(shù)據(jù)進(jìn)行上報(bào)一中轉(zhuǎn)服務(wù)器一上報(bào)至管理平臺(tái)。
[0005]目前的數(shù)據(jù)上報(bào)至中轉(zhuǎn)服務(wù)器,在中轉(zhuǎn)服務(wù)器內(nèi)都是一邊接收各終端上報(bào)的數(shù)據(jù)的同時(shí),一邊進(jìn)行解析,再將解析好的數(shù)據(jù)上報(bào)至管理平臺(tái)。但是,目前數(shù)據(jù)解析之前,沒有按照數(shù)據(jù)類型進(jìn)行分類,采用單一的線程及單一的數(shù)據(jù)解析的算法,算法復(fù)雜而且數(shù)據(jù)效率低,出現(xiàn)以下問題:
[0006]I)接收下游站點(diǎn)數(shù)據(jù)過大的時(shí)候,解析數(shù)據(jù)不能跟上接收數(shù)據(jù)的速度,中轉(zhuǎn)服務(wù)器就會(huì)出現(xiàn)解析數(shù)據(jù)超時(shí),甚至堵塞的問題。
[0007]2)數(shù)據(jù)的解析、報(bào)送線程還會(huì)與數(shù)據(jù)的接收線程發(fā)生資源搶奪,危及數(shù)據(jù)接收、解析、上報(bào)的穩(wěn)定性。
[0008]3)如果數(shù)據(jù)解析出現(xiàn)錯(cuò)誤,因?yàn)橹修D(zhuǎn)服務(wù)器的數(shù)據(jù)量非常多而且沒有分類,數(shù)據(jù)查詢及排查異常將會(huì)很麻煩。
[0009]4)由于解析算法單一,每當(dāng)報(bào)送的數(shù)據(jù)類型出現(xiàn)增加、改變、刪減等情況的時(shí)候,數(shù)據(jù)解析算法需要更新,否則數(shù)據(jù)解析出錯(cuò),影響中轉(zhuǎn)服務(wù)器甚至整個(gè)監(jiān)控系統(tǒng)正常運(yùn)行。
[0010]據(jù)此,本發(fā)明提出了一種物聯(lián)網(wǎng)數(shù)據(jù)的中轉(zhuǎn)處理方法,通過將數(shù)據(jù)按照預(yù)設(shè)的分類分成多類,針對(duì)多類數(shù)據(jù)設(shè)計(jì)多種對(duì)應(yīng)的數(shù)據(jù)解析算法,并配置多條獨(dú)立并行的解析線程,有效地解決了這些問題。
【發(fā)明內(nèi)容】
[0011]本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。
[0012]為此,本發(fā)明的一個(gè)目的在于,提供一種物聯(lián)網(wǎng)數(shù)據(jù)的中轉(zhuǎn)處理方法,通過本發(fā)明提供的方法,可以有效地提高中轉(zhuǎn)服務(wù)器的處理速度,使得中轉(zhuǎn)服務(wù)器在數(shù)據(jù)的接收與數(shù)據(jù)的解析上更加地協(xié)調(diào)。
[0013]為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種物聯(lián)網(wǎng)數(shù)據(jù)的中轉(zhuǎn)處理方法,其特征在于,包括:數(shù)據(jù)接收步驟,配置有獨(dú)立的接收線程把接收到的數(shù)據(jù)存儲(chǔ)于臨時(shí)表中;數(shù)據(jù)分類步驟,把所述臨時(shí)表中的數(shù)據(jù)按照預(yù)設(shè)的分類分成N類;數(shù)據(jù)解析步驟,對(duì)所述N類數(shù)據(jù)配置獨(dú)立的P條解析線程且按照預(yù)設(shè)的解析算法進(jìn)行數(shù)據(jù)解析;數(shù)據(jù)上報(bào)步驟,把經(jīng)過解析的數(shù)據(jù)上報(bào)至平臺(tái);其中,所述P大于或等于所述N,所述N為大于I的整數(shù)。
[0014]根據(jù)本發(fā)明提供的數(shù)據(jù)中轉(zhuǎn)處理方法,先把數(shù)據(jù)存儲(chǔ)進(jìn)臨時(shí)表,再對(duì)臨時(shí)表的數(shù)據(jù)進(jìn)行分成N類,再分配不少于N類數(shù)據(jù)的P條獨(dú)立線程,并對(duì)每一類數(shù)據(jù)按照預(yù)設(shè)的解析算法進(jìn)行數(shù)據(jù)解析。由于在數(shù)據(jù)解析步驟中,分配的線程數(shù)量大于或等于分類的數(shù)據(jù)類型數(shù)量,這樣就保證了至少每一類數(shù)據(jù)具有一條獨(dú)立的解析線程運(yùn)行,且按照預(yù)設(shè)的解析算法獨(dú)立并行地解析,這樣就大大地加快了解析步驟的速度,使得解析線程與接收線程更加協(xié)調(diào),減少了接收步驟接收的數(shù)據(jù)過快但解析步驟速度跟不上而發(fā)生堵塞的情況。
[0015]另外,根據(jù)本發(fā)明提供的數(shù)據(jù)中轉(zhuǎn)處理方法還具有如下附加技術(shù)特征:
[0016]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述解析算法預(yù)設(shè)有N種,與預(yù)設(shè)的所述N類數(shù)據(jù)一一對(duì)應(yīng)。
[0017]根據(jù)本發(fā)明的一個(gè)實(shí)施例,在所述數(shù)據(jù)解析步驟中,解析線程執(zhí)行數(shù)據(jù)解析任務(wù)時(shí),該解析線程狀態(tài)標(biāo)記為忙碌;解析線程沒有執(zhí)行數(shù)據(jù)解析任務(wù)或已經(jīng)完成所分配的數(shù)據(jù)解析任務(wù)時(shí),該解析線程狀態(tài)標(biāo)記為空閑;出現(xiàn)一部分解析線程忙碌而另一部分解析線程空閑的時(shí),則將忙碌的解析線程尚未進(jìn)行解析的數(shù)據(jù)分配給空閑的解析線程。
[0018]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述N等于2,且所述P等于2。
[0019]—般情況下,把數(shù)據(jù)分成2類來配置2條解析線程即可與數(shù)據(jù)接收線程相協(xié)調(diào)。
[0020]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述接收線程的優(yōu)先級(jí)大于所述解析線程的優(yōu)先級(jí)。
[0021]保證了接收線程的優(yōu)先級(jí)大于解析線程的優(yōu)先級(jí),也就保證了先有接收到數(shù)據(jù)才進(jìn)行數(shù)據(jù)解析。另外也保證了當(dāng)系統(tǒng)資源不夠的時(shí)候優(yōu)先處理接收數(shù)據(jù)。
[0022]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述接收線程的處理速度大于或等于任一條所述解析線程的處理速度;且所述接收線程的處理速度小于或等于P條所述解析線程的處理速度之和。
[0023]通過這樣的配置,在保證了接收線程的處理速度的同時(shí),有效地防止了解析線程過慢而引起的數(shù)據(jù)堵塞。
[0024]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述解析線程與所述接收線程同步。
[0025]通過這樣的設(shè)置,保證了完整地接收數(shù)據(jù)后解析線程才工作,防止資源爭奪的情況。
[0026]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述數(shù)據(jù)接收步驟所接收到的數(shù)據(jù)來自M個(gè)終端裝置;所述數(shù)據(jù)解析步驟還包括把所述經(jīng)過解釋的數(shù)據(jù)分別存儲(chǔ)到M個(gè)數(shù)據(jù)存儲(chǔ)表;所述的M個(gè)數(shù)據(jù)存儲(chǔ)表與所述M個(gè)終端裝置一一對(duì)應(yīng)。
[0027]由于數(shù)據(jù)接收步驟所接收的數(shù)據(jù)可能來自多個(gè)終端,如果只把所有的數(shù)據(jù)都存儲(chǔ)在一個(gè)表里,在對(duì)中轉(zhuǎn)服務(wù)器進(jìn)行查詢的時(shí)候就會(huì)變得很慢,通過這樣的設(shè)計(jì),使得數(shù)據(jù)存儲(chǔ)表與終端裝置相對(duì)應(yīng),有效地加快了中轉(zhuǎn)服務(wù)器的數(shù)據(jù)查詢。
[0028]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述的M為大于或等于I的整數(shù)。
[0029]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述數(shù)據(jù)解析步驟還包括把解析失敗的數(shù)據(jù)存儲(chǔ)到異常數(shù)據(jù)存放表。
[0030]通過把解析失敗的數(shù)據(jù)存儲(chǔ)進(jìn)異常數(shù)據(jù)存放表,更有利于以后數(shù)據(jù)的查詢和補(bǔ)充。
[0031]本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述部分中給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
[0032]本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
[0033]圖1是現(xiàn)有的物聯(lián)網(wǎng)數(shù)據(jù)中轉(zhuǎn)處理步驟圖;
[0034]圖2是本發(fā)明的物聯(lián)網(wǎng)數(shù)據(jù)中轉(zhuǎn)處理步驟圖;
[0035]圖3是根據(jù)本發(fā)明一實(shí)施例所述的物聯(lián)網(wǎng)數(shù)據(jù)中轉(zhuǎn)處理流程圖;
[0036]圖4是根據(jù)本發(fā)明另一實(shí)施例所述的物聯(lián)網(wǎng)數(shù)據(jù)中轉(zhuǎn)處理流程圖;
【具體實(shí)施方式】
[0037]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0038]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
[0039]下面參照附圖1至附圖4描述本發(fā)明一些實(shí)施例提供的物聯(lián)網(wǎng)數(shù)據(jù)中轉(zhuǎn)處理方法。
[0040]圖2是本發(fā)明的數(shù)據(jù)中轉(zhuǎn)處理方法,與圖1所示的現(xiàn)有的技術(shù)相比,增加了對(duì)接收數(shù)據(jù)的分類步驟,再對(duì)接收的數(shù)據(jù)配置多條線程按照預(yù)設(shè)的解析算法來做解析處理。具體的方法包括:數(shù)據(jù)接收步驟,配置有獨(dú)立的接收線程把接收到的數(shù)據(jù)存儲(chǔ)于臨時(shí)表中;數(shù)據(jù)分類步驟,把所述臨時(shí)表中的數(shù)據(jù)按照預(yù)設(shè)的分類分成多類,比如4類(也就是N等于