專利名稱::基于labview和數(shù)據(jù)庫的傳感器網(wǎng)絡后端數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
:本發(fā)明屬傳感器網(wǎng)絡的后端數(shù)據(jù)處理
技術(shù)領(lǐng)域:
,特別是一種基于Iabview和數(shù)據(jù)庫的傳感器網(wǎng)絡后端數(shù)據(jù)處理方法涉及。
背景技術(shù):
:第一代傳感器網(wǎng)絡出現(xiàn)在20世紀70年代。使用具有簡單信息信號獲取能力的傳統(tǒng)傳感器,采用點對點傳輸、連接傳感控制器構(gòu)成傳感器網(wǎng)絡;第二代傳感器網(wǎng)絡,具有獲取多種信息信號的綜合能力,采用串,并接口(如Rs-232、RS-485)與傳感控制器相聯(lián),構(gòu)成有綜合多種信息的傳感器網(wǎng)絡;第三代傳感器網(wǎng)絡出現(xiàn)在20世紀90年代后期和本世紀初,用具有智能獲取多種信息信號的傳感器,采用現(xiàn)場總線連接傳感控制器,構(gòu)成局域網(wǎng)絡,成為智能化傳感器網(wǎng)絡;第四代傳感器網(wǎng)絡正在研究開發(fā),目前成形并大量投入使用的產(chǎn)品還沒有出現(xiàn).用大量的具有多功能多信息信號獲取能力的傳感器,采用自組織無線接入網(wǎng)絡,與傳感器網(wǎng)絡控制器連接,構(gòu)成無線傳感器網(wǎng)絡。由于傳感器網(wǎng)絡結(jié)構(gòu)體系越來越復雜,傳輸數(shù)據(jù)的數(shù)量越來越龐大,對這些數(shù)據(jù)進行及時的儲存、分類和實時顯示就變得越來越重要。目前,還沒有專門解決這一問題的方法,于是開發(fā)一種平臺來解決這一問題就十分必要。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種基于Iabview和數(shù)據(jù)庫的傳感器網(wǎng)絡后端數(shù)據(jù)處理方法,能對客戶端接收的原始數(shù)據(jù)進行及時地分割,分類,儲存,校準及顯示。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是提供一種基于Iabview和數(shù)據(jù)庫的傳感器網(wǎng)絡后端數(shù)據(jù)處理方法,包括下列步驟(1)首先對傳感器網(wǎng)絡傳輸過來的原始字符串數(shù)據(jù)進行分割;(2)將分割后的數(shù)據(jù)存儲在數(shù)據(jù)庫中;(3)將數(shù)據(jù)直接寫入數(shù)據(jù)庫,讀取時直接從數(shù)據(jù)庫讀取;(4)將讀取的數(shù)據(jù)通過顯示模塊顯示。所述的步驟(1)具體包括(11)接收傳感器網(wǎng)絡傳輸過來的無分隔的數(shù)據(jù),進行分割字符串,以字符串數(shù)組形式存儲,每個元素為一組傳感器數(shù)據(jù);(12)判斷數(shù)組是否結(jié)束,若是,則結(jié)束;若否,則進入下一步驟;(13)將每組傳感器數(shù)據(jù)按數(shù)據(jù)類型分割,并以簇的形式存儲;(14)寫入數(shù)據(jù)庫,并返回步驟(12)。所述的步驟(2)具體包括(21)當一個類型為簇的傳感器數(shù)據(jù)寫入數(shù)據(jù)庫時,取出其基站編號和傳感器編號;(22)連接數(shù)據(jù)庫,判斷表“基站編號-傳感器編號”是否存在;若否,則先新建表,再進入下一步;若是,則進入下一步;(23)判斷數(shù)據(jù)是否重復;(24)在相應的表格插入數(shù)據(jù);(25)斷開數(shù)據(jù)庫。所述的步驟(3)中的讀取時直接從數(shù)據(jù)庫讀取具體包括先進行類型轉(zhuǎn)換,然后通過選項卡的切換對傳感器的不同參數(shù)進行選擇,根據(jù)實際需要對參數(shù)進行校準,以波形圖輸出。有益效果本發(fā)明可以通過一個簡單的界面方便地查看傳感器與基站的關(guān)系,查看某個傳感器的某個參數(shù)及其變化趨勢,而且,所有傳輸過來的數(shù)據(jù)都被分類存儲在數(shù)據(jù)庫中。如有需要,還可以在界面上加上數(shù)據(jù)的查找等功能。這個處理方法可用于大型傳感器網(wǎng)絡的后端數(shù)據(jù)處理上。圖1為本發(fā)明的結(jié)構(gòu)原理圖。圖2為本發(fā)明數(shù)據(jù)寫入數(shù)據(jù)庫流程圖。圖3為本發(fā)明字符串分割流程圖。圖4為本發(fā)明讀取數(shù)據(jù)流程圖。圖5為本發(fā)明給數(shù)據(jù)庫表格命名時的輸入和輸出數(shù)據(jù)。圖6為本發(fā)明給表格命名的具體方法。圖7為本發(fā)明判斷表格存在與新建表的具體方法。圖8為本發(fā)明判斷輸入數(shù)據(jù)與表格中數(shù)據(jù)是否重復的具體方法。圖9為發(fā)明下級界面顯示的具體方法。具體實施例方式下面結(jié)合具體實施例,進一步闡述本發(fā)明。應理解,這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權(quán)利要求書所限定的范圍。將Iabview應用于傳感器網(wǎng)絡后端的數(shù)據(jù)處理本身就是一種創(chuàng)新,與數(shù)據(jù)庫的鏈接更是增加了數(shù)據(jù)存儲的靈活方便。本發(fā)明主要包含以下內(nèi)容1.數(shù)據(jù)存儲和數(shù)據(jù)讀取的獨立性本發(fā)明的實現(xiàn)主要包括數(shù)據(jù)分割、寫入數(shù)據(jù)庫和讀取并顯示數(shù)據(jù)(如圖1)。數(shù)據(jù)直接寫入數(shù)據(jù)庫,讀取時直接從數(shù)據(jù)庫讀取,可以實現(xiàn)寫入數(shù)據(jù)和讀取數(shù)據(jù)的相互獨立,可以達到分工清晰,處理方便的效果。2.原始字符串的分割字符串分割是數(shù)據(jù)存儲中必要的一步。原始的接收數(shù)據(jù)是一長串字符串,各組傳感器的數(shù)據(jù)以及特定傳感器內(nèi)部數(shù)據(jù)無分隔,以“傳感器1,基站1,時間,參數(shù);傳感器2,基站1,時間,參數(shù);傳感器3,基站2,時間,參數(shù);傳感器1,基站1,時間,參數(shù);···.”的形式存在。我們要做的是先將各個傳感器的數(shù)據(jù)分開,然后再將每組傳感器內(nèi)部的數(shù)據(jù)按數(shù)據(jù)類型分開,以簇的形式儲存,最后寫入數(shù)據(jù)庫(如圖2)。3.數(shù)據(jù)在數(shù)據(jù)庫中的儲存由于存在多個基站,每個基站下又帶有多個傳感器,所以一個數(shù)據(jù)庫中包含多個表,每個表以“基站編號傳感器編號”命名。因為每組傳輸數(shù)據(jù)中會自帶有基站編號和傳感器編號,所以表格名字可以直接從傳輸數(shù)據(jù)中提取。然后根據(jù)表名判斷數(shù)據(jù)要寫入的表。這種從傳輸數(shù)據(jù)中直接提取表名的方法可以增加數(shù)據(jù)存儲程序的簡潔性和自主性,同時也起到了對數(shù)據(jù)分類的作用。一組傳感器數(shù)據(jù)寫入數(shù)據(jù)庫時,首先判斷該傳感器對應的表是否存在,若存在,則判斷表中是否有重復數(shù)據(jù),最后添加進相應表格。若不存在這個表,則自動建表,根據(jù)其自身編號給表格命名(如圖幻。當突然添加一個新的傳感器時,數(shù)據(jù)庫中也會新增一個列表分類。若由于某些原因造成傳輸數(shù)據(jù)無效或傳輸數(shù)據(jù)無規(guī)律時,會使提取的傳感器編號出現(xiàn)特殊字符,于是會新建一個表名特殊的表格,通過查看這個表格的數(shù)據(jù),我們可以查看網(wǎng)絡異常狀況。4.數(shù)據(jù)的讀取和顯示顯示界面最初為一個主界面,上面包含有傳感器和基站按鈕,每個傳感器按鈕下對應一個子VI,子VI調(diào)用方式設(shè)為調(diào)用時顯示面板、如果最初關(guān)閉則返回時關(guān)閉面板。每個傳感器按鈕對應數(shù)據(jù)庫中一個表格,子VI打開后,開始讀取數(shù)據(jù)庫中相應表格的數(shù)據(jù),即開始顯示這一傳感器的數(shù)據(jù)。界面中也設(shè)有基站按鈕,這個按鈕點擊后會顯示該基站下所包含的傳感器,即一個傳感器列表的界面,通過這個列表的界面也可以進入數(shù)據(jù)顯示界面。這種利用子VI調(diào)用,形成多級界面顯示的方法,使傳感器網(wǎng)絡層次更清晰,數(shù)據(jù)的顯示也有條不紊。讀取數(shù)據(jù)庫數(shù)據(jù)時,應先進行類型轉(zhuǎn)換,然后可以根據(jù)實際需要對參數(shù)進行校準。顯示數(shù)據(jù)時以時間為橫坐標,參數(shù)為縱坐標,輸入XYgraph,如圖4。數(shù)據(jù)顯示前面板上一個graphindicator置于tabcontrol之上,并未置于選項卡之中,通過選項卡的切換可以在這個graph中輸入同一傳感器的不同參數(shù)。這種方法讓多參數(shù)之間的顯示得到了很好的切換。使用波形圖的CursorLegend功能可以讀出每個數(shù)據(jù)點的準確值,集曲線趨勢的觀察與準確讀數(shù)一體化,Graphpalette工具的使用可以實現(xiàn)曲線的局部放大、曲線的定位。5.數(shù)據(jù)的實時顯示為達到數(shù)據(jù)的實時顯示,數(shù)據(jù)讀取和數(shù)據(jù)顯示都在一個無限循環(huán)里,直至程序關(guān)閉。這樣可以保證數(shù)據(jù)庫數(shù)據(jù)的實時更新。循環(huán)里設(shè)置一定的的等待時間,以提高CPU的利用率。下面以Labview8.6和MicrosoftAccess2010環(huán)境監(jiān)測來說明本發(fā)明的具體實施方法。1.以數(shù)據(jù)庫為聯(lián)系的數(shù)據(jù)寫入和數(shù)據(jù)顯示本發(fā)明實質(zhì)分為兩個部分,數(shù)據(jù)寫入和數(shù)據(jù)顯示,兩個部分是相互獨立的,寫入部分實現(xiàn)數(shù)據(jù)寫入數(shù)據(jù)庫,讀取部分直接從數(shù)據(jù)庫中讀取。2.數(shù)據(jù)在數(shù)據(jù)庫的儲存從輸入數(shù)據(jù)中提取表名。如圖5所示“傳感器數(shù)據(jù)”為一組已分割好的輸入數(shù)據(jù),為字符串數(shù)組形式,“460027215220444”為其基站編號,“8AC36B01004B1200”為傳感器編號,取其基站編號后三位“444”和傳感器編號前三位“8AC”連接為“4448_AC”作為表名(如圖6),可以清晰的反應該組數(shù)據(jù)為基站444下編號為8AC的傳感器的各組參數(shù)值。數(shù)據(jù)庫文件中應包含一個標準表,這里命名為1,它為后來新建的表格提供一種格式。表格是否存在的判斷如圖7所示,先用DBtoolslisttables列出所有表格表名,若不存在相等表名,則利用DBtoolscreatetable新建一與標準表1有相同格式的表。在進行數(shù)據(jù)是否重復的判斷時,我們只需要取出數(shù)據(jù)的時間參數(shù)進行判斷,即判斷將要寫入的數(shù)據(jù)中的時間與表中已存在的時間是否重復,一個很簡單的方法是利用DBtoolsselectdata的查詢功能如圖8所示,數(shù)據(jù)庫中記錄時間的一列的字段名為“時間”,在時間字符串輸入控件中,輸入?yún)?shù)隨當前輸入數(shù)據(jù)變化。3.數(shù)據(jù)顯示界面子VI調(diào)用先設(shè)置子vi的調(diào)用模式,將viproperties下customizewindowappearance中勾選showfrontpanelwhencalled禾口closeafterwardsiforiginallyclosed。如圖9當090_93C按鈕被按下時,就會跳出彈出顯示二級界面,退出二級界面時,窗口自動關(guān)閉。4.主界面的點擊方式是按鍵進入基站列表界面,通過圓形傳感器按鈕可進入數(shù)據(jù)讀取界面,通過選項卡控制同一graph中不同參數(shù)的顯示。權(quán)利要求1.一種基于IabView和數(shù)據(jù)庫的傳感器網(wǎng)絡后端數(shù)據(jù)處理方法,包括下列步驟(1)首先對傳感器網(wǎng)絡傳輸過來的原始字符串數(shù)據(jù)進行分割;(2)將分割后的數(shù)據(jù)存儲在數(shù)據(jù)庫中;(3)將數(shù)據(jù)直接寫入數(shù)據(jù)庫,讀取時直接從數(shù)據(jù)庫讀??;(4)將讀取的數(shù)據(jù)通過顯示模塊顯示。2.根據(jù)權(quán)利要求1所述的一種基于Iabview和數(shù)據(jù)庫的傳感器網(wǎng)絡后端數(shù)據(jù)處理方法,其特征在于所述的步驟(1)具體包括(11)接收傳感器網(wǎng)絡傳輸過來的無分隔的數(shù)據(jù),進行分割字符串,以字符串數(shù)組形式存儲,每個元素為一組傳感器數(shù)據(jù);(12)判斷數(shù)組是否結(jié)束,若是,則結(jié)束;若否,則進入下一步驟;(13)將每組傳感器數(shù)據(jù)按數(shù)據(jù)類型分割,并以簇的形式存儲;(14)寫入數(shù)據(jù)庫,并返回步驟(12)。3.根據(jù)權(quán)利要求1所述的一種基于Iabview和數(shù)據(jù)庫的傳感器網(wǎng)絡后端數(shù)據(jù)處理方法,其特征在于所述的步驟(具體包括(21)當一個類型為簇的傳感器數(shù)據(jù)寫入數(shù)據(jù)庫時,取出其基站編號和傳感器編號;(22)連接數(shù)據(jù)庫,判斷表“基站編號-傳感器編號”是否存在;若否,則先新建表,再進入下一步;若是,則進入下一步;(23)判斷數(shù)據(jù)是否重復;(24)在相應的表格插入數(shù)據(jù);(25)斷開數(shù)據(jù)庫。4.根據(jù)權(quán)利要求1所述的一種基于Iabview和數(shù)據(jù)庫的傳感器網(wǎng)絡后端數(shù)據(jù)處理方法,其特征在于所述的步驟(3)中的讀取時直接從數(shù)據(jù)庫讀取具體包括先進行類型轉(zhuǎn)換,然后通過選項卡的切換對傳感器的不同參數(shù)進行選擇,根據(jù)實際需要對參數(shù)進行校準,以波形圖輸出。全文摘要本發(fā)明涉及一種基于labview和數(shù)據(jù)庫的傳感器網(wǎng)絡后端數(shù)據(jù)處理方法,包括(1)首先對傳感器網(wǎng)絡傳輸過來的原始字符串數(shù)據(jù)進行分割;(2)將分割后的數(shù)據(jù)存儲在數(shù)據(jù)庫中;(3)將數(shù)據(jù)直接寫入數(shù)據(jù)庫,讀取時直接從數(shù)據(jù)庫讀?。?4)將讀取的數(shù)據(jù)通過顯示模塊顯示。本發(fā)明可以通過一個簡單的界面方便地查看傳感器與基站的關(guān)系,查看某個傳感器的某個參數(shù)及其變化趨勢,而且,所有傳輸過來的數(shù)據(jù)都被分類存儲在數(shù)據(jù)庫中。如有需要,還可以在界面上加上數(shù)據(jù)的查找等功能。本發(fā)明可用于大型傳感器網(wǎng)絡的后端數(shù)據(jù)處理上。文檔編號G06F17/30GK102387200SQ20111031932公開日2012年3月21日申請日期2011年10月20日優(yōu)先權(quán)日2011年10月20日發(fā)明者張洹千,杜曉薇,趙建龍,金慶輝申請人:中國科學院上海微系統(tǒng)與信息技術(shù)研究所