国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OPC UA的歷史數據存取

2010-07-25 08:43:52陳騫劍強汪鐳胡飛凰吳啟迪
微型電腦應用 2010年2期
關鍵詞:歷史數據數據文件偏差

陳騫,劍強,汪鐳,胡飛凰,吳啟迪

0 引言

OPC(OLE for Process Control)技術在當今過程控制領域,是一種非常流行的數據交換技術。但是隨著技術的發(fā)展和設備的革新,企業(yè)在應用OPC技術的過程中又遭受到重重難關,OPC技術自身的缺陷成了企業(yè)進一步發(fā)展壯大的瓶頸。首先是它的COM基礎,使開發(fā)過程受到限制;其次是OPC規(guī)范的局限性,沒有提供必要的網絡安全性、協(xié)同互操作性及可靠性;再次是現行OPC平臺不獨立,它受限于Microsoft 公司的操作系統(tǒng),對Linux、OS等系統(tǒng)缺乏支持?;谶@種情況,OPC基金會推出了新一代OPC UA(OPC Unified Architecture)規(guī)范。

1 OPC UA簡介

OPC UA 是一個新的工業(yè)軟件應用接口規(guī)范,其目的在于提出一個企業(yè)制造模型的統(tǒng)一對象和架構定義,具有跨平臺、增強命名空間、支持復雜數據內置、大量通用服務等新特點。

OPC UA規(guī)范由十三部分構成,其中主要的核心規(guī)范為Data Access,Alarm & Conditions,Historical Access三部分。每種規(guī)范對應著一種類型的服務器和客戶程序的開發(fā),它們的區(qū)別是實現功能的側重點不同。

其中,歷史存取(Historical Access)服務器包括歷史數據存取和歷史事件存取兩部分,歷史數據存取是指將不同應用層次的實時數據用統(tǒng)一的標準集成起來,保存在數據存儲器中,然后根據客戶程序需求訪問指定的歷史數據;歷史事件存取是指將警報和條件規(guī)范中得到的事件保存起來,以供客戶程序訪問。

2 OPC UA歷史數據存取

OPC UA規(guī)范作為新一代的OPC技術,勢必將廣泛應用在實際工業(yè)生產流程中。如今的工業(yè)信息量在膨脹式增長,在整個流程工業(yè)中所集成的數據采集點數通常有幾千到十幾萬,數據采集間隔要達到毫秒級,數據量很大,為了使工業(yè)生產系統(tǒng)快速、有效地管理數據,提高磁盤存儲效率以及查詢性能,必須要有一套高效的數據存儲機制來保存歷史數據。

歷史數據的存取需要數據存儲器來管理數據,數據存儲器可以使用文件系統(tǒng),也可以使用關系數據庫,比如SQL Server。 OPC UA規(guī)范描述了歷史訪問服務器要實現的功能,不涉及服務器的內部實現。歷史數據是基于時間的一些連續(xù)模擬量或數字量(比如溫度、壓力、流量、閥門開關等) ,完全不同于普通關系數據庫處理的那些離散的、非連續(xù)的、不基于時間的二維關系表數據(比如訂單信息、財務信息、人事管理信息等)。

因此,本文采用文件系統(tǒng)作為數據存儲器,在符合規(guī)范定義的條件下,通過存儲過程、存儲方式和查詢過程三部分給出一種歷史數據的存取機制,并設計了一種文件結構,以便客戶程序準確高效地處理歷史數據。

3 數據存儲過程

數據存儲過程分為四個部分完成,首先是將從現場設備采集的歷史數據進行過濾操作,接著是歷史數據的壓縮處理,然后是內存數據操作,包括隊列和緩沖區(qū)的設計,最后是將緩沖區(qū)的內存數據歸檔到磁盤文件,如圖 1所示給出數據存儲過程的流程圖:

1) 來自不同設備的數據首先要進行過濾,使?jié)M足要求的數據被傳送;過濾操作設置三個參數:過濾最小偏差、過濾最大偏差、最小時間偏差:

過濾最小偏差:當前數據和上一個數據之間的絕對差值的最小規(guī)定,此參數限定可以過濾一些變化率較小的數據。

過濾最大偏差:當前數據和上一個數據之間的絕對差值的最大規(guī)定,此參數限定可以過濾一些異常的數據。

最小時間偏差:當前數據和上一個數據過濾的時間偏差的最小規(guī)定,此參數限定可以避免部分現場噪音的干擾。

