• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關 閉

    新聞中心

    EEPW首頁 > 安全與國防 > 設計應用 > 嵌入式數據庫礦場安全系統的設計

    嵌入式數據庫礦場安全系統的設計

    作者: 時間:2010-08-21 來源:網絡 收藏

      

      數據采集程序設計

      數據采集模塊程序使用了 ReadFile.h 和ReadFile.cpp 文件,因此本文設計了CReadFile 類,該類封裝了對dev.xml 和rtdata.xml 交換文件所有的數據采集操作。根據 dev.xml 和rtdata.xml 交換文件的構成,以及數據庫存儲操作上的考慮,程序為每個傳感器設計了DEVDATA 和REALDATA 結構體,分別用來保存dev.xml 和rtdata.xml 文件的數據信息。DEVDATA 結構體如下所示:

      typedef struct devdata

      { TCHAR m_str_devSubstation[MAXLENGTH];//分站

      TCHAR m_str_devID[MAXID];//傳感器編號

      TCHAR m_str_devPlace[MAXLENGTH];//安裝地點

      TCHAR m str_devName[MAX];//檢測類別

      TCHAR m str_devType[MAX];//傳感器類型

      TCHAR m str_devUnit[MAX];//單位

      float m_data_up;//量程上限

      float mes_data_down;//量程下限

      float m_alarrn_up;//報警上限

      float m_alarm_down;//報警下限

      float m_power_off;//斷電值

      float m_power_on;//復電值

      }DEVDATA;

      REALDATA 結構體如下所示:

      typedef struct realdata

      {TCHAR m_str_devID[MAXID];//傳感器編號

      float m_data;//傳感器數值

      TCHAR m_str_dataStatus[MAXSTATUS];//數據狀態

      }REALDATA;

      CReadFile 類使用了CPtrList 鏈表數據結構,用以管理交換文件的所有傳感器信息,數據節點為DEVDATA 和REALDATA 結構體。

      3.2 數據存儲模塊

      將傳感器設備上傳時間作為 key,封裝在DEVDATA 結構體中的設備安裝信息和封裝在REALDATA 結構體中的實時數據信息分別構成數據庫的data,從而構成兩組Key 到Data對。因此,該方案將形成兩張表,分別存儲在兩個數據庫文件中。將傳感器設備安裝信息和實時數據信息形成兩個數據庫文件分別存儲,只在設備安裝信息改變的時候才會進行設備文件的存儲操作,這樣大大減少了數據庫文件的磁盤占用空間。

       用Key/Data(關鍵詞/數據)來區分數據庫中的數據,Key/Data 對是 用來進行數據庫管理的基礎,由這兩者構成的Key/Data 對組成了數據庫中的一個基本結構單元,而整個數據庫實際上就是由許多這樣的結構單元所構成的。也就是說,調用數據庫接口實際上就是提供了相應的關鍵詞,通過該關鍵詞來查找要操作的數據。

      如果把一組相關的 Key/Data 對也看作一個表的話,那么每一個數據庫只允許存放一個table,因此,一般一種類型的Key/Data 對構成一個數據庫文件。數據庫存儲代碼設計主要分為設備安裝信息(key/data 對為設備上傳時間/DEVDATA 結構體)存儲代碼設計和實時數據信息(key/data 對為設備一上傳時間/REALDATA 結構體)存儲代碼設計。 是以文件為單位進行數據庫管理的,由于設備安裝信息只在數據改變的時候才進行數據庫存儲操作,并且其間隔周期較長,因此作者設計了dev.db 文件實現安裝信息的存儲管理;由于實時數據信息的更新周期較短,數據庫存儲操作頻繁,并且每天都會有數據的采集和更新,因此作者以每天的日期為單位設計了實時數據庫文件,系統將會獲取當天的日期,并以之為文件名形成數據庫文件進行數據庫操作,例如當天的日期為2007 年2 月8 日,那么數據庫文件名為 2007-02-08.db 。

     



    評論


    流程圖:

    技術專區

    關閉
    主站蜘蛛池模板: 五莲县| 方正县| 油尖旺区| 拉孜县| 平舆县| 武乡县| 峨眉山市| 南昌市| 夏邑县| 北碚区| 平泉县| 杭州市| 额尔古纳市| 湛江市| 济阳县| 独山县| 海盐县| 岳池县| 邢台县| 景洪市| 建湖县| 富源县| 克山县| 忻州市| 鄄城县| 龙岩市| 化州市| 荆州市| 宿州市| 巴马| 保靖县| 蒙城县| 林芝县| 东明县| 亳州市| 札达县| 无极县| 且末县| 介休市| 云林县| 柏乡县|