亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        組態(tài)軟件內(nèi)存實時數(shù)據(jù)庫性能測試

        2014-04-04 14:08:23朱廣宇
        物聯(lián)網(wǎng)技術 2014年3期
        關鍵詞:組態(tài)軟件內(nèi)存

        朱廣宇

        摘 要:介紹了內(nèi)存實時數(shù)據(jù)庫在工業(yè)控制DCS組態(tài)軟件中的應用及其在數(shù)據(jù)采集過程中的重要性;針對組態(tài)軟件內(nèi)存實時數(shù)據(jù)庫的特點,測試了在不同的數(shù)據(jù)組織形式、內(nèi)存置換頁面大小以及緩存大小下數(shù)據(jù)庫的性能,通過測試,得出了不同的配置組合對內(nèi)存實時數(shù)據(jù)庫性能的影響,從而為下一步的研究工作打下了基礎。

        關鍵詞:組態(tài)軟件;內(nèi)存;實時數(shù)據(jù)庫;Berkeley DB

        中圖分類號:TP392 文獻標識碼:A 文章編號:2095-1302(2014)03-0070-03

        0 引 言

        伴隨著分布式控制系統(tǒng)DCS(Distributed Control System)的出現(xiàn),以及其在工控領域的廣泛應用,組態(tài)軟件開始逐漸被廣大技術人員所熟悉?!敖M態(tài)”的概念最早來自英文Configuration,其含義是使用軟件工具對計算機及軟件的各種資源進行配置(包括進行對象的定義、制作和編輯,并設定其狀態(tài)特征屬性參數(shù)),達到使計算機或軟件按照預先設置,自動執(zhí)行特定任務,滿足使用者要求的目的[1]。

        組態(tài)軟件是應用在數(shù)據(jù)采集和過程控制層面的一種專用軟件,應用在分布式控制系統(tǒng)數(shù)據(jù)監(jiān)控層一級。通過使用組態(tài)軟件,可以為DCS工控系統(tǒng)提供良好的用戶開發(fā)界面以及簡潔的使用方法,可以非常容易地實現(xiàn)和完成對分布式工業(yè)控制系統(tǒng)各個模塊的模擬和監(jiān)控功能,使計算機圖形界面與工控系統(tǒng)真實設備聯(lián)系起來;通過集成各個硬件廠家的I/O接口以及設備接口,組態(tài)軟件能夠采集到工控設備的現(xiàn)場數(shù)據(jù),通過實時數(shù)據(jù)庫進行處理,并存儲到歷史數(shù)據(jù)庫供查詢使用;通過設置,可以對采集數(shù)據(jù)提供報警和報表功能;同時,組態(tài)軟件應該能支持各種工控設備和常見的通信協(xié)議,并且通常應提供分布式數(shù)據(jù)管理和網(wǎng)絡功能[2]。

        組態(tài)軟件產(chǎn)品于上世紀80年代初出現(xiàn),并且得到了良好的發(fā)展,目前世界上的組態(tài)軟件有幾十種之多,其中主要包括美國Wonderware的Intouch、美國Intellution公司的 Fix、澳大利亞Cit公司的Citech、德國Simens的Wincc、北京亞控自動化軟件有限公司開發(fā)的組態(tài)王(Kingview)、大慶三維公司的ForceControl以及北京昆侖通態(tài)自動化軟件科技有限公司開發(fā)研制的MCGS等。伴隨著國家對工控領域的支持不斷加大,組態(tài)軟件將在工控信息化中扮演越來越重要的角色,未來發(fā)展的空間也會不斷擴大。

        1 內(nèi)存實時數(shù)據(jù)庫

        大批量生產(chǎn)、連續(xù)加工過程、高度自動化程度是流程工業(yè)的特點,這需要在過程監(jiān)控時提供高速的數(shù)據(jù)處理、長期的數(shù)據(jù)存儲。工業(yè)控制系統(tǒng)是一個實時系統(tǒng),它實時地從外界采集數(shù)據(jù)進行運算、判斷后輸出控制量,因此對數(shù)據(jù)的管理呈現(xiàn)出實時特點[3]。因此,實時數(shù)據(jù)庫是組態(tài)軟件處理數(shù)據(jù)、組織數(shù)據(jù)和管理數(shù)據(jù)的核心,它能夠高效地處理和存儲工控系統(tǒng)生產(chǎn)過程中的實時數(shù)據(jù),為優(yōu)化過程控制和企業(yè)的經(jīng)營決策提供完整的實時數(shù)據(jù)和完備的歷史信息[4]。

        根據(jù)工控系統(tǒng)的特點,在工業(yè)組態(tài)軟件中需要應用內(nèi)存實時數(shù)據(jù)庫,分以下幾種情況:內(nèi)存實時數(shù)據(jù)庫整個數(shù)據(jù)庫常駐內(nèi)存,對數(shù)據(jù)的存取不需要 I/O 操作;整個數(shù)據(jù)庫不用常駐內(nèi)存,但存取數(shù)據(jù)時,應先進入內(nèi)存,即數(shù)據(jù)庫的存取在內(nèi)存中進行;數(shù)據(jù)庫常駐磁盤,增大緩沖區(qū),在一個事務執(zhí)行之前,所有的數(shù)據(jù)都已經(jīng)取到內(nèi)存,經(jīng)適當?shù)木彌_區(qū)管理減少甚至消除 I/O[5],這些特點決定了內(nèi)存實時數(shù)據(jù)庫能夠及時有效地處理和維護大量的共享數(shù)據(jù)和控制數(shù)據(jù),滿足工業(yè)組態(tài)軟件對于事務時間性方面的要求。

        對于內(nèi)存實時數(shù)據(jù)庫來說,由于已不再涉及 I/O,所以在時間和空間矛盾的處理上,空間是第一位,系統(tǒng)的算法設計目標應該是內(nèi)存空間和 CPU的高效使用。為了達到這一目標,應該對內(nèi)存實時數(shù)據(jù)庫的數(shù)據(jù)組織結構、事務處理和數(shù)據(jù)管理、并發(fā)控制及恢復技術、內(nèi)存置換頁面以及緩存大小等方面進行研究與測試[5],使其能夠提供更好的性能,滿足工業(yè)控制組態(tài)軟件的需求。

        2 內(nèi)存實時數(shù)據(jù)庫性能測試

        2.1 測試目的

        針對內(nèi)存實時數(shù)據(jù)庫的特點和研究與測試方面的要求,設置內(nèi)存實時數(shù)據(jù)庫的數(shù)據(jù)組織形式、內(nèi)存置換頁面大小以及緩存大小,通過測試數(shù)據(jù),得出不同的配置組合對內(nèi)存實時數(shù)據(jù)庫性能上的影響,為下一步的研究工作打下基礎。

        2.2 測試環(huán)境

        測試對象采用Berkeley DB內(nèi)存實時數(shù)據(jù)庫系統(tǒng)。Berkeley DB歷史悠久,主要應用在Unix/Linux操作系統(tǒng)上,其設計思想是簡單、小巧、可靠、高性能。它可為應用程序提供可伸縮的、高性能的、有事務保護功能的數(shù)據(jù)管理服務。同時Berkeley DB為數(shù)據(jù)的存取和管理提供了一組簡潔的函數(shù)調(diào)用API接口。Berkeley DB對接收到的實時數(shù)據(jù)采用關鍵詞(Key)和數(shù)據(jù)(Value)的存儲結構,這兩者構成的Key/Value對組成了數(shù)據(jù)庫中的一個基本結構單元,而整個數(shù)據(jù)庫實際上就是由許多這樣的結構單元所構成的。通過使用這種方式,簡化了實時數(shù)據(jù)的存儲邏輯關系,同時,簡便的數(shù)據(jù)庫查詢和訪問方式也能夠滿足工業(yè)組態(tài)軟件的需求。所以,在此測試中,所有的數(shù)據(jù)插入的都是Key=int,Value=int,在循環(huán)中遞增的。

        本機配置如下:

        OS為Windows 7旗艦版;RAM=8 GB;CPU=Intel Core i7-3770 CPU 3.4 GHz;Disk=500 GB;NTFS的默認簇大小為4 KB。

        測試的實際數(shù)據(jù)量為:

        300*10 000*2*sizeof(int)/1 024/1 024≌22.89 MB;編譯器:Visual C++ 6.0;Berkeley DB內(nèi)存實時數(shù)據(jù)庫版本為db-5.3.21.NC

        2.3 測試方法

        循環(huán)插入int類型的數(shù)據(jù),同時設置Berkeley DB的參數(shù),測試在不同存儲方循環(huán)插入int類型的數(shù)據(jù),同時設置Berkeley DB的參數(shù),測試在不同數(shù)據(jù)組織形式、內(nèi)存置換頁面大小以及Cache緩存大小的設置下,數(shù)據(jù)庫讀寫的性能,以確定組態(tài)軟件實時數(shù)據(jù)庫部分的存儲方式。

        2.4 測試代碼

        內(nèi)存實時數(shù)據(jù)庫性能的測試代碼如下:

        #include “stdafx.h”

        #include “db.h”

        #include “db_cxx.h”

        #include “windows.h”

        #include “winbase.h”

        int main(intargc, char* argv[])

        {

        size_tpsize = 1;//設置頁面大小,單位為KB

        size_tcsize = 10;//設置cache大小,單位為MB

        inttcount = 300;//設置數(shù)據(jù)插入數(shù)量,單位為萬次

        Dbdb(NULL, 0);

        db.set_pagesize(1024*psize);

        db.set_cachesize(0, 1024*1024*csize, 0);

        u_int32_toFlags = DB_CREATE;

        try

        {

        db.open(NULL,"test.db",NULL,DB_BTREE,oFlags,0);

        }

        catch(DbException&e)

        {

        }

        catch(std::exception &e)

        {

        }

        //實時數(shù)據(jù)插入

        Dbtkey,data;

        inti,ret,count=10000*tcount;

        long t1 = GetTickCount();//開始時間

        for(i=0;i

        {

        Dbtkey(&i,sizeof(int));

        Dbtdata(&i,sizeof(int));

        db.put(0, &key, &data, DB_NOOVERWRITE);

        }

        long t2 = GetTickCount();//結束時間

        printf("插入結束%d萬記錄,全部用時:%.2f秒\r\n",tcount,(t2-t1)/(float)1000);

        long tick1=GetTickCount();

        try

        {

        Dbc *dbcp;

        db.cursor(NULL, &dbcp, 0);

        Dbt key;

        Dbt data;

        while (dbcp->get(&key, &data, DB_NEXT) == 0)

        {

        key.get_data();

        data.get_data();

        }

        dbcp->close();

        printf("遍歷結束 %d 萬記錄,全部用時:%.2f秒\r\n",tcount,(GetTickCount()-tick1)/(float)1000);

        db.sync(0);

        }

        catch (DbException&dbe) {}

        db.close(0);

        return 0;

        }

        2.5 測試結果

        代碼運行界面如圖1所示。

        圖1 代碼運行界面

        代碼運行后所得到的結果如表1——表3所列。

        表1 頁尺寸列表

        (記錄數(shù)量:300萬,緩存尺寸:0 MB 單位:s)讀寫 1 KB 2 KB 4 KB 8 KB 16 KB 32 KB

        B+寫 33.71 30.28 26.85 28.30 34.09 50.59

        HASH寫 50.92 46.32 48.64 54.10 67.44 91.39

        B+讀 2.03 2.00 2.03 2.11 2.20 2.34

        HASH讀 4.24 4.51 3.85 3.70 3.67 3.32

        表2 Cache緩存大小列表(1)

        (記錄數(shù)量:300萬;頁尺寸:4 KB;數(shù)據(jù)庫文件大小:80.2 MB;單位:s)

        讀寫 0 MB 10 MB 20 MB 40 MB 80 MB 160 MB 320 MB

        B+寫 31.78 17.04 16.04 15.12 11.50 11.37 11.33

        HASH寫 46.85 30.39 22.2 16.49 12.65 12.92 13.39

        B+讀 2.46 2.65 2.61 2.65 2.59 2.54 2.56

        HASH讀 3.73 3.54 3.2 3.21 3.12 3.18 3.25

        表3 Cache緩存大小列表(2)

        Cache緩存大?。ㄓ涗洈?shù)量:600萬;頁尺寸:4 KB;數(shù)據(jù)庫文件大?。?60 MB;單位:s)

        讀寫 0 MB 10 MB 20 MB 40 MB 80 MB 160 MB 320 MB

        B+寫 71.07 44.60 43.41 41.95 36.13 24.77 24.49

        HASH寫 102.21 85.82 67.00 52.56 43.51 28.24 27.75

        B+讀 5.21 5.48 5.51 5.49 5.41 5.30 5.24

        HASH讀 8.24 8.22 7.91 7.52 7.11 6.74 6.75

        4 結 語

        根據(jù)以上運行結果,可以看出組態(tài)軟件內(nèi)存實時數(shù)據(jù)庫Berkeley DB在采用B+樹存儲方式的時候,其寫入和讀取性能明顯高于HASH存儲方式;當頁面尺寸為4 KB時,Berkeley DB的存儲效率最高,隨著頁面尺寸的不斷增大,效率反而逐漸降低;當確定了頁面尺寸為4 KB后,逐漸改變Cache緩存大小,比較300萬與600萬兩種記錄數(shù)量,發(fā)現(xiàn)無論是B+樹的存儲方式還是HASH的存儲方式,當緩存很小的時候,效率都很差,而當緩存大小大于等于數(shù)據(jù)庫文件大小時,效率最高,之后隨著緩存逐漸增大,對效率的影響很小。

        通過該測試可以得出,不同的數(shù)據(jù)組織形式、內(nèi)存置換頁面大小以及Cache緩存大小對內(nèi)存實時數(shù)據(jù)庫的效率性能影響很大,本文只針對B+樹和HASH存儲方式進行了測試,測試的內(nèi)容并不完善,下一步應該對數(shù)據(jù)的組織形式進行深入的研究,挖掘更適合鍵值對形式的工業(yè)組態(tài)軟件內(nèi)存實時數(shù)據(jù)組織結構。

        參 考 文 獻

        [1]王亞民, 陳青, 劉暢生. 組態(tài)軟件設計與開發(fā)[M]. 西安: 西安電子科技大學出版社, 2003.

        [2]馬國華.監(jiān)控組態(tài)軟件的發(fā)展趨勢與現(xiàn)狀[J].世界儀表與自動化,2002,6(5):10-11.

        [3]韓玫瑰,史明華,馬濤,等.DCS組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的設計[J].自動化儀表,2006,27(1):18-21.

        [4]姚晴怡,張曦煌.組件軟件系統(tǒng)中實時數(shù)據(jù)庫設計[J].福建電腦,2007,(10):145-146.

        [5]梁巧玉.內(nèi)存實時數(shù)據(jù)庫數(shù)據(jù)組織結構優(yōu)化策略研究[D].太原:太原科技大學,2010.

        Performance test of memory real-time database of configuration software

        ZHHU Guang-yu

        (National Computer System Engineering Research Institute of China, Beijing 100083, China)

        Abstract: The importance of the application of memory real-time database in industrial control DCS configuration software and in the data collection process is introduced. Aiming at the features of memory real-time database of the configuration software, the database performance data in different forms of organization, memory replacement page size and cache size is tested. Test result shows the effects of combinations of different configurations on the memory real-time database performance, which can lay the foundation for further research.

        Keyword: configuration software; memory; real-time database; Berkeley DB

        B+讀 5.21 5.48 5.51 5.49 5.41 5.30 5.24

        HASH讀 8.24 8.22 7.91 7.52 7.11 6.74 6.75

        4 結 語

        根據(jù)以上運行結果,可以看出組態(tài)軟件內(nèi)存實時數(shù)據(jù)庫Berkeley DB在采用B+樹存儲方式的時候,其寫入和讀取性能明顯高于HASH存儲方式;當頁面尺寸為4 KB時,Berkeley DB的存儲效率最高,隨著頁面尺寸的不斷增大,效率反而逐漸降低;當確定了頁面尺寸為4 KB后,逐漸改變Cache緩存大小,比較300萬與600萬兩種記錄數(shù)量,發(fā)現(xiàn)無論是B+樹的存儲方式還是HASH的存儲方式,當緩存很小的時候,效率都很差,而當緩存大小大于等于數(shù)據(jù)庫文件大小時,效率最高,之后隨著緩存逐漸增大,對效率的影響很小。

        通過該測試可以得出,不同的數(shù)據(jù)組織形式、內(nèi)存置換頁面大小以及Cache緩存大小對內(nèi)存實時數(shù)據(jù)庫的效率性能影響很大,本文只針對B+樹和HASH存儲方式進行了測試,測試的內(nèi)容并不完善,下一步應該對數(shù)據(jù)的組織形式進行深入的研究,挖掘更適合鍵值對形式的工業(yè)組態(tài)軟件內(nèi)存實時數(shù)據(jù)組織結構。

        參 考 文 獻

        [1]王亞民, 陳青, 劉暢生. 組態(tài)軟件設計與開發(fā)[M]. 西安: 西安電子科技大學出版社, 2003.

        [2]馬國華.監(jiān)控組態(tài)軟件的發(fā)展趨勢與現(xiàn)狀[J].世界儀表與自動化,2002,6(5):10-11.

        [3]韓玫瑰,史明華,馬濤,等.DCS組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的設計[J].自動化儀表,2006,27(1):18-21.

        [4]姚晴怡,張曦煌.組件軟件系統(tǒng)中實時數(shù)據(jù)庫設計[J].福建電腦,2007,(10):145-146.

        [5]梁巧玉.內(nèi)存實時數(shù)據(jù)庫數(shù)據(jù)組織結構優(yōu)化策略研究[D].太原:太原科技大學,2010.

        Performance test of memory real-time database of configuration software

        ZHHU Guang-yu

        (National Computer System Engineering Research Institute of China, Beijing 100083, China)

        Abstract: The importance of the application of memory real-time database in industrial control DCS configuration software and in the data collection process is introduced. Aiming at the features of memory real-time database of the configuration software, the database performance data in different forms of organization, memory replacement page size and cache size is tested. Test result shows the effects of combinations of different configurations on the memory real-time database performance, which can lay the foundation for further research.

        Keyword: configuration software; memory; real-time database; Berkeley DB

        B+讀 5.21 5.48 5.51 5.49 5.41 5.30 5.24

        HASH讀 8.24 8.22 7.91 7.52 7.11 6.74 6.75

        4 結 語

        根據(jù)以上運行結果,可以看出組態(tài)軟件內(nèi)存實時數(shù)據(jù)庫Berkeley DB在采用B+樹存儲方式的時候,其寫入和讀取性能明顯高于HASH存儲方式;當頁面尺寸為4 KB時,Berkeley DB的存儲效率最高,隨著頁面尺寸的不斷增大,效率反而逐漸降低;當確定了頁面尺寸為4 KB后,逐漸改變Cache緩存大小,比較300萬與600萬兩種記錄數(shù)量,發(fā)現(xiàn)無論是B+樹的存儲方式還是HASH的存儲方式,當緩存很小的時候,效率都很差,而當緩存大小大于等于數(shù)據(jù)庫文件大小時,效率最高,之后隨著緩存逐漸增大,對效率的影響很小。

        通過該測試可以得出,不同的數(shù)據(jù)組織形式、內(nèi)存置換頁面大小以及Cache緩存大小對內(nèi)存實時數(shù)據(jù)庫的效率性能影響很大,本文只針對B+樹和HASH存儲方式進行了測試,測試的內(nèi)容并不完善,下一步應該對數(shù)據(jù)的組織形式進行深入的研究,挖掘更適合鍵值對形式的工業(yè)組態(tài)軟件內(nèi)存實時數(shù)據(jù)組織結構。

        參 考 文 獻

        [1]王亞民, 陳青, 劉暢生. 組態(tài)軟件設計與開發(fā)[M]. 西安: 西安電子科技大學出版社, 2003.

        [2]馬國華.監(jiān)控組態(tài)軟件的發(fā)展趨勢與現(xiàn)狀[J].世界儀表與自動化,2002,6(5):10-11.

        [3]韓玫瑰,史明華,馬濤,等.DCS組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的設計[J].自動化儀表,2006,27(1):18-21.

        [4]姚晴怡,張曦煌.組件軟件系統(tǒng)中實時數(shù)據(jù)庫設計[J].福建電腦,2007,(10):145-146.

        [5]梁巧玉.內(nèi)存實時數(shù)據(jù)庫數(shù)據(jù)組織結構優(yōu)化策略研究[D].太原:太原科技大學,2010.

        Performance test of memory real-time database of configuration software

        ZHHU Guang-yu

        (National Computer System Engineering Research Institute of China, Beijing 100083, China)

        Abstract: The importance of the application of memory real-time database in industrial control DCS configuration software and in the data collection process is introduced. Aiming at the features of memory real-time database of the configuration software, the database performance data in different forms of organization, memory replacement page size and cache size is tested. Test result shows the effects of combinations of different configurations on the memory real-time database performance, which can lay the foundation for further research.

        Keyword: configuration software; memory; real-time database; Berkeley DB

        猜你喜歡
        組態(tài)軟件內(nèi)存
        外部高速緩存與非易失內(nèi)存結合的混合內(nèi)存體系結構特性評測
        高技術通訊(2021年5期)2021-07-16 07:20:26
        “春夏秋冬”的內(nèi)存
        當代陜西(2019年13期)2019-08-20 03:54:22
        基于組態(tài)軟件的PLC仿真教學系統(tǒng)的設計與開發(fā)
        車床自動上下料機械手臂自動化改造電控方案設計
        基于面向?qū)ο蟮慕M態(tài)軟件實時數(shù)據(jù)庫的設計
        求知導刊(2016年27期)2016-11-07 12:08:53
        基于MODBUS RTU協(xié)議的數(shù)據(jù)采集及控制模擬研究
        軟件導刊(2015年9期)2015-10-09 12:36:19
        內(nèi)存搭配DDR4、DDR3L還是DDR3?
        基于WebAccess的PLC遠程控制系統(tǒng)設計
        基于Linux平臺組態(tài)軟件圖形界面系統(tǒng)的設計研究
        基于內(nèi)存的地理信息訪問技術
        人妻精品一区二区三区视频| 四虎影视永久在线精品| 极品少妇hdxx麻豆hdxx| 人与动牲交av免费| 国产精成人品| 亚洲精品无码av片| 日韩欧美在线播放视频| 特级毛片全部免费播放a一级 | 伊人狼人激情综合影院| 日韩免费精品在线观看| 亚洲乱码一区二区三区在线观看 | 久久久久久av无码免费网站下载| 国产两女互慰高潮视频在线观看 | 精品丝袜人妻久久久久久| 2021国产精品一区二区在线| 亚洲精品二区在线观看| 人妻少妇中文字幕久久hd高清| 粉嫩国产av一区二区三区| 夜夜爽日日澡人人添| 免费看久久妇女高潮a| 日本不卡视频网站| 亚洲无码激情视频在线观看| 一本大道久久a久久综合精品| 国产成人a级毛片| 一本一道av无码中文字幕﹣百度| 天堂在线www中文| 日韩人妻无码精品二专区| 精品亚洲av一区二区| 日本激情网站中文字幕| 久久97久久97精品免视看 | 中出人妻中文字幕无码| 精品国产AⅤ无码一区二区| 亚洲天堂一区二区三区视频| 婷婷久久精品国产色蜜蜜麻豆| 亚洲av成人片在线观看| 国产丝袜视频一区二区三区| av一区二区三区亚洲| 一区二区三区在线日本| 亚洲综合自拍偷拍一区| 色欲aⅴ亚洲情无码av| 成人国产精品999视频|