2) 當新數據與前一數據的絕對差值在設定的過濾最小偏差和過濾最大偏差之間并且兩個數據的時間差大于或等于給定的最小時間偏差,新數據將通過過濾而送往歷史數據源隊列過濾完的數據送到歷史數據源隊列中成為需要歸檔的歷史數據源, 為了確保高效的數據存儲,需要對歷史數據進一步壓縮處理;

3)通過壓縮的數據被送到位于內存中的歸檔數據隊列中,歸檔數據隊列對送往歸檔文件的數據進行緩沖:歸檔過程使用定時器定時將數據傳送;如果歸檔數據隊列已滿并且歸檔過程不可用時,歸檔數據隊列將會把數據寫入臨時磁盤文件,等歸檔可用時再轉存入歸檔文件中;

為了降低與磁盤的操作頻率,從歸檔數據隊列出來的數據將被送往歸檔緩沖區(qū)。系統(tǒng)為每個屬性ID設定一個緩沖區(qū),當歸檔緩沖區(qū)中數據達到一定值,則將這些數據以數據塊形式一起寫入磁盤歸檔文件存儲。

圖1 實時數據的存儲過程

4 數據存儲方式

由于歷史數據的采集、處理、存儲和查詢都有較高的時間要求,數據的存儲方式按照OPC UA標準采用網絡數據模型,將數據的索引和結構分為設備、數據ID和數據其他信息三級,其中設備和數據ID作為索引結構存儲,數據其他信息以數據塊的形式存儲。

存儲設備數據的每一條歷史數據記錄需要包含四個字段:ID,Status Code,Value,Time。ID表示每個標簽點(測量點)的標識符,在同一系統(tǒng)中每個標簽點的ID是唯一的;Status Code表示實時歷史數據的質量碼,OPC UA規(guī)范書定義質量碼為32位的無符整型;Value表示實時歷史數據的數值,根據設備數據的數據類型用不同的結構來存儲;Time表示實時歷史數據的時間戳,在存儲過程中,Time采用差分法表示,索引字段中存儲時間基準值,數據字段中存儲時間偏移量(以毫秒為單位的整型變量)。

5 文件結構

本文設計的文件結構有如下特點:

歷史數據按時間段分為多個文件保存,每個文件保存一段時間內的歷史數據,文件大小可根據需要設置,文件路徑根據時間范圍保存在索引文件中

索引結構采用分級索引,包括外部索引和內部索引兩部分,其中內部索引和同一段時間內的數據保存在相同文件中,外部索引保存在索引文件中

實時歷史數據的ID與其它數據在文件內分開保存,便于在查詢過程中快速定位所需標簽點數據的位置

存儲系統(tǒng)包括兩種類型的文件:“索引文件”和“數據文件”。索引文件記錄所有數據文件的基本信息,在系統(tǒng)中是唯一的;

數據文件記錄實際的歷史數據。

5.1 索引文件

索引文件由外部索引項構成,每一項對應一個數據文件。索引項中的內容包括與其相對應的數據文件的開始時間、結束時間和文件路徑。

在查詢過程中,使用索引文件可以快速定位查詢條件中時間范圍內數據所在文件的路徑,結構如下圖所示:

圖2 文件結構圖

5.2 數據文件

數據文件由文件頭、設備組索引區(qū)、標簽點索引區(qū)、時間索引區(qū)和數據區(qū)五部分構成

5.2.1 文件頭

文件頭包含此文件的基本信息,其大小固定以便于數據讀寫操作,如下圖結構所示:

圖3 文件頭結構

設備組索引區(qū)的每一項包括設備名稱號和對應設備的標簽點索引區(qū)的初始位置,大小由文件頭的最大設備組數決定;標簽點索引區(qū)的所有項按設備種類分塊順序存儲,每一項都包括歷史數據的ID和對應的時間索引區(qū)初始位置及當前使用位置,為了提高查詢效率,同一個設備的ID按升序排列。結構圖如下所示:

圖4 設備組、標簽點索引區(qū)結構圖

5.2.3 時間索引區(qū)&數據區(qū)

時間索引區(qū)的每一項包括對應數據塊的開始時間和結束時間,數據塊在文件中的位置,以及同一個標簽點使用的下一個時間索引項的位置。這樣,每個標簽點使用的時間索引形成一個鏈表。

數據區(qū)是由數據塊構成的,每個數據塊存儲標簽點的時間偏移量(相對于時間索引區(qū)的開始時間)、質量碼和數據值;數據塊的大小由歸檔緩沖區(qū)的大小決定,并且以數據塊為基本單位進行數據讀取,結構如圖5所示:

