專利名稱:基于動態(tài)變化幀的過程數(shù)據(jù)全息歸檔和反演方法
技術(shù)領(lǐng)域:
本發(fā)明屬于工業(yè)自動化系統(tǒng)實(shí)時(shí)數(shù)據(jù)庫領(lǐng)域,應(yīng)用在工業(yè)自動化系統(tǒng)實(shí)時(shí)監(jiān)控系 統(tǒng)中,該方法應(yīng)用于實(shí)時(shí)數(shù)據(jù)庫中的過程數(shù)據(jù)的全息數(shù)據(jù)記錄和檢索,采用一種動態(tài)變化 幀記錄的方法,對過程數(shù)據(jù)的變化過程全息記錄和全息反演。
背景技術(shù):
在工業(yè)自動化監(jiān)控系統(tǒng)中,實(shí)時(shí)數(shù)據(jù)庫提供對各種應(yīng)用領(lǐng)域的數(shù)據(jù)支持,實(shí)時(shí)數(shù) 據(jù)庫除了提供工業(yè)自動化監(jiān)控對象的實(shí)時(shí)數(shù)據(jù)采集和即時(shí)數(shù)據(jù)外,通常還需要提供海量過 程數(shù)據(jù)的高效檢索功能。過程數(shù)據(jù)的內(nèi)容通常包括采集量的變化趨勢,報(bào)警信息,操作日志信息。在工業(yè)自動化監(jiān)控系統(tǒng)中,傳統(tǒng)的歷史數(shù)據(jù)歸檔方式是將以上數(shù)據(jù)分別處理,例 如歸檔庫中分為模擬量表、數(shù)字量表、報(bào)警表、日志表等,各種類型的數(shù)據(jù)之間關(guān)聯(lián)性差,基 本上是各自獨(dú)立的部分,不具備關(guān)聯(lián)分析和處理的能力。而且海量數(shù)據(jù)的存儲對計(jì)算機(jī)硬 件的依賴越來越高。隨著監(jiān)控水平的逐步提高,對過程數(shù)據(jù)的處理要求也逐步提高,通常表 現(xiàn)在需要對海量的過程數(shù)據(jù)進(jìn)行長期的保存,對過程數(shù)據(jù)的檢索效率和檢索方式的要求也 逐步提高。這些需求對傳統(tǒng)的歷史數(shù)據(jù)歸檔和檢索方法提出了挑戰(zhàn),表現(xiàn)在海量數(shù)據(jù)的優(yōu)化 存儲、數(shù)據(jù)檢索的高效性、混合數(shù)據(jù)類型的聯(lián)合檢索等。各種過程數(shù)據(jù)將不再是互不相關(guān)的 割裂的部分,一個(gè)監(jiān)控系統(tǒng)的過程數(shù)據(jù)將可作為一個(gè)或多個(gè)整體對象進(jìn)行歸檔和檢索。根 據(jù)工業(yè)自動化的過程數(shù)據(jù)自身的特點(diǎn),歸檔的過程需要進(jìn)行數(shù)據(jù)壓縮后持久化保存,在進(jìn) 行數(shù)據(jù)檢索時(shí),除了傳統(tǒng)的趨勢曲線、報(bào)警、日志的檢索外,還需要多種數(shù)據(jù)類型的聯(lián)合檢 索,進(jìn)而提供過程數(shù)據(jù)的全息反演功能。
發(fā)明內(nèi)容
為解決現(xiàn)有技術(shù)存在的上述問題,本發(fā)明針對過程數(shù)據(jù)自身的特點(diǎn),提出了一種 基于動態(tài)變化幀的過程數(shù)據(jù)全息歸檔和反演方法。工業(yè)自動化控制領(lǐng)域的過程數(shù)據(jù)具有如下特點(diǎn)1、所有過程數(shù)據(jù),包括模擬量、數(shù)字量、報(bào)警、操作日志都具備時(shí)間相關(guān)的特性;2、模擬量的數(shù)據(jù)變化具有一定的變化規(guī)律,實(shí)時(shí)數(shù)據(jù)中只有一小部分采集點(diǎn)的值 經(jīng)常發(fā)生改變,很多采集點(diǎn)的數(shù)值都具有變化慢的特征,通常允許數(shù)據(jù)在一定范圍內(nèi)的精 度損失;3、數(shù)字量的數(shù)據(jù)變化有突發(fā)性的特點(diǎn),但是變化不頻繁;4、報(bào)警和操作日志有突發(fā)性的特點(diǎn);本發(fā)明針對過程數(shù)據(jù)的如上特點(diǎn),提出了以時(shí)間為基準(zhǔn)的,以過程數(shù)據(jù)的動態(tài)變 化幀為歸檔對象的,對模擬量進(jìn)行有損數(shù)據(jù)壓縮,對數(shù)字量、報(bào)警、操作日志進(jìn)行幀間壓縮 的全息數(shù)據(jù)歸檔和反演方法,簡稱CyberZip方法。
本發(fā)明具體采用以下技術(shù)方案一種基于動態(tài)變化幀的過程數(shù)據(jù)全息歸檔和反演方法,該方法以聚合多種過程數(shù) 據(jù)的動態(tài)變化幀為歸檔對象,采用多級壓縮方式處理歸檔數(shù)據(jù)和檢索數(shù)據(jù),其特征在于,所 述方法包括以下步驟(1)采集監(jiān)控系統(tǒng)的過程數(shù)據(jù),并存儲在實(shí)時(shí)數(shù)據(jù)庫中,所述過程數(shù)據(jù)包括模擬 量、數(shù)字量、報(bào)警信息和操作日志;(2)建立所述過程數(shù)據(jù)的過程數(shù)據(jù)集,包括模擬量數(shù)據(jù)集合、數(shù)字量數(shù)據(jù)集合、報(bào) 警集合和操作日志集合,全部過程數(shù)據(jù)集形成數(shù)據(jù)幀;(3)將過程數(shù)據(jù)中的模擬量和數(shù)字量進(jìn)行一級壓縮處理,即在滿足精度要求的情 況下進(jìn)行有損壓縮處理;(4)對需要?dú)w檔的過程數(shù)據(jù),包括經(jīng)過一級壓縮后保留下來的模擬量數(shù)據(jù)、數(shù)字量 數(shù)據(jù),報(bào)警信息、操作日志信息進(jìn)行歸一化處理,即所述過程數(shù)據(jù)集按照最小存儲結(jié)構(gòu)原則 組織過程數(shù)據(jù),建立過程數(shù)據(jù)集的索引,形成歸檔數(shù)據(jù)幀,歸檔數(shù)據(jù)幀僅保留與上一數(shù)據(jù)幀 之間的差異數(shù)據(jù),稱為動態(tài)變化幀;(5)將歸檔數(shù)據(jù)幀中的各過程數(shù)據(jù)集的數(shù)據(jù)區(qū)進(jìn)行二級壓縮、無損字節(jié)壓縮,并根 據(jù)壓縮后的結(jié)構(gòu)重新建立各個(gè)集合的數(shù)據(jù)區(qū)索引信息,之后將歸檔數(shù)據(jù)幀以二進(jìn)制字節(jié)流 順序保存到存儲介質(zhì);(6)經(jīng)過步驟C3)進(jìn)行的有損壓縮數(shù)據(jù),在任意時(shí)刻可以通過線性補(bǔ)點(diǎn)得到滿足 精度誤差要求的值,理論上可以得到任意時(shí)刻的過程數(shù)據(jù),所以稱作全息歸檔方法。對于應(yīng) 用模塊的數(shù)據(jù)請求,本方法可以得到任意時(shí)刻的過程數(shù)據(jù)點(diǎn),并將該近似值返回給應(yīng)用模 塊,稱為全息反演。本發(fā)明方法利用過程數(shù)據(jù)自身的特點(diǎn),采用有損壓縮算法對過程數(shù)據(jù)進(jìn)行歸檔預(yù) 處理,稱之為一級壓縮,即將過程數(shù)據(jù)中“不重要”的信息過濾,保留過程數(shù)據(jù)中的“關(guān)鍵”信 息,一級壓縮中采用了死區(qū)壓縮和趨勢壓縮兩種處理過程,這兩個(gè)過程都是有損壓縮過程, 即在此壓縮過程中會有一部分?jǐn)?shù)據(jù)的精度損失,但是考慮到工業(yè)自動化監(jiān)控系統(tǒng)從傳感器 到實(shí)時(shí)數(shù)據(jù)庫本身就存在的采集精度誤差,一定程度的精度損失是天生不可避免的,所以 在歸檔預(yù)處理過程中的有損壓縮也是可以接受的。死區(qū)壓縮是針對數(shù)據(jù)采集系統(tǒng)天生的精度誤差和監(jiān)控對象自身的精度要求而提 出來的,通過對采集點(diǎn)的實(shí)際采集精度進(jìn)行設(shè)置,只有當(dāng)兩次采集的數(shù)據(jù)偏差超過死區(qū)的 設(shè)定值之后才能通過死區(qū)壓縮處理,進(jìn)入到下一級處理流程,否則該采集數(shù)據(jù)將認(rèn)為是精 度無法識別的或沒有必要識別的而被拋棄。趨勢壓縮是根據(jù)過程數(shù)據(jù)的階段性趨勢進(jìn)行壓縮,并只記錄滿足趨勢條件的起點(diǎn) 和終點(diǎn)。CyberZip中的趨勢壓縮算法采用的是動態(tài)趨勢誤差的旋轉(zhuǎn)門算法,該算法計(jì)算量 較小,而且可以連續(xù)處理變化趨勢,對于較規(guī)則的過程數(shù)據(jù)效果很好。一級壓縮處理對模擬量和數(shù)字量都有效,數(shù)字量可以看做是一類特殊的模擬量, 其采集值只有0或1,對數(shù)字量的死區(qū)壓縮始終是無效的,趨勢壓縮始終是有效的。歸檔預(yù)處理還包括對報(bào)警信息和日志信息的預(yù)處理,對于同一采集點(diǎn)的報(bào)警或操 作日志進(jìn)行歸檔分類,分為報(bào)警子列表集和日志子列表集,每一個(gè)報(bào)警子列表或日志子列 表中包含某一個(gè)采集點(diǎn)相關(guān)的報(bào)警內(nèi)容或日志內(nèi)容,該子列表是按照最小化存儲格式組織的,即僅保留不同報(bào)警或日志記錄中不同的內(nèi)容,相同的內(nèi)容將作為子列表索引保存起來。每經(jīng)過一定間隔時(shí)間,經(jīng)過歸檔預(yù)處理的過程數(shù)據(jù)就積累為一個(gè)數(shù)據(jù)集,在 CyberZip中稱之為數(shù)據(jù)幀,數(shù)據(jù)幀由模擬量集合、數(shù)字量集合、報(bào)警集合、日志集合構(gòu)成,數(shù) 據(jù)幀包含若干屬性,包括幀的起始時(shí)間、幀的最終時(shí)間、幀的前幀索引、幀的后幀索引、每 個(gè)集合中的數(shù)據(jù)索引信息等。數(shù)據(jù)幀是CyberZip中需要持久化處理保存的對象,在序列化 時(shí),采用了分塊壓縮的機(jī)制,即二級壓縮,在這種機(jī)制中,幀頭信息和數(shù)據(jù)集合的索引不壓 縮,這樣保證了在檢索時(shí)的高效定位,對于每個(gè)數(shù)據(jù)集中的子集數(shù)據(jù),采用了無損壓縮算法 對字節(jié)流進(jìn)行壓縮,這樣保證了子集數(shù)據(jù)的最小化,同時(shí),因?yàn)槌S玫臋z索需求通常是按采 集點(diǎn)查詢,在通過數(shù)據(jù)集索引定位到具體的點(diǎn)后,再進(jìn)行解壓縮的內(nèi)容通常較小,其執(zhí)行效 率也很高。二級壓縮是一種可選壓縮,針對過程數(shù)據(jù)量的大小和檢索效率要求,也可以不選 用二級壓縮。數(shù)據(jù)幀中包含的是相對于前一幀之后的變化子集,在CyberZip中稱之為動態(tài)變 化幀,因?yàn)槊恳粋€(gè)數(shù)據(jù)幀中保存的變化子集可能差異很大,尤其是模擬量集合和數(shù)字量集 合,動態(tài)變化幀的意義還在于其中保存了不同的采集點(diǎn)集合,根據(jù)過程數(shù)據(jù)的變化特點(diǎn),有 的采集點(diǎn)會頻繁變化,而有的采集點(diǎn)變化很慢,所以這種數(shù)據(jù)幀,并不能理解為是實(shí)時(shí)數(shù)據(jù) 庫的定期快照,而是動態(tài)變化的。壓縮后的數(shù)據(jù)幀將持久保存到存儲設(shè)備,根據(jù)系統(tǒng)的規(guī)模和歸檔服務(wù)器的性能不 同,數(shù)據(jù)幀之間的間隔可以調(diào)整,如1天,或1小時(shí),甚至幾分鐘,原則上是系統(tǒng)規(guī)模越小,間 隔越長,服務(wù)器性能越好,間隔越長。CyberZip的數(shù)據(jù)檢索分為單點(diǎn)檢索和全息檢索方式。模擬量單點(diǎn)檢索即根據(jù)檢索時(shí)間區(qū)間,從歸檔的數(shù)據(jù)幀中,將檢索的數(shù)據(jù)返回,通 常有兩種方式,方式1為僅返回歸檔點(diǎn),適用于曲線和趨勢的檢索需求,方式2為根據(jù)檢索 區(qū)間和步長,返回定量的點(diǎn),該檢索需求需要檢索引擎根據(jù)趨勢壓縮的線性規(guī)律進(jìn)行動態(tài) 補(bǔ)點(diǎn)。單點(diǎn)檢索也適用于數(shù)字量、報(bào)警和日志信息的查詢。全息檢索或全息反演是實(shí)時(shí)數(shù)據(jù)庫的一種反演狀態(tài),在此狀態(tài)下,應(yīng)用模塊從實(shí) 時(shí)數(shù)據(jù)庫中獲取的數(shù)據(jù)并非是實(shí)時(shí)監(jiān)測數(shù)據(jù),而是特定時(shí)間的歷史數(shù)據(jù),而這些歷史數(shù)據(jù) 的數(shù)據(jù)源就是CyberZip。在全息檢索模式下,CyberZip將加載數(shù)據(jù)幀中的所有數(shù)據(jù),并根 據(jù)反演時(shí)間進(jìn)行取點(diǎn)或補(bǔ)點(diǎn),再將所有信息返回給實(shí)時(shí)數(shù)據(jù)庫,這些信息包括模擬量、數(shù)字 量、報(bào)警、操作日志等。全息反演的一個(gè)應(yīng)用場景是通過監(jiān)控畫面直接調(diào)閱歷史上某個(gè)時(shí)刻 或某個(gè)時(shí)間段的歷史數(shù)據(jù),就如同監(jiān)控畫面重新回到了之前的時(shí)刻,而且除了采集量外,報(bào) 警和操作日志也同時(shí)回溯到了同一時(shí)刻,為事后分析或故障診斷提供了極大的便利。通過本發(fā)明的方法,以多種數(shù)據(jù)類型聚合處理的方式,實(shí)現(xiàn)了過程數(shù)據(jù)的最優(yōu)化 的記錄方式,由于采用了精度誤差允許范圍內(nèi)的有損趨勢壓縮算法,可以得到任意時(shí)刻的 模擬量近似值,任意時(shí)刻數(shù)字量的真實(shí)值,任意時(shí)間范圍內(nèi)的報(bào)警信息和操作信息,這樣為 監(jiān)控系統(tǒng)的全息反演提供了數(shù)據(jù)支持。采用CyberZip方法,實(shí)現(xiàn)了多種過程數(shù)據(jù)的關(guān)聯(lián)檢 索和最優(yōu)化數(shù)據(jù)存儲,為海量數(shù)據(jù)的長期存儲,進(jìn)行事后分析等提供了便利。
圖1是動態(tài)變化數(shù)據(jù)幀的構(gòu)成;圖2是模擬量一級壓縮方法示意圖;圖3是數(shù)據(jù)幀的組織結(jié)構(gòu)示意圖;圖4是數(shù)據(jù)幀的歸檔前二級壓縮方法示意圖;圖5是CyberZip架構(gòu)設(shè)計(jì)示意圖;圖6是CyberZip歸檔工作流程示意圖;圖7是CyberZip檢索工作流程示意圖。
具體實(shí)施例方式下面結(jié)合說明書附圖對本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)說明。本申請中用到的專門術(shù)語過程數(shù)據(jù)包括模擬量,數(shù)字量,報(bào)警信息,操作日志信息;數(shù)據(jù)幀是全部過程數(shù)據(jù)的總和;動態(tài)變化幀是一段時(shí)間范圍內(nèi)的全部數(shù)據(jù)幀;全息壓縮記錄以有損壓縮算法為基礎(chǔ),壓縮記錄全部過程數(shù)據(jù);全息反演以全息記錄為基礎(chǔ),并根據(jù)趨勢壓縮算法,追溯到歷史上任意時(shí)刻的過 程數(shù)據(jù)的方法。CyberZip方法的特征在于以聚合多種過程數(shù)據(jù)的動態(tài)變化幀為歸檔對象,采用多 級壓縮方式處理歸檔數(shù)據(jù)和檢索數(shù)據(jù),該方法由以下步驟構(gòu)成(1)過程數(shù)據(jù)的采集,經(jīng)過實(shí)時(shí)數(shù)據(jù)庫處理的采集數(shù)據(jù)作為本方法的處理對象,包 含模擬量集合、數(shù)字量集合、報(bào)警集合,以及實(shí)時(shí)數(shù)據(jù)庫記錄的操作日志集合;(2)建立數(shù)據(jù)幀,本方法中的數(shù)據(jù)幀一段時(shí)間范圍內(nèi)的全部過程數(shù)據(jù)的變化子集 構(gòu)成,包括模擬量集合、數(shù)字量集合、報(bào)警集合、操作日志集合。圖1示意了動態(tài)變化數(shù)據(jù)幀的構(gòu)成。(3)采集數(shù)據(jù)中的模擬量和數(shù)字量經(jīng)過緩沖管理器進(jìn)行一級有損壓縮處理,在滿 足精度要求的前提下去除次要信息,僅保留關(guān)鍵信息;緩沖管理器處理的對象為內(nèi)存對象,其輸入為實(shí)時(shí)庫的采集信息,其輸出是經(jīng)過 一級壓縮后的過程數(shù)據(jù)信息。圖2示意了模擬量的一級壓縮方法,其中包括精度壓縮和趨勢壓縮兩種方法,一 級壓縮是一種有損壓縮方法,在滿足精度要求的情況下,盡可能少記錄采集信息。死區(qū)壓縮是針對數(shù)據(jù)采集系統(tǒng)天生的精度誤差和監(jiān)控對象自身的精度要求而提 出來的,通過對采集點(diǎn)的實(shí)際采集精度進(jìn)行設(shè)置,只有當(dāng)兩次采集的數(shù)據(jù)偏差超過死區(qū)的 設(shè)定值之后才能通過死區(qū)壓縮處理,進(jìn)入到下一級處理流程,否則該采集數(shù)據(jù)將認(rèn)為是精 度無法識別的或沒有必要識別的而被拋棄。趨勢壓縮是根據(jù)過程數(shù)據(jù)的階段性趨勢進(jìn)行壓縮,并只記錄滿足趨勢條件的起點(diǎn) 和終點(diǎn)。CyberZip中的趨勢壓縮算法采用的是動態(tài)趨勢誤差的旋轉(zhuǎn)門算法,該算法計(jì)算量 較小,而且可以連續(xù)處理變化趨勢,對于較規(guī)則的過程數(shù)據(jù)效果很好。一級壓縮處理對模擬 量和數(shù)字量都有效,數(shù)字量可以看做是一類特殊的模擬量,其采集值只有0或1,對數(shù)字量的死區(qū)壓縮始終是無效的,趨勢壓縮始終是有效的。(4)歸檔管理器對需要?dú)w檔的數(shù)據(jù)進(jìn)行歸一化處理,歸一化處理后的數(shù)據(jù)按照最 小存儲結(jié)構(gòu)原則組織數(shù)據(jù),并組織數(shù)據(jù)集合的索引,維護(hù)數(shù)據(jù)幀之間的關(guān)聯(lián)關(guān)系,形成歸檔 數(shù)據(jù)幀;歸檔管理器的輸入是緩沖管理器的輸出,其輸出是需要存盤的經(jīng)過歸一化處理的 數(shù)據(jù)幀。圖3示意了數(shù)據(jù)幀的組織結(jié)構(gòu),一個(gè)數(shù)據(jù)幀包含幀頭信息,子集合的索引信息和 子集合的數(shù)據(jù)區(qū)。歸檔預(yù)處理包括對報(bào)警信息和日志信息的預(yù)處理,對于同一采集點(diǎn)的報(bào)警或操 作日志進(jìn)行歸檔分類,分為報(bào)警子列表集和日志子列表集,每一個(gè)報(bào)警子列表或日志子列 表中包含某一個(gè)采集點(diǎn)相關(guān)的報(bào)警內(nèi)容或日志內(nèi)容,該子列表是按照最小化存儲格式組織 的,即僅保留不同報(bào)警或日志記錄中不同的內(nèi)容,相同的內(nèi)容將作為子列表索引保存起來。(5)存儲管理器將數(shù)據(jù)幀中的各個(gè)集合數(shù)據(jù)區(qū)進(jìn)行無損字節(jié)壓縮處理,并重新整 理各個(gè)集合的索引信息,之后序列化到存儲介質(zhì)進(jìn)行保存。存儲管理器的輸入是歸檔數(shù)據(jù)幀,其輸出是經(jīng)過壓縮、索引處理后的數(shù)據(jù)幀。圖4示意了數(shù)據(jù)幀的歸檔前二級壓縮方法,二級壓縮方法采用了字節(jié)流的無損壓 縮算法,在歸檔前需要重新整理子集合的索引信息,以便定位歸檔后的壓縮數(shù)據(jù)區(qū)。每經(jīng)過一定間隔時(shí)間,經(jīng)過歸檔預(yù)處理的過程數(shù)據(jù)就積累為一個(gè)數(shù)據(jù)幀,數(shù)據(jù)幀 由模擬量集合、數(shù)字量集合、報(bào)警集合、日志集合構(gòu)成,數(shù)據(jù)幀包含若干屬性,包括幀的起 始時(shí)間、幀的最終時(shí)間、幀的前幀索引、幀的后幀索引、每個(gè)集合中的數(shù)據(jù)索引信息等。數(shù)據(jù) 幀是CyberZip中需要持久化處理保存的對象,在序列化時(shí),采用了分塊壓縮的機(jī)制,即二 級壓縮,在這種機(jī)制中,幀頭信息和數(shù)據(jù)集合的索引不壓縮,這樣保證了在檢索時(shí)的高效定 位,對于每個(gè)數(shù)據(jù)集中的子集數(shù)據(jù),采用了無損壓縮算法對字節(jié)流進(jìn)行壓縮,這樣保證了子 集數(shù)據(jù)的最小化,同時(shí),因?yàn)槌S玫臋z索需求通常是按采集點(diǎn)查詢,在通過數(shù)據(jù)集索引定位 到具體的點(diǎn)后,再進(jìn)行解壓縮的內(nèi)容通常較小,其執(zhí)行效率也很高。二級壓縮是一種可選壓 縮,針對過程數(shù)據(jù)量的大小和檢索效率要求,也可以不選用二級壓縮。圖5示意了 CyberZip架構(gòu)設(shè)計(jì)示意圖,CyberZip由數(shù)據(jù)緩沖管理器、歸檔管理器、 存儲管理器和檢索管理器構(gòu)成。數(shù)據(jù)緩沖管理器負(fù)責(zé)接收數(shù)據(jù)采集的原始數(shù)據(jù),進(jìn)行一級 壓縮處理。歸檔管理器負(fù)責(zé)對需要?dú)w檔的數(shù)據(jù)進(jìn)行歸一化處理,組織數(shù)據(jù)集合的索引,維護(hù) 數(shù)據(jù)幀之間的關(guān)聯(lián)關(guān)系等。存儲管理器負(fù)責(zé)將數(shù)據(jù)幀中的各個(gè)集合數(shù)據(jù)區(qū)進(jìn)行壓縮,并重 新整理各個(gè)集合的索引信息,之后序列化到存儲介質(zhì)進(jìn)行保存。檢索管理器負(fù)責(zé)響應(yīng)各個(gè) 應(yīng)用的數(shù)據(jù)請求,并從歸檔管理器和存儲管理器中請求數(shù)據(jù)返回給各個(gè)應(yīng)用。圖6示意了 CyberZip歸檔工作流程示意圖。歸檔過程從采集數(shù)據(jù)開始,采集的 數(shù)據(jù)包含過程數(shù)據(jù)集合,采集數(shù)據(jù)首先經(jīng)過緩沖管理器進(jìn)行處理。對于采集量中的模擬量 和數(shù)字量,緩沖管理器包含了一級壓縮的處理流程,分為精度壓縮和趨勢壓縮兩個(gè)步驟,每 個(gè)步驟中只有滿足壓縮精度需求的數(shù)據(jù)才會進(jìn)入到下一個(gè)環(huán)節(jié)中。對于報(bào)警數(shù)據(jù)和日志數(shù) 據(jù),緩沖管理器經(jīng)過一個(gè)歸一化處理流程將同一采集點(diǎn)相關(guān)的信息進(jìn)行合并處理。經(jīng)過緩 沖管理器處理后的保留下來的采集數(shù)據(jù)是需要進(jìn)行歸檔保存的數(shù)據(jù),由歸檔管理器進(jìn)行索 引處理,并將數(shù)據(jù)寫入內(nèi)存數(shù)據(jù)區(qū)。在達(dá)到歸檔時(shí)間點(diǎn)時(shí),歸檔管理器將數(shù)據(jù)幀交給存儲存儲管理器進(jìn)行存儲,并重新開始新一輪的數(shù)據(jù)幀記錄。存儲管理器負(fù)責(zé)將數(shù)據(jù)幀進(jìn)行二級 壓縮后進(jìn)行持久保存,在序列化存儲前,存儲管理器將重新整理數(shù)據(jù)幀中的數(shù)據(jù)子集索引, 并對子集數(shù)據(jù)區(qū)進(jìn)行分段壓縮,將整理和壓縮后的數(shù)據(jù)幀進(jìn)行存儲介質(zhì)的持久化保存。至 此,一個(gè)經(jīng)過多級壓縮后的完整的數(shù)據(jù)幀被保存下來。(6)檢索管理器負(fù)責(zé)響應(yīng)應(yīng)用的數(shù)據(jù)請求,并從歸檔管理器和存儲管理器中請求 數(shù)據(jù),根據(jù)線性趨勢壓縮的原理,可以得到任意時(shí)刻的模擬量和數(shù)字量近似值,并將結(jié)果返 回給應(yīng)用。圖7示意了 CyberZip檢索工作流程示意圖。數(shù)據(jù)檢索由應(yīng)用模塊發(fā)起,將請求 提交給檢索管理器,檢索管理器內(nèi)部有一個(gè)數(shù)據(jù)緩沖區(qū),如果檢索請求的數(shù)據(jù)在緩沖區(qū)內(nèi) 已經(jīng)存在了,則直接返回,如果不存在,視檢索的數(shù)據(jù)區(qū)間,被檢索的數(shù)據(jù)可能來自歸檔管 理器,也可能來自存儲管理器。歸檔管理器中的數(shù)據(jù)是還未持久化保存的,位于內(nèi)存的數(shù)據(jù) 幀,由于數(shù)據(jù)并未進(jìn)行二級壓縮,可以直接訪問提取。對于存儲管理器中的數(shù)據(jù),由于進(jìn)行 了二級壓縮,首先需要根據(jù)索引定位到壓縮數(shù)據(jù)區(qū),然后對數(shù)據(jù)區(qū)進(jìn)行解壓縮處理,之后返 回給數(shù)據(jù)緩沖區(qū),再由檢索管理器返回給應(yīng)用模塊。上述是單點(diǎn)檢索的流程,在進(jìn)行全息檢 索時(shí),流程與單點(diǎn)檢索的基本一致,為了提高檢索效率,需要將目標(biāo)數(shù)據(jù)幀從存儲管理器中 一次性讀取出來后再做處理。
權(quán)利要求
1.一種基于動態(tài)變化幀的過程數(shù)據(jù)全息歸檔和反演方法,其特征在于,所述方法包括 以下步驟(1)采集監(jiān)控系統(tǒng)的過程數(shù)據(jù),并存儲在實(shí)時(shí)數(shù)據(jù)庫中,所述過程數(shù)據(jù)包括模擬量、數(shù) 字量、報(bào)警信息和操作日志;(2)建立所述過程數(shù)據(jù)的過程數(shù)據(jù)集,包括模擬量數(shù)據(jù)集合、數(shù)字量數(shù)據(jù)集合、報(bào)警集 合和操作日志集合,全部過程數(shù)據(jù)集形成數(shù)據(jù)幀;(3)將過程數(shù)據(jù)中的模擬量和數(shù)字量進(jìn)行一級壓縮處理,即在滿足精度要求的情況下 進(jìn)行有損壓縮處理;(4)對需要?dú)w檔的過程數(shù)據(jù),包括經(jīng)過一級壓縮后保留下來的模擬量數(shù)據(jù)、數(shù)字量數(shù) 據(jù),報(bào)警信息、操作日志信息進(jìn)行歸一化處理,即所述過程數(shù)據(jù)集按照最小存儲結(jié)構(gòu)原則組 織過程數(shù)據(jù),建立過程數(shù)據(jù)集的索引,形成歸檔數(shù)據(jù)幀,歸檔數(shù)據(jù)幀僅保留與上一數(shù)據(jù)幀之 間的差異數(shù)據(jù),稱為動態(tài)變化幀;(5)將歸檔數(shù)據(jù)幀中的各過程數(shù)據(jù)集的數(shù)據(jù)區(qū)進(jìn)行二級壓縮、即無損字節(jié)壓縮,并根據(jù) 壓縮后的結(jié)構(gòu)重新建立各個(gè)集合的數(shù)據(jù)區(qū)索引信息,之后將歸檔數(shù)據(jù)幀以二進(jìn)制字節(jié)流順 序保存到存儲介質(zhì);(6)經(jīng)過步驟C3)進(jìn)行的有損壓縮數(shù)據(jù),在任意時(shí)刻可以通過線性補(bǔ)點(diǎn)得到滿足精度 誤差要求的值,能夠得到任意時(shí)刻的過程數(shù)據(jù),對于應(yīng)用模塊的數(shù)據(jù)請求,通過線性補(bǔ)點(diǎn)得 到任意時(shí)刻的過程數(shù)據(jù)近似值,并將該近似值返回給應(yīng)用模塊。
2.根據(jù)權(quán)利要求1所述的過程數(shù)據(jù)全息歸檔和反演方法,其特征在于所述有損壓縮處理是指對過程數(shù)據(jù)的變化過程中不影響精度的數(shù)據(jù)進(jìn)行拋棄,同時(shí)對 全部過程數(shù)據(jù)進(jìn)行記錄,并在序列化之前針對過程數(shù)據(jù)的子集合進(jìn)行區(qū)間壓縮,從而實(shí)現(xiàn) 對過程數(shù)據(jù)的全息和壓縮記錄。
3.根據(jù)權(quán)利要求1或2所述的過程數(shù)據(jù)全息歸檔和反演方法,其特征在于在步驟(3) 中,有損壓縮處理優(yōu)選采用死區(qū)壓縮算法,只有當(dāng)兩次采集的數(shù)據(jù)偏差超過死區(qū)的設(shè)定值 之后才能通過死區(qū)壓縮處理,進(jìn)入到下一級處理流程,否則該采集數(shù)據(jù)將認(rèn)為是精度無法 識別的或沒有必要識別的而被拋棄。
4.根據(jù)權(quán)利要求1或2所述的過程數(shù)據(jù)全息歸檔和反演方法,其特征在于在步驟(3) 中,所述有損壓縮處理優(yōu)選采用趨勢壓縮算法,所述趨勢壓縮是根據(jù)過程數(shù)據(jù)的階段性趨 勢進(jìn)行壓縮,并只記錄滿足趨勢條件的起點(diǎn)和終點(diǎn)。
5.根據(jù)權(quán)利要求1所述的過程數(shù)據(jù)全息歸檔和反演方法,其特征在于動態(tài)變化幀為 保存了自上一數(shù)據(jù)幀結(jié)束到本數(shù)據(jù)幀結(jié)束時(shí)間范圍內(nèi)的所有過程數(shù)據(jù)集的變化,包括模擬 量集合、數(shù)據(jù)量集合、報(bào)警集合、操作日志集合。
6.根據(jù)權(quán)利要求1所述的過程數(shù)據(jù)全息歸檔和反演方法,其特征在于在步驟⑷中, 還進(jìn)一步包括對報(bào)警信息和日志信息的歸檔預(yù)處理,即對于同一采集點(diǎn)的報(bào)警信息或操作 日志進(jìn)行歸檔分類,分為報(bào)警子列表集和日志子列表集,每一個(gè)報(bào)警子列表或日志子列表 中包含某一個(gè)采集點(diǎn)相關(guān)的報(bào)警內(nèi)容或日志內(nèi)容,該子列表是按照最小化存儲格式組織 的,即僅保留不同報(bào)警或日志記錄中不同的內(nèi)容,相同的內(nèi)容將作為子列表索引保存起來。
7.根據(jù)權(quán)利要求1所述的過程數(shù)據(jù)全息歸檔和反演方法,其特征在于在步驟(5)中, 對于幀頭信息和數(shù)據(jù)集合的索引不壓縮,對每個(gè)數(shù)據(jù)集中的子集數(shù)據(jù),采用了無損壓縮算法對字節(jié)流進(jìn)行壓縮。
全文摘要
本發(fā)明公開了一種基于動態(tài)變化幀的過程數(shù)據(jù)全息歸檔和反演方法,利用該方法對過程數(shù)據(jù)的變化過程進(jìn)行全息壓縮記錄和全息反演,本方法針對過程數(shù)據(jù)自身的特點(diǎn),提出了一種以時(shí)間為基準(zhǔn)的,以聚合多種過程數(shù)據(jù)的動態(tài)變化幀為歸檔對象的,采用多級壓縮處理的歸檔和檢索方法,有效的降低了過程數(shù)據(jù)的歸檔空間占用率,提高了歸檔數(shù)據(jù)的檢索效率,同時(shí)以聚合多種過程數(shù)據(jù)的存儲方式為全息反演提供了基礎(chǔ)。通過本方法可以有效的提高工業(yè)自動化系統(tǒng)中歷史數(shù)據(jù)的實(shí)用性和可用性,將多種過程數(shù)據(jù)的統(tǒng)一處理為全息反演歷史過程提供了可能。
文檔編號G06F17/30GK102073712SQ20101062392
公開日2011年5月25日 申請日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
發(fā)明者劉剛, 徐延明, 黃磊 申請人:北京四方繼保自動化股份有限公司