專利名稱:一種基于兩級體系的分布式數(shù)據(jù)壓縮處理方法
技術(shù)領(lǐng)域:
本申請屬于實時歷史數(shù)據(jù)庫中的數(shù)據(jù)壓縮技術(shù)領(lǐng)域,具體涉及一種基于兩級體系的分布式數(shù)據(jù)壓縮處理方法。
背景技術(shù):
實時歷史數(shù)據(jù)庫產(chǎn)品是企業(yè)信息化的基礎(chǔ)平臺和管控一體化的橋梁。生產(chǎn)過程中所產(chǎn)生的大量實時數(shù)據(jù)是流程企業(yè)的寶貴資源之一。這些數(shù)據(jù)需要長期存儲、快速檢索,并作為生產(chǎn)數(shù)據(jù)分析、數(shù)據(jù)挖掘、優(yōu)化控制與優(yōu)化管理的基礎(chǔ)。典型的流程企業(yè)所需集成的數(shù)據(jù)采集點通常有幾千到十幾萬,由于采集點數(shù)據(jù)是動態(tài)變化的,刷新速度快(秒級),這樣的大規(guī)模的海量數(shù)據(jù)很難以數(shù)據(jù)原型長期保存下來,實時歷史數(shù)據(jù)庫就是專門為處理生產(chǎn)過程海量數(shù)據(jù)問題而產(chǎn)生的新技術(shù)。一個良好的實時歷史數(shù)據(jù)庫,必須要處理好實時壓縮問題,只有處理好數(shù)據(jù)壓縮問題,才能使系統(tǒng)的整體性能達(dá)到某個可用性指標(biāo)。用關(guān)系數(shù)據(jù)庫保存10000個每秒鐘變化一次的雙精度數(shù),同時建立一個索引,保存一年需要磁盤空間為U922G,而用實時數(shù)據(jù)庫保存,則只需103G,大家可以換算一下,U922G,需要多少塊磁盤?磁盤容量只是問題的一個方面,另一方面,數(shù)據(jù)的高壓縮率意味著整個系統(tǒng)的數(shù)據(jù)處理速度更快,這體現(xiàn)在三個方面高壓縮率的數(shù)據(jù),占用磁盤空間小,將數(shù)據(jù)從磁盤讀入內(nèi)存的速度快,網(wǎng)絡(luò)傳輸?shù)乃俣瓤?,?shù)據(jù)在內(nèi)存中占用的空間小。而這三個因素,是實時數(shù)據(jù)庫提高系統(tǒng)整體運(yùn)行速度很重要的幾個因素。從數(shù)據(jù)壓縮方式來看,目前市面上的實時歷史數(shù)據(jù)庫主要采用服務(wù)器端數(shù)據(jù)壓縮方式。數(shù)據(jù)從采集端發(fā)送到數(shù)據(jù)庫服務(wù)器,在服務(wù)器端進(jìn)行統(tǒng)一的數(shù)據(jù)壓縮處理,然后存儲到磁盤文件。這種壓縮方式極大的占用了網(wǎng)絡(luò)資源,整個數(shù)據(jù)存儲的重心都在數(shù)據(jù)庫服務(wù)器上,致使服務(wù)器的性能決定了整個實時歷史數(shù)據(jù)庫的性能。試想擁有100000個標(biāo)簽點的上限要求的數(shù)據(jù)庫,每秒更新一次數(shù)據(jù),數(shù)據(jù)量為7811Λ,如果全部上傳到服務(wù)器進(jìn)行壓縮, 需要占用6M多的帶寬,極大的耗費(fèi)了網(wǎng)絡(luò)資源。另外,每個標(biāo)簽點的數(shù)據(jù)只有在服務(wù)器端累計達(dá)到一定的數(shù)據(jù)量后才能利用壓縮算法進(jìn)行壓縮,這對服務(wù)器的內(nèi)存消耗也將大幅增加。即使是服務(wù)器內(nèi)存夠用,如此大規(guī)模的數(shù)據(jù)壓縮處理過程,也將使對服務(wù)器CPU帶來極大的負(fù)擔(dān)。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明提出了一種基于兩級體系的分布式數(shù)據(jù)壓縮處理方法。首先,對發(fā)明中使用的技術(shù)名詞進(jìn)行說明或定義。接口機(jī)負(fù)責(zé)把底層控制系統(tǒng)的數(shù)據(jù)經(jīng)過一定的方式傳送到數(shù)據(jù)庫中;服務(wù)器以數(shù)據(jù)庫的方式存儲接口機(jī)上傳的數(shù)據(jù)。本發(fā)明具體采用以下技術(shù)方案。
一種基于兩級體系的分布式數(shù)據(jù)壓縮處理方法,所述處理方法采用接口機(jī)分布式壓縮數(shù)據(jù)的處理方式,其特征在于均衡網(wǎng)絡(luò)節(jié)點資源,所述分布式數(shù)據(jù)壓縮處理方法包括以下步驟(1)通過接口機(jī)采集底層控制系統(tǒng)的數(shù)據(jù);(2)在接口機(jī)中對采集數(shù)據(jù)進(jìn)行壓縮;(3)在接口機(jī)中設(shè)置一級緩存,將壓縮后的數(shù)據(jù)存入接口機(jī)中設(shè)置的一級緩存中;(4)當(dāng)所述接口機(jī)中設(shè)置的一級緩存滿或者達(dá)到設(shè)定的最大上傳時間時,進(jìn)入步驟⑶;(5)接口機(jī)將壓縮后的數(shù)據(jù)打包上傳至服務(wù)器中設(shè)置的二級緩存中,進(jìn)入步驟 (6);(6)判斷所述服務(wù)器中設(shè)置的二級緩存的存儲狀態(tài),當(dāng)二級緩存滿或達(dá)到最大上傳時間時,進(jìn)入步驟(7);(7)將二級緩存中的壓縮數(shù)據(jù)寫入磁盤文件中。本發(fā)明具有以下技術(shù)效果把壓縮的負(fù)載由一臺服務(wù)器轉(zhuǎn)移到多臺接口機(jī)上,不僅減少了服務(wù)器的內(nèi)存負(fù)載,減少了不必要的開銷,使服務(wù)器對于實時數(shù)據(jù)的響應(yīng)更加快捷,又合理的利用了網(wǎng)絡(luò)中各結(jié)點的資源,達(dá)到資源的合理配置。而在接口機(jī)進(jìn)行數(shù)據(jù)壓縮再上傳到服務(wù)器中的壓縮方式,也大大的減少了網(wǎng)絡(luò)中數(shù)據(jù)的傳輸,節(jié)約了網(wǎng)絡(luò)資源。這種在接口機(jī)壓縮數(shù)據(jù)再上傳到服務(wù)器的方法將更加適合超大數(shù)據(jù)量的實時數(shù)據(jù)庫的實現(xiàn)。
圖1所示為本發(fā)明分布式壓縮處理方法原理圖;圖2所示為本發(fā)明分布式壓縮處理方法流程圖。
具體實施例方式下面結(jié)合說明書附圖對本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)說明。如圖1所示為本發(fā)明公開的分布式壓縮處理方法原理圖。接口機(jī)負(fù)責(zé)從底層的控制系統(tǒng)(如DCS、PLC等)采集數(shù)據(jù),通過調(diào)用數(shù)據(jù)庫接口 API的方式往服務(wù)器中的數(shù)據(jù)庫寫入數(shù)據(jù)。由于數(shù)據(jù)的海量性以及采集數(shù)據(jù)的時效性,接口機(jī)需要快速的把采集到的數(shù)據(jù)寫入到服務(wù)器中。而接口機(jī)與服務(wù)器之間采用的是TCP/IP 協(xié)議,網(wǎng)絡(luò)的傳輸速率也成為制約數(shù)據(jù)庫寫入速度的重要因素。因此,在接口機(jī)上先進(jìn)行數(shù)據(jù)壓縮,然后在上傳到服務(wù)器上就可以減少網(wǎng)絡(luò)環(huán)境對數(shù)據(jù)庫速率的影響。而一臺數(shù)據(jù)庫服務(wù)器對應(yīng)多臺接口機(jī),把壓縮的負(fù)荷由一臺服務(wù)器分配到多臺接口機(jī)上,合理的利用了網(wǎng)絡(luò)中各結(jié)點的資源,減少了服務(wù)器的資源占有率。如圖2所示為本發(fā)明分布式壓縮方式處理方法流程圖。所述處理方法采用接口機(jī)和服務(wù)器兩級壓縮方式,其特征在于用戶可以根據(jù)硬件環(huán)境和數(shù)據(jù)數(shù)量自定義壓縮模式。壓縮模式分為兩種第一種是在接口機(jī)進(jìn)行數(shù)據(jù)壓縮; 第二種是在服務(wù)器進(jìn)行數(shù)據(jù)壓縮。本發(fā)明公開的基于兩級體系的分布式數(shù)據(jù)壓縮處理方法采用第二種壓縮模式,具體操作步驟如下所述處理方法采用接口機(jī)和服務(wù)器兩級壓縮方式,其特征在于用戶可以根據(jù)硬件環(huán)境和數(shù)據(jù)數(shù)量自定義壓縮模式,所述分布式數(shù)據(jù)壓縮處理方法包括以下步驟(1)通過接口機(jī)采集底層控制系統(tǒng)的數(shù)據(jù),底層控制系統(tǒng)包括DCS、PLC、SCADA等;(2)在接口機(jī)中對采集數(shù)據(jù)進(jìn)行壓縮,壓縮方法為基于平行四邊形的壓縮方法,其基本原理是從第一個歸檔數(shù)據(jù)點開始,以它到當(dāng)前點的連線為中軸做指定寬度(壓縮精度的兩倍)做平行四邊形,隨著當(dāng)前數(shù)據(jù)點的不斷更新以同樣的方法做平行四邊形并繼續(xù)擴(kuò)展,當(dāng)產(chǎn)生的平行四邊形不能容納上個存檔點到當(dāng)前點之間的所有數(shù)據(jù)時,則讓當(dāng)前點通過本段壓縮,再以最新壓縮歸檔點為起點重復(fù)此過程;(3)在接口機(jī)中設(shè)置一級緩存,將壓縮后的數(shù)據(jù)按照一定的格式存入接口機(jī)中設(shè)置的一級緩存中(以實時歷史數(shù)據(jù)庫為例,壓縮后的數(shù)據(jù)可以按照數(shù)據(jù)值、數(shù)據(jù)采集時間、 數(shù)據(jù)狀態(tài)、數(shù)據(jù)所屬的標(biāo)簽點KKS編碼的格式存儲),考慮在出現(xiàn)斷電等異常情況下緩存的數(shù)據(jù)會丟失,緩存不宜設(shè)置過大;(4)當(dāng)所述接口機(jī)中設(shè)置的一級緩存滿,進(jìn)入步驟(5);有時上傳的數(shù)據(jù)量少,緩存長時間不能存滿時,可通過設(shè)置最大上傳時間即達(dá)到一定時間后,不考慮緩存的狀態(tài),直接進(jìn)入步驟(5);(5)接口機(jī)將壓縮后的數(shù)據(jù)打包,通過TCP/IP協(xié)議上傳至服務(wù)器;在服務(wù)器上設(shè)置二級緩存,二級緩存是以若干個大小相等的緩存塊組成,每個數(shù)據(jù)源對應(yīng)一個緩沖塊,緩存塊的個數(shù)由數(shù)據(jù)源的個數(shù)決定,上傳的數(shù)據(jù)存儲到數(shù)據(jù)源對應(yīng)的緩沖塊中;(6)判斷所述服務(wù)器中每個數(shù)據(jù)源對應(yīng)緩存塊的存儲狀態(tài),當(dāng)緩存塊滿或達(dá)到最大上傳時間時,進(jìn)入步驟(7);(7)將對應(yīng)的緩沖塊中存儲的數(shù)據(jù)以批量的形式寫入磁盤文件中,完成數(shù)據(jù)從采集到壓縮、存儲的過程。為了防止壓縮算法對數(shù)據(jù)的過濾導(dǎo)致長時間沒有數(shù)據(jù)上傳到服務(wù)器,保證數(shù)據(jù)的實時性,每個標(biāo)簽點有一個最大上傳時間的屬性,數(shù)據(jù)上傳站點會根據(jù)每個標(biāo)簽點的這個屬性來上傳數(shù)據(jù),從而保證數(shù)據(jù)的實時性。本發(fā)明申請人結(jié)合說明書附圖對本發(fā)明的實施例做了詳細(xì)的說明與描述,但是本領(lǐng)域技術(shù)人員應(yīng)該理解,以上實施例僅為本發(fā)明的優(yōu)選實施方案,詳盡的說明只是為了幫助讀者更好地理解本發(fā)明精神,而并非對本發(fā)明保護(hù)范圍的限制,相反,任何基于本發(fā)明發(fā)明精神所作的任何改進(jìn)或修飾都應(yīng)當(dāng)落在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于兩級體系的分布式數(shù)據(jù)壓縮處理方法,所述處理方法采用接口機(jī)和服務(wù)器兩級壓縮方式,其特征在于用戶可以根據(jù)硬件環(huán)境和數(shù)據(jù)數(shù)量自定義壓縮模式,所述分布式數(shù)據(jù)壓縮處理方法包括以下步驟(1)通過接口機(jī)采集底層控制系統(tǒng)的數(shù)據(jù);(2)在接口機(jī)中對采集數(shù)據(jù)進(jìn)行壓縮;(3)在接口機(jī)中設(shè)置一級緩存,將壓縮后的數(shù)據(jù)存入接口機(jī)中設(shè)置的一級緩存中;(4)當(dāng)所述接口機(jī)中設(shè)置的一級緩存滿或者達(dá)到設(shè)定的最大上傳時間時,進(jìn)入步驟(5);(5)接口機(jī)將壓縮后的數(shù)據(jù)打包上傳至服務(wù)器中設(shè)置的二級緩存中,進(jìn)入步驟(6);(6)判斷所述服務(wù)器中設(shè)置的二級緩存的存儲狀態(tài),當(dāng)二級緩存滿或達(dá)到最大上傳時間時,進(jìn)入步驟(7);(7)將二級緩存中的壓縮數(shù)據(jù)寫入磁盤文件中。
2.根據(jù)權(quán)利要求1所述的基于兩級體系的分布式數(shù)據(jù)壓縮處理方法,其特征在于 在步驟( 中,采用的通訊協(xié)議為TCP/IP協(xié)議將接口機(jī)壓縮后的數(shù)據(jù)打包上傳至服務(wù)器中設(shè)置的二級緩存中。
全文摘要
基于兩級體系的分布式數(shù)據(jù)壓縮處理方法在原有在服務(wù)器端進(jìn)行數(shù)據(jù)壓縮的基礎(chǔ)上,提出在接口機(jī)進(jìn)行壓縮數(shù)據(jù),到一定時間或一定量后上傳服務(wù)器,服務(wù)器再累計到一定量后調(diào)用文件處理程序保存數(shù)據(jù)。把壓縮的負(fù)載由一臺服務(wù)器轉(zhuǎn)移到多臺接口機(jī)上,不僅減少了服務(wù)器的內(nèi)存負(fù)載,減少了不必要的開銷,使服務(wù)器對于實時數(shù)據(jù)的響應(yīng)更加快捷,又合理的利用了網(wǎng)絡(luò)中各結(jié)點的資源,達(dá)到資源的合理配置。而在接口機(jī)進(jìn)行數(shù)據(jù)壓縮再上傳到服務(wù)器中的壓縮方式,也大大的減少了網(wǎng)絡(luò)中數(shù)據(jù)的傳輸,節(jié)約了網(wǎng)絡(luò)資源。這種在接口機(jī)壓縮數(shù)據(jù)再上傳到服務(wù)器的方法將更加適合超大數(shù)據(jù)量的實時數(shù)據(jù)庫的實現(xiàn)。
文檔編號H04L29/08GK102497450SQ201110445899
公開日2012年6月13日 申請日期2011年12月28日 優(yōu)先權(quán)日2011年12月28日
發(fā)明者康芳, 程睿君, 蔣禾青, 黃孝彬 申請人:北京華電天仁電力控制技術(shù)有限公司