圖5 時間索引區(qū)&數據區(qū)結構圖

6 數據查詢過程

數據查詢有很多種類型,一般查詢部分標簽點的一段時間的歷史數據,查詢條件為標簽點的ID和時間范圍。根據前面數據存儲過程和文件結構的描述,數據查詢過程可以分為以下幾步:

第一步:根據查詢條件的時間范圍,在索引文件中得到數據所在的文件路徑;

第二步:讀取上一步得到的文件,根據查詢條件的標簽點 ID,利用內部索引結構的設備組索引和標簽點索引,得到指定標簽點數據的時間索引位置;

第三步:讀取上一步得到的時間索引區(qū),根據查詢條件的時間范圍得到查詢所需的數據塊位置;

第四步:讀取上一步得到的數據塊,將所需數據信息寫入查詢結果數組。

7 性能測試

根據前面的存儲機制和文件結構描述,測試在P43.0G,512M 內存的電腦上實驗,采用 VS2005為程序平臺,用VC++的控制臺應用程序實現數據存取功能的模擬,并且通過線程和定時器實現存儲過程,文件的存儲和查詢用二進制數據流形式。為了便于控制和測試,數據源用定時采集到的周期為30s的模擬數據表示,結構符合第四部分的存儲方式要求。下面分別用表格的形式給出存取指定數據個數所花費的時間及單位時間的存取效率。

7.1 存儲性能測試

表1 數據存儲的性能測試表

7.2 查詢性能測試

表2 數據查詢的性能測試表

7.3 性能分析

從表1和表2的存取數據性能測試結果分析,歷史數據的存儲和查詢完全能夠滿足海量數據的實時性要求,并且能夠準確地存儲到本文設計的文件結構,以及高效地查詢所需的歷史數據,實現OPC UA歷史存取服務的功能。

8 總結

OPC UA技術是未來工業(yè)控制接口的發(fā)展方向,由于其對應用廣泛的OPC進行補充和改進,各生產廠商可以實現企業(yè)上層網絡與現場設備層的無縫集成。但是基于OPC UA的各類數據采集設備會產生數量龐大的實時數據,對歷史數據存取的性能和效率提出了巨大的挑戰(zhàn)。

本文的創(chuàng)新點:設計了一種新的文件結構,并且給出了一套歷史數據存取機制,該機制從存儲查詢過程、存儲方式和文件結構等方面綜合考慮數據讀寫性能,通過多級緩存和多級索引的優(yōu)化方案,為OPC UA的歷史數據存取服務器提出了一種高效的文件系統(tǒng)存儲設計方案。

[1] OPC Foundation. OPC Unified Architecture Specification[Z] . Historical Access Version 1.01 2008.7.

[2] 訾樹波,于德敏,許增樸,王永強.工業(yè)生產實時數據采集及管理數據庫模型設計[J] 微計算機信息,2005 7- 3:104-106.

[3] 張志凜.實時數據庫原理及應用[M] 北京: 中石化出版社,2001.

[4] 劉云生.現代數據庫技術[M] .北京:國防工業(yè)出版社, 2001.

[5] 王成光.流程工業(yè)大型實時數據庫理論、技術與應用 [D] .杭州:浙江大學,2003.

猜你喜歡
歷史數據數據文件偏差
基于設備PF性能曲線和設備歷史數據實現CBM的一個應用模型探討
智能制造(2021年4期)2021-11-04 08:54:36
基于故障歷史數據和BP神經網絡的接地選線方案研究
如何走出文章立意偏差的誤區(qū)
學生天地(2020年6期)2020-08-25 09:10:50
兩矩形上的全偏差
數據文件恢復專題問答
數據文件安全管控技術的研究與實現
SQL數據文件恢復工具
基于Hadoop技術實現銀行歷史數據線上化研究
用好細節(jié)材料 提高課堂實效
關于均數與偏差
肃南| 德江县| 马边| 富蕴县| 札达县| 五河县| 柳林县| 蓬溪县| 彰武县| 荣昌县| 岫岩| 连州市| 清水河县| 洪湖市| 宜丰县| 金华市| 汶上县| 涡阳县| 兴和县| 遵化市| 康乐县| 桑植县| 姜堰市| 怀安县| 若尔盖县| 神木县| 长沙县| 合阳县| 乾安县| 威远县| 银川市| 河南省| 大理市| 长治市| 万宁市| 莫力| 玉田县| 游戏| 巴塘县| 鹤壁市| 扶绥县|