1 背景
在紫金橋軟件的實時數據庫版本中,提供了一組與關系數據庫通訊的工具——數據轉儲工具,數據轉儲工具包括數據轉儲組態和數據轉儲運行兩部分。數據轉儲組態主要用于定義通訊過程和數據交換機制;數據轉儲運行是數據交換的執行機構,它按照數據轉儲組態的定義來完成紫金橋軟件實時數據庫與其它系統關系數據庫之間的通訊。但用戶在使用過程中會對該功能的配置參數和效率產生疑問,為此,我們對該功能進行全面測試,得出了測試結論為用戶提供參考。
2 環境
本次測試的測試環境,包括硬件配置、所使用的軟件及軟件版本號如下所示:
表1 紫金橋軟件客戶端配置表
表2 關系數據庫服務器配置表
3 方法及原理
3.1 方法
測試將3000點、5000點、8000點、10000點、15000點、20000點、30000點、50000點實時數據轉儲到關系數據庫所用的時間。
3.2 原理
以轉儲3000點實時數據到關系數據庫為例,在關系庫記錄每條數據的生成時間,生成第3000條數據記錄的時間減去生成第1條數據記錄的時間就是我們想獲取的目標時間。
關系數據庫中表的列名:UPDATETIME,TAGNAME,TAGVALUE,LOCALTIME
UPDATETIME :實時數據采集時間
TAGNAME : 點名
TAGVALUE : 點參數,這里為PV
LOCALTIME : 關系數據庫生成此條數據的時間
假設第1個點的點名為TAG00000,第3000個點名為TAG02999,則目標TIME為:
TIME = TAG02999.LOCALTIME - TAG00000.LOCALTIME
4 過程
以3000點實時數據轉儲到關系數據庫為例,介紹測試過程,其它點數測試過程與其一致。
1.創建3000點工程,要求所有點保存歷史,保存精度為0。
2.利用紫金橋COMAPI接口編寫自動設值程序給點設值,為3000個點同時設值,值為當前時間的分鐘和秒數.
如:當前時間為4點30,則設值為430。
3.實時數據轉儲組態
創建實時數據轉儲任務,小于10000點的實時數據轉儲,只創建一個轉儲任務,大于10000點的實時數據轉儲任務,每10000萬點創建一個轉儲任務,剩余不足10000點的數據劃分到一個轉儲任務中。
轉儲任務創建過程如下:
在紫金橋軟件的安裝目錄,找到DBMSDEF.exe雙擊運行,對實時數據轉儲組態進行配置。
選擇【數據庫】選項卡,進行如下配置。
名稱:T3000
數據庫名稱:新建數據源
數據表:T3000
表結構:窄行(每個位號一個記錄)
通過引入功能將3000點導入,如上圖。
選擇【其他】選項卡,進行如下配置:
數據流向:實時庫到管理庫
啟始時間:置為當前時間
更新周期:30秒
存儲方式:插入
保存天數與啟用斷線恢復:默認
點擊確定。
1.在紫金橋軟件的安裝目錄,找到DBMSDEF.exe雙擊運行。
2.在DBMSDEF.exe的運行界面觀察,當發現關系數據庫中已經為數據轉儲創建完表T3000后,停止數據轉儲運行。通過“Microsoft SQL Server Management Studio”工具查看關系庫中的數據轉儲情況,在數據庫“QWE”中修改表“T3000”增加列“localtime”,將此字段綁定為getdate(),數據類型設為DATETIME,這樣在每生成一條數據時會自動將數據的生成時間記錄下來。
3.再次運行數據轉儲,數據轉儲運行一段時間后將數據導入Excel中,獲取TAG00000點在關系庫中的生成時間和TAG02999點在關系庫中的生成時間,取兩者之差就是我們所要的完成3000點實時數據轉儲到關系數據庫所用的時間。
4.每個數據轉儲最多只能轉儲10000點,當一個工程需要轉儲的點數大于10000點時,需要創建多個數據轉儲。本次測試中轉儲點數小于10000點的,只創建了一個轉儲任務。大于10000點轉儲我們創建了多個轉儲任務。具體如下表:
表3 轉儲點數與轉儲任務對應表
5 結果
表4 轉儲不同點數數據到關系數據庫所消耗的時間
6 結論
1.轉儲不同點數數據到關系數據庫所消耗的時間,為用戶做參考,如表4。
2.創建工程時,一個區域所創建的點數需小于30000點。
3.每個實時數據轉儲任務最多只能轉儲10000點數據,多于10000點數據,無法轉儲到關系數據庫,如果一個工程中需要做實時轉儲的數據大于10000點,請建多個實時數據轉儲任務。
4.當轉儲的點數較大時,在點擊實時數據轉儲組態對話框中【點定義】選項卡時,界面會發生較長時間未響應現象,但不影響使用。
5.實時數據轉儲的效率與計算機硬件配置、網絡通訊、SQL軟件版本等有很大關系,建議在使用數據轉儲工具時,先按照工程實際點數測試,得出轉儲時間,看其能否滿足實際需要。
有任何關于組態軟件的技術問題或需要更多的技術資料,可以在微信(微信號:Realinfo)留下聯系方式或者到http://www.realinfo.cc/交流論壇里提出,我們將及時為您解答。