專利名稱:一種用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機應(yīng)用技術(shù)及半導(dǎo)體領(lǐng)域,特別涉及一種用于仿真系統(tǒng)的配置數(shù) 據(jù)的存儲管理方法和裝置。
背景技術(shù):
隨著集成電路芯片集成度的不斷提升和芯片功能的不斷提高,人們對工藝的要求 越來越高。在半導(dǎo)體制造裝備的研究、開發(fā)和測試工作中,包括硬件和軟件的研發(fā)。開發(fā)軟 件中大部分是設(shè)備控制軟件,這些軟件在進行測試時,需要首先在仿真環(huán)境下進行驗證,而 單純?yōu)槟骋粋€項目開發(fā)軟件測試平臺不僅耗時過大而且可重用性很差,為了提高軟件測試 的效率和準(zhǔn)確定位系統(tǒng)所存在問題,迫切需要一個通用的軟件測試平臺系統(tǒng)。需要提供各 項目使用的所有硬件的仿真程序,使開發(fā)出來的軟件能在此基礎(chǔ)之上運行,從而進行測試。在半導(dǎo)體制造裝備的研究、開發(fā)和測試工作中,仿真具有重要作用。一方面,由于 生產(chǎn)過程控制本身的復(fù)雜性,對理論研究不斷提出新的要求,而理論研究需提高設(shè)備的利 用率。要借助于仿真工具;另一方面,面對各種系統(tǒng)控制軟件包,需要現(xiàn)成的仿真平臺,全面 反映算法在實際生產(chǎn)運行中的效果,得到有指導(dǎo)意義的算法改進策略、參數(shù)在線調(diào)整方法 等。仿真平臺的使用,能夠準(zhǔn)確測試設(shè)備控制系統(tǒng)軟件,可以減少控制系統(tǒng)軟件執(zhí)行與集成 電路制造工藝過程的失敗,能解決集成電路工藝設(shè)備的工藝穩(wěn)定性,工藝可靠性,減少設(shè)備 維修時間,最大程度的提高設(shè)備的利用率?,F(xiàn)有的面向半導(dǎo)體仿真的仿真系統(tǒng)的配置數(shù)據(jù)的存儲,用戶不能直觀看到數(shù)據(jù)結(jié) 構(gòu),而且需要第三方存儲設(shè)備來存儲配置的數(shù)據(jù),不便于用戶操作,且存儲效率低。因此為了能夠?qū)Ψ抡嫦到y(tǒng)的配置數(shù)據(jù)的直觀高效的存儲管理,就需要一種有效的 存儲管理方法來對其進行有效的管理。以下就對本發(fā)明所采用的一些現(xiàn)有技術(shù)進行簡單介紹XML序列化是將對象的公共屬性(Property)和字段轉(zhuǎn)換為序列格式(XML)以便 存儲或傳輸?shù)倪^程。反序列化則是從XML輸出中重新創(chuàng)建原始狀態(tài)的對象。可以將序列化 視為將對象的狀態(tài)保存到流或緩沖區(qū)的方法。例如,ASP. NET使用XmlSerializer類對XML Web services消息進行編碼。對象中的數(shù)據(jù)是用編程語言構(gòu)造來描述的,如類、字段、屬性(Property)、基元類 型、數(shù)組,甚至XmlElement或XmlAttribute對象形式的嵌入XML。您可以創(chuàng)建自己的用屬 性(Attribute)批注的類,或使用XML架構(gòu)定義工具(Xsd. exe)生成基于現(xiàn)有XML架構(gòu)定 義(XSD)文檔的類。如果有XML架構(gòu),則可以運行XSD.exe產(chǎn)生一組類,將這組類的類型強 聲明為此架構(gòu),并用屬性(Attribute)批注這些類以便在序列化時遵循此架構(gòu)。在對象和XML之間傳輸數(shù)據(jù)需要從編程語言構(gòu)造到XML架構(gòu)的映射和從XML架構(gòu) 到編程語言構(gòu)造的映射。XmlSerializer和相關(guān)工具(如Xsd. exe)在設(shè)計時和運行時都能 在這兩種技術(shù)之間提供一個橋梁。在設(shè)計時,使用Xsd. exe可從自定義類產(chǎn)生XML架構(gòu)文 檔(.xsd)或從給定架構(gòu)產(chǎn)生類。不論何種情況,這些類都用自定義屬性(Attribute)進行批注,以指示XmlSerializer如何在XML架構(gòu)系統(tǒng)和公共語言運行庫之間映射。在運行時, 可以將這些類的實例序列化到遵循給定架構(gòu)的XML文檔中。同樣,可以將這些XML文檔反 序列化到運行時對象中。注意,XML架構(gòu)是可選的,在設(shè)計時或運行時不是必需的。
發(fā)明內(nèi)容
本發(fā)明的目的旨在提出以一種用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理方法和裝置, 從而可以使用戶直觀的觀察到配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),并且不需要額外的存儲設(shè)備,存儲時 效高。為達到上述目的,本發(fā)明一方面提出了一種用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理 方法,包括如下步驟創(chuàng)建仿真系統(tǒng),其中,所述仿真系統(tǒng)包括協(xié)議層、設(shè)備層、子系統(tǒng)層和系統(tǒng)層;自定義數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包括多個結(jié)構(gòu)項;將配置數(shù)據(jù)配置到對應(yīng)的結(jié)構(gòu)項;利用XML序列化方法將所述數(shù)據(jù)結(jié)構(gòu)序列化為XML中的節(jié)點,其中所述數(shù)據(jù)結(jié)構(gòu) 的結(jié)構(gòu)項中載有配置數(shù)據(jù);和將所述配置數(shù)據(jù)填充到XML節(jié)點中。根據(jù)本發(fā)明實施例的用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理方法,通過將數(shù)據(jù)結(jié)構(gòu) 和XML相結(jié)合對配置數(shù)據(jù)進行存儲,并通過XML序列化將配置數(shù)據(jù)填充到對應(yīng)的XML節(jié)點 中,從而使用戶直觀的觀察到配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),并且不需要額外的存儲設(shè)備,存儲時效
尚ο本發(fā)明另一方面還提出了一種用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理裝置,包括創(chuàng)建模塊,用于創(chuàng)建仿真系統(tǒng),其中所述仿真系統(tǒng)包括協(xié)議層、設(shè)備層、子系統(tǒng)層 和系統(tǒng)層;配置模塊,用于自定義數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包括多個結(jié)構(gòu)項,并將配置數(shù)據(jù)配 置到對應(yīng)的結(jié)構(gòu)項;和 存儲模塊,用于利用XML序列化方法將所述數(shù)據(jù)結(jié)構(gòu)序列化為XML中的節(jié)點,并將 所述配置數(shù)據(jù)填充到XML節(jié)點中,其中所述數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)項中載有配置數(shù)據(jù)。根據(jù)本發(fā) 明實施例的用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理裝置,通過將數(shù)據(jù)結(jié)構(gòu)和XML相結(jié)合對配 置數(shù)據(jù)進行存儲,并通過XML序列化將配置數(shù)據(jù)填充到對應(yīng)的XML節(jié)點中,從而使用戶直觀 的觀察到配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),并且不需要額外的存儲設(shè)備,存儲時效高。本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實踐了解到。
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變 得明顯和容易理解,其中圖1為根據(jù)本發(fā)明實施例的用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理方法的流程圖;圖2為根據(jù)本發(fā)明實施例的協(xié)議層的配置數(shù)據(jù)的存儲管理方法的流程圖;圖3為根據(jù)本發(fā)明實施例的設(shè)備層的配置數(shù)據(jù)的存儲管理方法的流程圖4為根據(jù)本發(fā)明實施例的子系統(tǒng)層的配置數(shù)據(jù)的存儲管理方法的流程圖;圖5為根據(jù)本發(fā)明實施例的系統(tǒng)層的配置數(shù)據(jù)的存儲管理方法的流程圖;圖6為根據(jù)本發(fā)明實施例的打開窗口載入配置文件的流程圖;圖7為根據(jù)本發(fā)明實施例的雙擊載入配置文件的流程圖;圖8為圖7中雙擊節(jié)點的示意圖;和圖9為根據(jù)本發(fā)明實施例的用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理裝置的示意圖。
具體實施例方式下面詳細(xì)描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。為了更好的理解本發(fā)明,下面參考附圖描述根據(jù)本發(fā)明實施例的仿真子系統(tǒng)的構(gòu) 建及管理方法。在下面的描述中,以面向半導(dǎo)體制造裝備功能的仿真系統(tǒng)為例,需要理解的 是本發(fā)明并不限于用于向半導(dǎo)體制造裝備功能的仿真系統(tǒng)。如圖1所示,本發(fā)明實施例的仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理方法,包括如下步 驟SlOl 創(chuàng)建仿真系統(tǒng);仿真系統(tǒng)包括協(xié)議層、設(shè)備層、子系統(tǒng)層和系統(tǒng)層。因此創(chuàng)建仿真系統(tǒng)具體包括創(chuàng) 建協(xié)議層、創(chuàng)建設(shè)備層、創(chuàng)建子系統(tǒng)層和創(chuàng)建系統(tǒng)層。S102:自定義數(shù)據(jù)結(jié)構(gòu);在步驟101中創(chuàng)建仿真系統(tǒng)后,首先自定義各個層次的數(shù)據(jù)結(jié)構(gòu),每個數(shù)據(jù)結(jié)構(gòu) 都包括有多個結(jié)構(gòu)項。S103 將配置數(shù)據(jù)配置到對應(yīng)的結(jié)構(gòu)項;用戶在對仿真系統(tǒng)配置數(shù)據(jù)時,將各個層次的配置數(shù)據(jù)分別配置到對應(yīng)的結(jié)構(gòu)項 中。S104:存儲配置數(shù)據(jù)。對步驟103中配置完的數(shù)據(jù)結(jié)構(gòu)采用XML序列化方法,將其序列化為XML中的節(jié) 點。由于配置數(shù)據(jù)位于數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)項中,因此對數(shù)據(jù)結(jié)構(gòu)的序列化,相當(dāng)于對配置數(shù)據(jù) 的序列化,即將配置數(shù)據(jù)填充到XML節(jié)點中,從而生成配置數(shù)據(jù)的XML文件。根據(jù)本發(fā)明實施例的用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理方法,通過將數(shù)據(jù)結(jié)構(gòu) 和XML相結(jié)合對配置數(shù)據(jù)進行存儲,并通過XML序列化將配置數(shù)據(jù)填充到對應(yīng)的XML節(jié)點 中,從而使用戶直觀的觀察到配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),并且不需要額外的存儲設(shè)備,存儲時效 尚ο下面參考圖2至圖5描述本發(fā)明實施例的配置數(shù)據(jù)的存儲管理方法分別應(yīng)用在協(xié) 議層、設(shè)備層、子系統(tǒng)層和系統(tǒng)層中的示例。第一實施例協(xié)議層數(shù)據(jù)存儲管理在進入仿真系統(tǒng)的協(xié)議層之后,首先判斷在協(xié)議層中是否存在協(xié)議。如果協(xié)議層 中不存在協(xié)議,則創(chuàng)建協(xié)議作為協(xié)議層協(xié)議,然后對創(chuàng)建的協(xié)議選擇協(xié)議類型。協(xié)議層的數(shù) 據(jù)結(jié)構(gòu)主要為定義協(xié)議的數(shù)據(jù)包的命令格。用戶在進入?yún)f(xié)議層后可以自定義創(chuàng)建協(xié)議。其中,協(xié)議類型為10、TCP、串口和DeviceNet這幾種類型的協(xié)議。如果協(xié)議層中存在協(xié)議,則修改已有的協(xié)議,然后從已有的協(xié)議中選擇協(xié)議作為 協(xié)議層協(xié)議。對上述指定的協(xié)議層協(xié)議設(shè)定協(xié)議參數(shù)。將協(xié)議類型和協(xié)議參數(shù)作為協(xié)議層的配 置數(shù)據(jù)保存到數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)項中,然后利用XML序列化方法將載有配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu) 序列化為XML中的節(jié)點,將配置數(shù)據(jù)填充到XML節(jié)點中,作為XML文件永久保存。第二實施例設(shè)備層數(shù)據(jù)存儲管理設(shè)備層主要負(fù)責(zé)創(chuàng)建和保存設(shè)備,并且對創(chuàng)建完成的設(shè)備進行設(shè)置和保存,方便 系統(tǒng)層的使用。設(shè)置的內(nèi)容包括設(shè)備的屬性,設(shè)備接收和發(fā)送的命令以及接收到命令之后 該執(zhí)行的相關(guān)動作以及設(shè)備內(nèi)部耦合行為。具體而言,在進入仿真系統(tǒng)的設(shè)備層之后,首先判斷在設(shè)備層中是否存在協(xié)議。如 果設(shè)備層中不存在設(shè)備,則創(chuàng)建設(shè)備;如果設(shè)備層中存在設(shè)備,則修改已有的設(shè)備。保存設(shè)備層中的設(shè)備列表,從列表中選擇設(shè)備。然后配置已選設(shè)備的設(shè)備屬性、設(shè) 備命令、設(shè)備動作和設(shè)備內(nèi)行為耦合。在進行上述配置前,首先要判斷是否存在設(shè)備屬性、設(shè)備命令、設(shè)備動作和設(shè)備內(nèi) 行為耦合,如果存在則進行創(chuàng)建,否則修改已有的設(shè)備屬性、設(shè)備命令、設(shè)備動作和設(shè)備內(nèi) 行為耦合。在進行上述配置后,將上述設(shè)備屬性、設(shè)備命令、設(shè)備動作和設(shè)備內(nèi)行為耦合作為 配置數(shù)據(jù)保存到數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)項中,然后利用XML序列化方法將載有配置數(shù)據(jù)的數(shù)據(jù)結(jié) 構(gòu)序列化為XML中的節(jié)點,將配置數(shù)據(jù)填充到XML節(jié)點中,作為XML文件永久保存。在本發(fā)明的一個實施例中,創(chuàng)建設(shè)備可以完整創(chuàng)建一個設(shè)備或者是修改已經(jīng)創(chuàng)建 好的設(shè)備配置。從進入設(shè)備層,開始創(chuàng)建設(shè)備,保存設(shè)備列表,可一次性創(chuàng)建多個設(shè)備,然后 針對每個設(shè)備創(chuàng)建相應(yīng)的屬性,命令,動作以及內(nèi)部行為耦合,每一部分都分步驟保存,確 保數(shù)據(jù)的有效性。第三實施例子系統(tǒng)層數(shù)據(jù)存儲管理子系統(tǒng)層主要負(fù)責(zé)創(chuàng)建和保存子系統(tǒng),并且對創(chuàng)建完成的子系統(tǒng)進行設(shè)置和保 存,方便系統(tǒng)層的使用。具體而言,在進入仿真系統(tǒng)的子系統(tǒng)層之后,首先判斷先在子系統(tǒng)層中是否存在 子系統(tǒng)。如果子系統(tǒng)層中不存在子系統(tǒng),則創(chuàng)建子系統(tǒng);如果子系統(tǒng)層中存在子系統(tǒng),則修 改已有的子系統(tǒng)。保存子系統(tǒng)中的子系統(tǒng)列表,從列表中選擇子系統(tǒng)。然后配置已選子系統(tǒng)的子系 統(tǒng)設(shè)備、設(shè)備之間的互鎖關(guān)系和耦合關(guān)系。其中,配置子系統(tǒng)設(shè)備包括向子系統(tǒng)中添加設(shè)備,進而保存子系統(tǒng)設(shè)備列表。配置設(shè)備之間的互鎖關(guān)系包括選擇需要配置的設(shè)備,對該設(shè)備創(chuàng)建互鎖關(guān)系,并 保存該互鎖關(guān)系,以及觸發(fā)互鎖關(guān)系的條件。配置子系統(tǒng)的耦合關(guān)系包括創(chuàng)建耦合關(guān)系列表,從耦合關(guān)系列表中選擇耦合關(guān) 系名稱,進而選擇耦合設(shè)備。對該耦合設(shè)備選擇對應(yīng)的設(shè)備命令,并配置耦合動作。其中配 置耦合動作具體包括配置動作的步驟數(shù)量,選擇動作步驟,并配置相應(yīng)的動作類型,最后 保存耦合動作列表。
在進行上述配置后,將子系統(tǒng)列表、子系統(tǒng)的名稱、子系統(tǒng)設(shè)備列表、設(shè)備之間的 互鎖關(guān)系、觸發(fā)所述互鎖關(guān)系的條件、耦合關(guān)系列表、所述耦合關(guān)系的名稱、觸發(fā)耦合關(guān)系 的條件、設(shè)備命令和設(shè)備動作都作為配置數(shù)據(jù)保存到數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)項中,然后利用XML 序列化方法將載有配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)序列化為XML中的節(jié)點,將配置數(shù)據(jù)填充到XML節(jié) 點中,作為XML文件永久保存。在本實施例中,創(chuàng)建子系統(tǒng)包括創(chuàng)建一個子系統(tǒng)和對已經(jīng)創(chuàng)建的好的子系統(tǒng)進行 修改。進入子系統(tǒng)層,首選創(chuàng)建子系統(tǒng),保存子系統(tǒng)列表,在選擇其中的某個子系統(tǒng),為其添 加構(gòu)建該子系統(tǒng)所需的設(shè)備,保存設(shè)備列表,為該子系統(tǒng)創(chuàng)建互鎖關(guān)系,保存互鎖關(guān)系,最 后創(chuàng)建子系統(tǒng)的耦合關(guān)系,保存子系統(tǒng)的耦合關(guān)系,也可以為已經(jīng)創(chuàng)建好的子系統(tǒng)做一定 的修改。第四實施例系統(tǒng)層數(shù)據(jù)存儲管理系統(tǒng)層主要負(fù)責(zé)創(chuàng)建和保存系統(tǒng),并且對創(chuàng)建完成的系統(tǒng)進行設(shè)置和保存,包括 為系統(tǒng)添加一系列的子系統(tǒng)。具體而言,在進入仿真系統(tǒng)的系統(tǒng)層之后,首先判斷先在系統(tǒng)層中是否存在系統(tǒng)。 如果系統(tǒng)層中不存在系統(tǒng),則創(chuàng)建子系統(tǒng);如果系統(tǒng)層中存在系統(tǒng),則修改已有的系統(tǒng)。其中,修改已有的系統(tǒng)包括向該系統(tǒng)中添加子系統(tǒng)和刪除該系統(tǒng),在進行上述配置后,將系統(tǒng)名稱和系統(tǒng)說明都作為配置數(shù)據(jù)保存到數(shù)據(jù)結(jié)構(gòu)的結(jié) 構(gòu)項中,然后利用XML序列化方法將載有配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)序列化為XML中的節(jié)點,將配 置數(shù)據(jù)填充到XML節(jié)點中,作為XML文件永久保存。在完成上述對仿真系統(tǒng)的配置數(shù)據(jù)的存儲后,進一步將上述配置數(shù)據(jù)載入仿真系 統(tǒng)的內(nèi)存中。當(dāng)配置數(shù)據(jù)來自所述設(shè)備層、子系統(tǒng)層或系統(tǒng)層時,通過以下open窗口載入方式 將配置數(shù)據(jù)載入仿真系統(tǒng)的內(nèi)存。如圖7所示,首先,選取配置文件,其中配置文件載有配置數(shù)據(jù)。點擊open按鈕, 系統(tǒng)默認(rèn)指定的路徑就是文件存在的路徑,在路徑下找到需要載入的配置文件。然后選中 該配置文件,點擊打開,將配置文件載入到內(nèi)存,并將配置文件的中的配置數(shù)據(jù)提取出來置 入數(shù)據(jù)結(jié)構(gòu)中。用戶通過點擊打開來載入數(shù)據(jù)配置文件,如果選中的配置文件并不是該層的配置 文件,那么數(shù)據(jù)并不載入,而且會提示錯誤信息,只用選擇對的配置文件才能載入相應(yīng)的數(shù) 據(jù)。不同的窗口的打開按鈕裝載不同的配置信息,通過配置文件的結(jié)構(gòu)來判斷是否載入正 確,每個配置文件有對應(yīng)的數(shù)據(jù)結(jié)構(gòu)與之相對應(yīng),只有通過相應(yīng)的數(shù)據(jù)結(jié)構(gòu)才能把文件中 的數(shù)據(jù)反序列化出來,否則會提示錯誤信息。通過數(shù)據(jù)結(jié)構(gòu)確保打開窗口只能載入配置正 確的配置文件。當(dāng)配置數(shù)據(jù)來自協(xié)議層時,通過雙擊節(jié)點方式將配置數(shù)據(jù)載入仿真系統(tǒng)的內(nèi)存。如圖7所示,首先選取配置文件,其中配置文件載有配置數(shù)據(jù)。如圖8所示,在界 面中選中要載入的配置文件名稱test3,這個操作只針對除協(xié)議層以外的其他層面,索引文 件已經(jīng)存儲了文件名稱以及文件存儲的路勁,索引文件在系統(tǒng)啟動時已經(jīng)載入。根據(jù)選擇 節(jié)點的名稱在HASH表中查找與該名稱相同的鍵值,其中鍵值就是文件存儲路徑,得到路徑 后和open載入配置文件后面的操作一樣。將配置文件載入,通過相應(yīng)的數(shù)據(jù)結(jié)構(gòu)將配置文
9件中的數(shù)據(jù)結(jié)構(gòu)化。通過雙擊節(jié)點來載入配置數(shù)據(jù),只要用戶選中節(jié)點后并且雙擊該選中 節(jié)點,該節(jié)點對應(yīng)的配置文件就載入內(nèi)存,就能查看到配置數(shù)據(jù)。下面參考圖9描述本發(fā)明實施例的用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理裝置。如 圖9所示,該裝置100包括創(chuàng)建模塊110、配置模塊120和存儲模塊130。由于仿真系統(tǒng)包括協(xié)議層、設(shè)備層、子系統(tǒng)層和系統(tǒng)層。因此創(chuàng)建模塊110創(chuàng)建仿 真系統(tǒng)具體包括創(chuàng)建協(xié)議層、創(chuàng)建設(shè)備層、創(chuàng)建子系統(tǒng)層和創(chuàng)建系統(tǒng)層。在創(chuàng)建模塊110創(chuàng)建仿真系統(tǒng)后,配置模塊120首先自定義各個層次的數(shù)據(jù)結(jié)構(gòu), 每個數(shù)據(jù)結(jié)構(gòu)都包括有多個結(jié)構(gòu)項。用戶在對仿真系統(tǒng)配置數(shù)據(jù)時,將各個層次的配置數(shù) 據(jù)分別配置到對應(yīng)的結(jié)構(gòu)項中。對配置模塊120中配置完的數(shù)據(jù)結(jié)構(gòu),存儲模塊130采用XML序列化方法,將其序 列化為XML中的節(jié)點。由于配置數(shù)據(jù)位于數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)項中,因此對數(shù)據(jù)結(jié)構(gòu)的序列化, 相當(dāng)于對配置數(shù)據(jù)的序列化,即將配置數(shù)據(jù)填充到XML節(jié)點中,從而生成配置數(shù)據(jù)的XML文 件。本發(fā)明實施例的配置數(shù)據(jù)的存儲管理裝置100還包括載入模塊140。當(dāng)配置數(shù)據(jù)來自所述設(shè)備層、子系統(tǒng)層或系統(tǒng)層時,載入模塊140通過以下open 窗口載入方式將配置數(shù)據(jù)載入仿真系統(tǒng)的內(nèi)存。如圖7所示,首先,載入模塊140選取配置文件,其中配置文件載有配置數(shù)據(jù)。點 擊open按鈕,系統(tǒng)默認(rèn)指定的路徑就是文件存在的路徑,在路徑下找到需要載入的配置文 件。然后選中該配置文件,點擊打開,載入模塊140將配置文件載入到內(nèi)存,并將配置文件 的中的配置數(shù)據(jù)提取出來置入數(shù)據(jù)結(jié)構(gòu)中。用戶通過點擊打開來載入數(shù)據(jù)配置文件,如果選中的配置文件并不是該層的配置 文件,那么載入模塊140并不載入數(shù)據(jù),而且會提示錯誤信息,只用選擇對的配置文件才能 載入相應(yīng)的數(shù)據(jù)。不同的窗口的打開按鈕裝載不同的配置信息,通過配置文件的結(jié)構(gòu)來判 斷是否載入正確,每個配置文件有對應(yīng)的數(shù)據(jù)結(jié)構(gòu)與之相對應(yīng),只有通過相應(yīng)的數(shù)據(jù)結(jié)構(gòu) 才能把文件中的數(shù)據(jù)反序列化出來,否則會提示錯誤信息。通過數(shù)據(jù)結(jié)構(gòu)確保打開窗口只 能載入配置正確的配置文件。當(dāng)配置數(shù)據(jù)來自協(xié)議層時,載入模塊140通過雙擊節(jié)點方式將配置數(shù)據(jù)載入仿真 系統(tǒng)的內(nèi)存。如圖7所示,載入模塊140首先選取配置文件,其中配置文件載有配置數(shù)據(jù)。如圖 8所示,在界面中選中要載入的配置文件名稱test3,這個操作只針對除協(xié)議層以外的其他 層面,索引文件已經(jīng)存儲了文件名稱以及文件存儲的路勁,索引文件在系統(tǒng)啟動時已經(jīng)載 入。其中索引文件存儲于所述仿真系統(tǒng)的內(nèi)存中。根據(jù)選擇節(jié)點的名稱在HASH表中查找 與該名稱相同的鍵值,其中鍵值就是文件存儲路徑,得到路徑后和open載入配置文件后面 的操作一樣。載入模塊140將配置文件載入,通過相應(yīng)的數(shù)據(jù)結(jié)構(gòu)將配置文件中的數(shù)據(jù)結(jié) 構(gòu)化。通過雙擊節(jié)點來載入配置數(shù)據(jù),只要用戶選中節(jié)點后并且雙擊該選中節(jié)點,該節(jié)點對 應(yīng)的配置文件就載入內(nèi)存,就能查看到配置數(shù)據(jù)。根據(jù)本發(fā)明實施例的用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理裝置,通過將數(shù)據(jù)結(jié)構(gòu) 和XML相結(jié)合對配置數(shù)據(jù)進行存儲,并通過XML序列化將配置數(shù)據(jù)填充到對應(yīng)的XML節(jié)點 中,從而使用戶直觀的觀察到配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),并且不需要額外的存儲設(shè)備,存儲時效尚O 盡管已經(jīng)示出和描述了本發(fā)明的實施例,對于本領(lǐng)域的普通技術(shù)人員而言,可以 理解在不脫離本發(fā)明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換 和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
權(quán)利要求
一種用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理方法,其特征在于,包括如下步驟創(chuàng)建仿真系統(tǒng),其中,所述仿真系統(tǒng)包括協(xié)議層、設(shè)備層、子系統(tǒng)層和系統(tǒng)層;自定義數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包括多個結(jié)構(gòu)項;將配置數(shù)據(jù)配置到對應(yīng)的結(jié)構(gòu)項;利用XML序列化方法將所述數(shù)據(jù)結(jié)構(gòu)序列化為XML中的節(jié)點,其中所述數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)項中載有配置數(shù)據(jù);和將所述配置數(shù)據(jù)填充到XML節(jié)點中。
2.如權(quán)利要求1所述的配置數(shù)據(jù)的存儲管理方法,其特征在于,所述仿真系統(tǒng)的協(xié)議 層的配置數(shù)據(jù)包括協(xié)議類型和協(xié)議參數(shù)。
3.如權(quán)利要求2所述的配置數(shù)據(jù)的存儲管理方法,其特征在于,所述協(xié)議類型包括IO 協(xié)議、TCP協(xié)議、串口協(xié)議和DeviceNET協(xié)議。
4.如權(quán)利要求1所述的配置數(shù)據(jù)的存儲管理方法,其特征在于,所述仿真系統(tǒng)的設(shè)備 層的配置數(shù)據(jù)包括設(shè)備列表、設(shè)備屬性、設(shè)備命令、設(shè)備動作和設(shè)備內(nèi)部行為耦合。
5.如權(quán)利要求4所述的配置數(shù)據(jù)的存儲管理方法,其特征在于,存儲所述仿真系統(tǒng)的 設(shè)備層的配置數(shù)據(jù)還包括對所述設(shè)備屬性、設(shè)備命令、設(shè)備動作和設(shè)備內(nèi)部行為耦合逐個分步保存。
6.如權(quán)利要求1所述的配置數(shù)據(jù)的存儲管理方法,其特征在于,所述仿真系統(tǒng)的子系 統(tǒng)層的配置數(shù)據(jù)包括子系統(tǒng)列表、子系統(tǒng)的名稱、子系統(tǒng)設(shè)備列表、設(shè)備之間的互鎖關(guān)系、 觸發(fā)所述互鎖關(guān)系的條件、耦合關(guān)系列表、所述耦合關(guān)系的名稱、觸發(fā)耦合關(guān)系的條件、設(shè) 備命令和設(shè)備動作。
7.如權(quán)利要求1所述的配置數(shù)據(jù)的存儲管理方法,其特征在于,所述仿真系統(tǒng)的系統(tǒng) 層的配置數(shù)據(jù)包括系統(tǒng)名稱和系統(tǒng)說明。
8.如權(quán)利要求1所述的配置數(shù)據(jù)的存儲管理方法,其特征在于,所述存儲仿真系統(tǒng)的 配置數(shù)據(jù)之后還包括將所述配置數(shù)據(jù)載入所述仿真系統(tǒng)的內(nèi)存。
9.如權(quán)利要求8所述的配置數(shù)據(jù)的存儲管理方法,其特征在于,當(dāng)配置數(shù)據(jù)來自所述 設(shè)備層、子系統(tǒng)層或系統(tǒng)層時,通過以下方式將所述配置數(shù)據(jù)載入所述仿真系統(tǒng)的內(nèi)存選取配置文件,其中所述配置文件載有配置數(shù)據(jù); 根據(jù)所述配置文件的結(jié)構(gòu)判斷所述配置文件是否為對應(yīng)層的配置文件; 如果所述配置文件為對應(yīng)層的配置文件,則將所述配置文件載入內(nèi)存;否則不載入配 置文件;在所述內(nèi)存中,將所述配置數(shù)據(jù)從所述配置文件中提取出,并置入內(nèi)存的數(shù)據(jù)結(jié)構(gòu)中, 當(dāng)配置數(shù)據(jù)來自協(xié)議層時,通過以下方式將所述配置數(shù)據(jù)載入所述仿真系統(tǒng)的內(nèi)存 選取配置文件,其中所述配置文件載有配置數(shù)據(jù);在索引文件中查找與所述配置文件名稱相同的索引文件路徑,其中所述索引文件存儲 于所述仿真系統(tǒng)的內(nèi)存中;根據(jù)所述路徑,將配置文件載入到所述內(nèi)存中;在所述內(nèi)存中,將所述配置數(shù)據(jù)從所述配置文件中提取出,并置入內(nèi)存的數(shù)據(jù)結(jié)構(gòu)中。
10.一種用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理裝置,其特征在于,包括創(chuàng)建模塊,用于創(chuàng)建仿真系統(tǒng),其中所述仿真系統(tǒng)包括協(xié)議層、設(shè)備層、子系統(tǒng)層和系 統(tǒng)層;配置模塊,用于自定義數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包括多個結(jié)構(gòu)項,并將配置數(shù)據(jù)配置到 對應(yīng)的結(jié)構(gòu)項;和存儲模塊,用于利用XML序列化方法將所述數(shù)據(jù)結(jié)構(gòu)序列化為XML中的節(jié)點,并將所述 配置數(shù)據(jù)填充到XML節(jié)點中,其中所述數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)項中載有配置數(shù)據(jù)。
11.如權(quán)利要求10所述的配置數(shù)據(jù)的存儲管理裝置,其特征在于,所述配置模塊配置 所述協(xié)議層的配置數(shù)據(jù)包括協(xié)議類型和協(xié)議參數(shù)。
12.如權(quán)利要求11所述的配置數(shù)據(jù)的存儲管理裝置,其特征在于,所述協(xié)議類型包括 IO協(xié)議、TCP協(xié)議、串口協(xié)議和DeviceNET協(xié)議。
13.如權(quán)利要求10所述的配置數(shù)據(jù)的存儲管理裝置,其特征在于,所述配置模塊配置 所述設(shè)備層的配置數(shù)據(jù)包括設(shè)備列表、設(shè)備屬性、設(shè)備命令、設(shè)備動作和設(shè)備內(nèi)部行為耦I(lǐng)=I O
14.如權(quán)利要求13所述的配置數(shù)據(jù)的存儲管理裝置,其特征在于,所述存儲模塊對所述設(shè)備屬性、設(shè)備命令、設(shè)備動作和設(shè)備內(nèi)部行為耦合逐個分步保存。
15.如權(quán)利要求10所述的配置數(shù)據(jù)的存儲管理裝置,其特征在于,所述配置模塊配置 所述子系統(tǒng)層的配置數(shù)據(jù)包括子系統(tǒng)列表、子系統(tǒng)的名稱、子系統(tǒng)設(shè)備列表、設(shè)備之間的 互鎖關(guān)系、觸發(fā)所述互鎖關(guān)系的條件、耦合關(guān)系列表、所述耦合關(guān)系的名稱、觸發(fā)耦合關(guān)系 的條件、設(shè)備命令和設(shè)備動作。
16.如權(quán)利要求10所述的配置數(shù)據(jù)的存儲管理裝置,其特征在于,所述配置模塊配置 所述系統(tǒng)層的配置數(shù)據(jù)包括系統(tǒng)名稱和系統(tǒng)說明。
17.如權(quán)利要求10所述的配置數(shù)據(jù)的存儲管理裝置,其特征在于,所述用于仿真系統(tǒng) 的配置數(shù)據(jù)的存儲管理裝置還包括載入模塊,所述載入模塊用于將所述配置數(shù)據(jù)載入所述仿真系統(tǒng)的內(nèi)存。
18.如權(quán)利要求17所述的配置數(shù)據(jù)的存儲管理裝置,其特征在于,當(dāng)配置數(shù)據(jù)來自所 述設(shè)備層、子系統(tǒng)層或系統(tǒng)層時,所述載入模塊通過以下方式將所述配置數(shù)據(jù)載入所述仿 真系統(tǒng)的內(nèi)存所述載入模塊選取配置文件,其中所述配置文件載有配置數(shù)據(jù);所述載入模塊根據(jù)所述配置文件的結(jié)構(gòu)判斷所述配置文件是否為對應(yīng)層的配置文件;如果所述配置文件為對應(yīng)層的配置文件,則所述載入模塊將所述配置文件載入內(nèi)存; 否則不載入配置文件;在所述內(nèi)存中,所述載入模塊將所述配置數(shù)據(jù)從所述配置文件中提取出,并置入內(nèi)存 的數(shù)據(jù)結(jié)構(gòu)中,當(dāng)配置數(shù)據(jù)來自協(xié)議層時,所述載入模塊通過以下方式將所述配置數(shù)據(jù)載入所述仿真 系統(tǒng)的內(nèi)存所述載入模塊選取配置文件,其中所述配置文件載有配置數(shù)據(jù); 所述載入模塊在索引文件中查找與所述配置文件名稱相同的索引文件路徑,其中所述索引文件存儲于所述仿真系統(tǒng)的內(nèi)存中;根據(jù)所述路徑,所述載入模塊將配置文件載入到所述內(nèi)存中; 所述載入模塊在所述內(nèi)存中,將所述配置數(shù)據(jù)從所述配置文件中提取出,并置入內(nèi)存 的數(shù)據(jù)結(jié)構(gòu)中。
全文摘要
本發(fā)明公開了一種用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理方法,包括如下步驟創(chuàng)建仿真系統(tǒng),其中,所述仿真系統(tǒng)包括協(xié)議層、設(shè)備層、子系統(tǒng)層和系統(tǒng)層;自定義數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包括多個結(jié)構(gòu)項;將配置數(shù)據(jù)配置到對應(yīng)的結(jié)構(gòu)項;利用XML序列化方法將所述數(shù)據(jù)結(jié)構(gòu)序列化為XML中的節(jié)點,其中所述數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)項中載有配置數(shù)據(jù);和將所述配置數(shù)據(jù)填充到XML節(jié)點中。本發(fā)明還公開了一種用于仿真系統(tǒng)的配置數(shù)據(jù)的存儲管理裝置,包括創(chuàng)建模塊、配置模塊和存儲模塊。本發(fā)明可以使用戶直觀的觀察到配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),并且不需要額外的存儲設(shè)備,存儲時效高。
文檔編號G06F17/30GK101957851SQ20101029191
公開日2011年1月26日 申請日期2010年9月26日 優(yōu)先權(quán)日2010年9月26日
發(fā)明者徐華, 賴太陽 申請人:清華大學(xué)