999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

組態軟件內存實時數據庫性能測試

2014-04-04 14:08:23朱廣宇
物聯網技術 2014年3期

朱廣宇

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

關鍵詞:組態軟件;內存;實時數據庫;Berkeley DB

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

0 引 言

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

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

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

1 內存實時數據庫

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

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

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

2 內存實時數據庫性能測試

2.1 測試目的

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

2.2 測試環境

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

本機配置如下:

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

測試的實際數據量為:

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

2.3 測試方法

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

2.4 測試代碼

內存實時數據庫性能的測試代碼如下:

#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;//設置數據插入數量,單位為萬次

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)

{

}

//實時數據插入

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 頁尺寸列表

(記錄數量: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)

(記錄數量:300萬;頁尺寸:4 KB;數據庫文件大小: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緩存大小(記錄數量:600萬;頁尺寸:4 KB;數據庫文件大小:160 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 結 語

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

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

參 考 文 獻

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

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

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

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

[5]梁巧玉.內存實時數據庫數據組織結構優化策略研究[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 結 語

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

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

參 考 文 獻

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

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

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

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

[5]梁巧玉.內存實時數據庫數據組織結構優化策略研究[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 結 語

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

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

參 考 文 獻

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

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

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

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

[5]梁巧玉.內存實時數據庫數據組織結構優化策略研究[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

主站蜘蛛池模板: 亚洲综合精品香蕉久久网| 国产精品私拍在线爆乳| 亚洲欧美国产五月天综合| 97影院午夜在线观看视频| 国产成人精品综合| 波多野结衣一级毛片| 欧美区日韩区| 亚洲欧美综合在线观看| 97久久人人超碰国产精品| 国产亚洲欧美日本一二三本道| 日韩在线欧美在线| 亚洲一级毛片| 国产精品视频免费网站| 米奇精品一区二区三区| 国产精品人成在线播放| 91在线中文| 91九色最新地址| 黄色网址免费在线| 国产国产人成免费视频77777| 午夜久久影院| 99爱在线| 草草影院国产第一页| 99re热精品视频国产免费| 久热这里只有精品6| 国产v精品成人免费视频71pao | 日韩国产高清无码| 久久亚洲国产最新网站| 香蕉久久国产精品免| 99精品福利视频| 毛片免费试看| 亚洲天堂网2014| 成人午夜亚洲影视在线观看| 好久久免费视频高清| 久热中文字幕在线| 亚洲v日韩v欧美在线观看| 午夜国产精品视频黄| 国产成人你懂的在线观看| 国产高清无码麻豆精品| 欧洲一区二区三区无码| 日本精品视频一区二区| 欧美一级大片在线观看| 亚洲欧洲日产国产无码AV| 中文字幕在线日韩91| 3344在线观看无码| 无码国内精品人妻少妇蜜桃视频 | 亚洲美女一区二区三区| 五月婷婷导航| 九九线精品视频在线观看| 2021亚洲精品不卡a| 国产迷奸在线看| 99久久精品久久久久久婷婷| 国产成人一区免费观看| 国产AV无码专区亚洲A∨毛片| 久久中文字幕不卡一二区| 中文字幕人成人乱码亚洲电影| a级毛片一区二区免费视频| 午夜限制老子影院888| 爆乳熟妇一区二区三区| 久草视频中文| 国产原创演绎剧情有字幕的| 一级毛片无毒不卡直接观看| 久久久久夜色精品波多野结衣| 91po国产在线精品免费观看| 亚洲综合激情另类专区| 亚洲国产天堂久久综合226114| 中文字幕免费视频| 亚洲美女操| 亚洲va在线观看| 久久久久九九精品影院| 国产在线专区| 久青草网站| 国产亚洲欧美在线人成aaaa | 波多野结衣久久高清免费| 国产夜色视频| 亚洲综合欧美在线一区在线播放| 97久久人人超碰国产精品| 网久久综合| 毛片基地美国正在播放亚洲| 色综合热无码热国产| 亚洲侵犯无码网址在线观看| 国产另类视频| 日本成人一区|