專利名稱:一種物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法。
背景技術(shù):
上海光源光束線站控制設(shè)備數(shù)據(jù)原本是通過一個被稱為檔案的工具包來實現(xiàn)數(shù)據(jù)存檔及相關(guān)瀏覽等操作的?;谖募到y(tǒng)的數(shù)據(jù)存放技術(shù)的確定是顯而易見的;為此,我們需要一種更加穩(wěn)健的數(shù)據(jù)存儲技術(shù)來保存這些重要的運行數(shù)據(jù);同時,在局域網(wǎng)中實現(xiàn)控制存檔數(shù)據(jù)查詢,可查詢數(shù)據(jù)包括各條線站儀器設(shè)備的溫度,水流,真空,泵流等物理量的歷史數(shù)據(jù)記錄??紤]到數(shù)據(jù)的產(chǎn)生機制是從實驗物理及エ業(yè)控制軟件系統(tǒng)中的過程變量(簡稱PV)寫到中間存儲地點,同時考慮到目前還沒有一種能夠支持?jǐn)?shù)據(jù)實時寫入的技木, 故系統(tǒng)不支持即時查詢功能,且系統(tǒng)目前只保有24小時之前的數(shù)據(jù)。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明g在提供ー種物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,以便于實現(xiàn)大型物理數(shù)據(jù)庫系統(tǒng)的查詢、更新及維護。本發(fā)明所述的ー種物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,包括以下步驟步驟一,在數(shù)據(jù)庫中定義數(shù)據(jù)表格模板,采用基于時間的表格生成器根據(jù)所述數(shù)據(jù)表格模板按時生成數(shù)據(jù)表;步驟ニ,通過Perl腳本將外部數(shù)據(jù)按時間和物理數(shù)據(jù)的位置導(dǎo)入所述對應(yīng)的數(shù)據(jù)表中。在上述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法中,所述步驟ニ包括首先,獲取當(dāng)前日期,井根據(jù)所述當(dāng)前日期獲得所述物理數(shù)據(jù)的位置和數(shù)據(jù)應(yīng)當(dāng)存放的數(shù)據(jù)表的表名;其次,連接所述數(shù)據(jù)庫,獲取該數(shù)據(jù)庫需采集的數(shù)據(jù)的信息;最后,讀取外部數(shù)據(jù),驗證其合法性,并在通過驗證后,根據(jù)所述數(shù)據(jù)庫的表名將外部數(shù)據(jù)寫入相應(yīng)的數(shù)據(jù)表中。在上述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法中,所述步驟ニ中,數(shù)據(jù)庫需采集的數(shù)據(jù)的信息包括過程變量的名稱,采樣時間及數(shù)據(jù)的相關(guān)屬性。在上述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法中,所述方法還包括步驟三,在數(shù)據(jù)庫中建立用于存放數(shù)據(jù)的最新過程變量名稱及相關(guān)信息的輔助表格。在上述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法中,所述方法還包括步驟四,建立數(shù)據(jù)庫與用戶之間的訪問通道,包括通過PHP進程解析用戶指令,實現(xiàn)數(shù)據(jù)庫訪問。在上述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法中,所述步驟一中的表格生成器通過MySQL中的觸發(fā)器并根據(jù)所述數(shù)據(jù)表格模板建立而成。
由于采用了上述的技術(shù)解決方案,本發(fā)明通過采用一種基于時間的表格生成器并根據(jù)定義的數(shù)據(jù)表格模板來產(chǎn)生新的數(shù)據(jù)表,并通過Perl腳本使外部數(shù)據(jù)自動按照時間和物理數(shù)據(jù)的位置被存儲到對應(yīng)的數(shù)據(jù)表中,從而解決了由于運行物理數(shù)據(jù)量大而導(dǎo)致的數(shù)據(jù)查詢和存儲不易的問題;同時,本發(fā)明考慮到數(shù)據(jù)庫由于過程變量會有經(jīng)常的刪除或増加情況,構(gòu)建了輔助表格來使這種變化情況能夠在數(shù)據(jù)保存中自動體現(xiàn)出來,從而到達數(shù)據(jù)維護的目的;另外,本發(fā)明還通過PHP進程建立數(shù)據(jù)庫與用戶(包括外部數(shù)據(jù)查詢系統(tǒng))之間的訪問通道,便于實現(xiàn)本數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)訪問功能。
具體實施例方式下面結(jié)合實施例,對本發(fā)明予以詳細(xì)描述。本發(fā)明,即ー種物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,包括以下步驟步驟一,在數(shù)據(jù)庫中定義數(shù)據(jù)表格模板,采用基于時間的表格生成器根據(jù)所述數(shù)據(jù)表格模板按時生成數(shù)據(jù)表,本實施例中,表格生成器通過MySQL中的觸發(fā)器并根據(jù)數(shù)據(jù)表格模板建立而成;步驟ニ,通過Perl腳本將外部數(shù)據(jù)按時間和物理數(shù)據(jù)的位置導(dǎo)入對應(yīng)的數(shù)據(jù)表中;具體來說,步驟ニ包括首先,獲取當(dāng)前日期,并根據(jù)當(dāng)前日期獲得物理數(shù)據(jù)的位置,即臨時數(shù)據(jù)存放地的位置和數(shù)據(jù)應(yīng)當(dāng)存放的數(shù)據(jù)表的表名;其次,連接數(shù)據(jù)庫,獲取該數(shù)據(jù)庫需采集的數(shù)據(jù)的信息,如過程變量的名稱,采樣時間及數(shù)據(jù)的相關(guān)屬性等;最后,讀取外部數(shù)據(jù),驗證其合法性,并在通過驗證后,根據(jù)數(shù)據(jù)庫的表名將外部數(shù)據(jù)寫入相應(yīng)的數(shù)據(jù)表中。步驟三,在數(shù)據(jù)庫中建立用于存放數(shù)據(jù)的最新過程變量名稱及相關(guān)信息的輔助表格;步驟四,建立數(shù)據(jù)庫與用戶之間的訪問通道,包括通過PHP進程解析用戶指令,實現(xiàn)數(shù)據(jù)庫訪問。本實施例以建立用于光束線站控制設(shè)備的物理關(guān)系數(shù)據(jù)庫系統(tǒng)為例,采用以年為単位的表格生成技術(shù),具體來說,就是在數(shù)據(jù)庫中建立一個時間事件,這個時間事件會在每年的第一天使表格生成器為線站建立數(shù)據(jù)表;使用一年為單位的數(shù)據(jù)表,其一年的數(shù)據(jù)量大概在50GB-100GB的范圍內(nèi),在如此大的數(shù)據(jù)量的情況下,只要使用數(shù)據(jù)庫的設(shè)計技術(shù)和優(yōu)化技術(shù)將單個數(shù)據(jù)選擇查詢時間控制在0. I秒內(nèi),對于終端用戶來說,仍是可以接受的。在定義數(shù)據(jù)表格模板時,應(yīng)盡量壓縮單個記錄需要的空間大小,同時為了使數(shù)據(jù)庫的ニ叉樹查詢算法能夠盡快的獲得數(shù)據(jù),在定義數(shù)據(jù)表格模板中數(shù)據(jù)表的名稱、表中數(shù)據(jù)的名稱時盡量使這些數(shù)據(jù)包含數(shù)據(jù)的語義成分。對于物理數(shù)據(jù)的語義模型,其應(yīng)當(dāng)包含下列對象。對象I :數(shù)據(jù)的物理名稱由一系列字符串組成,如X08U1A:FE:FMl:TCl:Al,分別包含了該物理變量所屬的線站,所在線站的位置,所屬的物理模塊,該數(shù)據(jù)的所表征的物理量及該數(shù)據(jù)的采樣時間。這些數(shù)據(jù)可以在后續(xù)的查詢中得到充分的應(yīng)用。 對象2 :數(shù)據(jù)的獲取時間這個由數(shù)據(jù)產(chǎn)生的時候所決定。
對象3 :數(shù)據(jù)索引的語義由于索引數(shù)據(jù)的要求,將時間和名稱通過冗余剔去算法合并而成,使之既能對數(shù)據(jù)做索引之用,又能盡可能減小其存放的空間。由于實驗物理及エ業(yè)控制軟件系統(tǒng)目前的系統(tǒng)架構(gòu)中,沒有數(shù)據(jù)的輸入考慮,因此本實施例中可利用一臺Linux機器并通過Perl腳本來實現(xiàn)外部數(shù)據(jù)的導(dǎo)入功能。在建立用戶與數(shù)據(jù)庫的訪問通道的過程中,以數(shù)據(jù)查詢?yōu)槔?,可使用LAMP架構(gòu)來作為解決方案,即運行Apache服務(wù)器,用來接收用戶通過網(wǎng)頁發(fā)過來的數(shù)據(jù)查詢請求,這個請求通過PHP進程予以解析后,去遠端訪問數(shù)據(jù)庫系統(tǒng),如果查詢成功之后,則數(shù)據(jù)將通、過flash的方式,展現(xiàn)在web頁面上以供用戶查閱。以上所述的,僅為本發(fā)明的較佳實施例,并非用以限定本發(fā)明的范圍,本發(fā)明的上述實施例還可以做出各種變化。即凡是依據(jù)本發(fā)明申請的權(quán)利要求書及說明書內(nèi)容所作的簡單、等效變化與修飾,皆落入本發(fā)明專利的權(quán)利要求保護范圍。本發(fā)明未詳盡描述的均為常規(guī)技術(shù)內(nèi)容。
權(quán)利要求
1.ー種物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,其特征在于,所述方法包括以下步驟 步驟一,在數(shù)據(jù)庫中定義數(shù)據(jù)表格模板,采用基于時間的表格生成器根據(jù)所述數(shù)據(jù)表格模板按時生成數(shù)據(jù)表; 步驟ニ,通過Perl腳本將外部數(shù)據(jù)按時間和物理數(shù)據(jù)的位置導(dǎo)入所述對應(yīng)的數(shù)據(jù)表中。
2.根據(jù)權(quán)利要求I所述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,其特征在于,所述步驟ニ包括 首先,獲取當(dāng)前日期,井根據(jù)所述當(dāng)前日期獲得所述物理數(shù)據(jù)的位置和數(shù)據(jù)應(yīng)當(dāng)存放的數(shù)據(jù)表的表名; 其次,連接所述數(shù)據(jù)庫,獲取該數(shù)據(jù)庫需采集的數(shù)據(jù)的信息; 最后,讀取外部數(shù)據(jù),驗證其合法性,并在通過驗證后,根據(jù)所述數(shù)據(jù)庫的表名將外部數(shù)據(jù)寫入相應(yīng)的數(shù)據(jù)表中。
3.根據(jù)權(quán)利要求2所述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,其特征在干,所述步驟ニ中,數(shù)據(jù)庫需采集的數(shù)據(jù)的信息包括過程變量的名稱,采樣時間及數(shù)據(jù)的相關(guān)屬性。
4.根據(jù)權(quán)利要求1、2或3所述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,其特征在于,所述方法還包括 步驟三,在數(shù)據(jù)庫中建立用于存放數(shù)據(jù)的最新過程變量名稱及相關(guān)信息的輔助表格。
5.根據(jù)權(quán)利要求4所述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,其特征在干,所述方法還包括 步驟四,建立數(shù)據(jù)庫與用戶之間的訪問通道,包括通過PHP進程解析用戶指令,實現(xiàn)數(shù)據(jù)庫訪問。
6.根據(jù)權(quán)利要求5所述的物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,其特征在于,所述步驟一中的表格生成器通過MySQL中的觸發(fā)器并根據(jù)所述數(shù)據(jù)表格模板建立而成。
全文摘要
本發(fā)明涉及一種物理關(guān)系數(shù)據(jù)庫系統(tǒng)的建立方法,包括以下步驟步驟一,在數(shù)據(jù)庫中定義數(shù)據(jù)表格模板,采用基于時間的表格生成器根據(jù)所述數(shù)據(jù)表格模板按時生成數(shù)據(jù)表;步驟二,通過Perl腳本將外部數(shù)據(jù)按時間和物理數(shù)據(jù)的位置導(dǎo)入所述對應(yīng)的數(shù)據(jù)表中。本發(fā)明通過采用一種基于時間的表格生成器并根據(jù)定義的數(shù)據(jù)表格模板來產(chǎn)生新的數(shù)據(jù)表,并通過Perl腳本使外部數(shù)據(jù)自動按照時間和物理數(shù)據(jù)的位置被存儲到對應(yīng)的數(shù)據(jù)表中,從而解決了由于運行物理數(shù)據(jù)量大而導(dǎo)致的數(shù)據(jù)查詢和存儲不易的問題。
文檔編號G06F17/30GK102651029SQ201210099858
公開日2012年8月29日 申請日期2012年4月6日 優(yōu)先權(quán)日2012年4月6日
發(fā)明者敖新宇, 米清茹, 胡純 申請人:中國科學(xué)院上海應(yīng)用物理研究所