1 引言
隨著仿真軟件在機(jī)械產(chǎn)品仿真過(guò)程中的廣泛應(yīng)用,產(chǎn)生了海量的、非結(jié)構(gòu)化的數(shù)據(jù),如何對(duì)這些仿真數(shù)據(jù)進(jìn)行有效的管理,是仿真工程人員面臨的首要問(wèn)題。目前,雖然有PDM系統(tǒng)通過(guò)擴(kuò)展可以集成CAM和CAPP,使得一些產(chǎn)品數(shù)據(jù)得以集成、協(xié)調(diào),產(chǎn)品研發(fā)過(guò)程也得以優(yōu)化或重組,但其對(duì)仿真數(shù)據(jù)尚未實(shí)現(xiàn)有效的管理。如何規(guī)范、合理的管理這些仿真數(shù)據(jù),實(shí)現(xiàn)仿真數(shù)據(jù)的交互,支持協(xié)同工作,已經(jīng)成為機(jī)械產(chǎn)品仿真數(shù)據(jù)管理的一個(gè)技術(shù)瓶頸。要有效的管理仿真數(shù)據(jù),就要認(rèn)識(shí)仿真數(shù)據(jù)結(jié)構(gòu),合理的將仿真數(shù)據(jù)分類,然后根據(jù)分類的仿真數(shù)據(jù),運(yùn)用關(guān)系型數(shù)據(jù)庫(kù)和Java內(nèi)容倉(cāng)庫(kù),設(shè)計(jì)出針對(duì)機(jī)械產(chǎn)品仿真數(shù)據(jù)管理的架構(gòu),實(shí)現(xiàn)仿真數(shù)據(jù)的有效管理。
2 機(jī)械產(chǎn)品仿真數(shù)據(jù)的特點(diǎn)和分類
在對(duì)機(jī)械產(chǎn)品進(jìn)行仿真分析的過(guò)程中,不同的CAD、CAE軟件會(huì)產(chǎn)生不同類型的仿真數(shù)據(jù),這些仿真數(shù)據(jù)呈現(xiàn)出數(shù)據(jù)量大、種類繁多、結(jié)構(gòu)復(fù)雜的特點(diǎn)。如何對(duì)這些數(shù)據(jù)進(jìn)行規(guī)范、有效的管理,是機(jī)械仿真人員急切關(guān)注的問(wèn)題。但是,目前在仿真分析數(shù)據(jù)的管理行業(yè)內(nèi),沒(méi)有形成規(guī)范的行業(yè)標(biāo)準(zhǔn),仿真工作人員僅憑個(gè)人習(xí)慣采用文檔的形式管理仿真數(shù)據(jù),極易形成數(shù)據(jù)信息的孤島、錯(cuò)版甚至是數(shù)據(jù)文件的丟失。
對(duì)于機(jī)械產(chǎn)品仿真數(shù)據(jù)的分類,在目前來(lái)說(shuō),還沒(méi)有形成統(tǒng)一的認(rèn)識(shí),分類方式也各不相同。因而根據(jù)仿真過(guò)程的遇到的—些數(shù)據(jù)類型,主要從仿真數(shù)據(jù)結(jié)構(gòu)類型、仿真數(shù)據(jù)存在的形式、仿真學(xué)科和仿真分析過(guò)程等四個(gè)方面將機(jī)械產(chǎn)品仿真數(shù)據(jù)進(jìn)行分類。
2.1 按數(shù)據(jù)結(jié)構(gòu)類型分類
機(jī)械產(chǎn)品仿真數(shù)據(jù)按照數(shù)據(jù)的結(jié)構(gòu)類型可以分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)兩大類。結(jié)構(gòu)化數(shù)據(jù)是指以數(shù)字、字符或文字為載體進(jìn)行記錄或表達(dá)的數(shù)據(jù),這類數(shù)據(jù)具有直觀性。如機(jī)械產(chǎn)品的模型尺寸、材料屬性、載荷值、應(yīng)力值等,這類信息是使用數(shù)字或字符串組合來(lái)表達(dá)出機(jī)械產(chǎn)品的特性,具有直觀性。非結(jié)構(gòu)化數(shù)據(jù)是指不能以數(shù)字、字符或者是文字為載體進(jìn)行記錄或表達(dá)的數(shù)據(jù),這類數(shù)據(jù)沒(méi)有統(tǒng)一的層次或結(jié)構(gòu),不具備直觀性。如文本文件、模型文件、圖片、視頻文件和報(bào)表等。這些仿真數(shù)據(jù)沒(méi)有統(tǒng)一的格式,若要對(duì)它們進(jìn)行操作就必須用專業(yè)軟件進(jìn)行解析,然后才能進(jìn)行相關(guān)操作。
2.2 按仿真數(shù)據(jù)存在形式分類
仿真數(shù)據(jù)以其依附的載體不同,可以表現(xiàn)出不同的形式,如字符串、文本文件、XML文件等。機(jī)械產(chǎn)品仿真數(shù)據(jù)按其存在形式也可以進(jìn)行分類,常見(jiàn)的數(shù)據(jù)存在形式有文本文件、圖片文件、動(dòng)畫(huà)文件、二維模型文件、三維模型文件、仿真模型文件、仿真報(bào)告等。
2.3 按照仿真學(xué)科分類
在對(duì)機(jī)械產(chǎn)品進(jìn)行仿真分析的過(guò)程中,主要涉及到力學(xué)、聲學(xué)、熱學(xué)等學(xué)科,因而產(chǎn)生的仿真數(shù)據(jù)各有特點(diǎn),如對(duì)機(jī)械產(chǎn)品進(jìn)行力學(xué)分析時(shí),仿真數(shù)據(jù)應(yīng)該包含靜力學(xué)分析數(shù)據(jù)、多體動(dòng)力學(xué)數(shù)據(jù)、沖擊動(dòng)力學(xué)數(shù)據(jù)等。
2.4 按仿真分析過(guò)程分類
機(jī)械產(chǎn)品仿真分析大致需要經(jīng)過(guò)前處理、仿真計(jì)算以及后處理三個(gè)步驟。前處理中需要對(duì)模型進(jìn)行簡(jiǎn)化、材料定義、屬性定義、網(wǎng)格劃分、約束設(shè)置、載荷施加等操作,每一個(gè)操作都會(huì)產(chǎn)生很多不同類型的數(shù)據(jù)、文本文件和臨時(shí)文件;仿真計(jì)算過(guò)程主要是對(duì)前處理產(chǎn)生的數(shù)據(jù)模型進(jìn)行仿真計(jì)算;后處理主要是對(duì)仿真計(jì)算產(chǎn)生的結(jié)果文件進(jìn)行操作,獲取某些重要的仿真數(shù)據(jù),如應(yīng)力值、應(yīng)變值、應(yīng)力云圖和動(dòng)畫(huà)文件等。因此,按照機(jī)械產(chǎn)品的仿真分析過(guò)程,考慮到仿真過(guò)程中的實(shí)際問(wèn)題,可將機(jī)械產(chǎn)品仿真數(shù)據(jù)分為原始模型數(shù)據(jù)、仿真模型數(shù)據(jù)、材料定義數(shù)據(jù)、屬性定義數(shù)據(jù)、施加約束的模型數(shù)據(jù)、施加載荷后的數(shù)據(jù)、仿真結(jié)果數(shù)據(jù)后處理數(shù)據(jù)等八類。綜上,機(jī)械產(chǎn)品仿真數(shù)據(jù)的分類方式多種多樣,每—種分類方式都各有千秋。但就我個(gè)人而言,比較傾向于按照仿真分析過(guò)程進(jìn)行分類。因?yàn)檫@種分類方式是面向仿真對(duì)象的,它根據(jù)仿真的不同階段將仿真數(shù)據(jù)分類,基本可以囊括仿真過(guò)程中的所有數(shù)據(jù),具有普遍意義。
3 關(guān)系型數(shù)據(jù)庫(kù)和內(nèi)容倉(cāng)庫(kù)
3.1 關(guān)系型數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)技術(shù)產(chǎn)生于20世紀(jì)60年代末70年代初,其主要目的是有效地管理和存取大量的數(shù)據(jù)資源。近年來(lái),數(shù)據(jù)庫(kù)技術(shù)廣泛應(yīng)用到機(jī)械工程領(lǐng)域中,解決了一些工程實(shí)際問(wèn)題。特別是關(guān)系型數(shù)據(jù)庫(kù)的發(fā)展,將數(shù)據(jù)組織成表的形式呈現(xiàn)給用戶,極大的方便了工程人員對(duì)數(shù)據(jù)的查詢。
關(guān)系型數(shù)據(jù)庫(kù),是指采用關(guān)系模型來(lái)組織數(shù)據(jù)的數(shù)據(jù)庫(kù)。關(guān)系模型是在1970年由IBM的研究員EF.Codd博士首先提出,在之后的幾十年中,關(guān)系模型的概念得到了充分的發(fā)展并逐漸成為數(shù)據(jù)庫(kù)架構(gòu)的主流模型。目前,主流的關(guān)系型數(shù)據(jù)庫(kù)有Oracle,Sybase,MSSQLServer,MySQL和DB2等。其中,MySQL是當(dāng)前較為流行的開(kāi)源數(shù)據(jù)庫(kù),可以存儲(chǔ)大量的種類繁多的數(shù)據(jù),并且提供服務(wù)以滿足任何組織的需要。因而采用MySQL數(shù)據(jù)庫(kù)并用Hihemate框架作為數(shù)據(jù)庫(kù)持久層的解決方法,對(duì)數(shù)據(jù)庫(kù)做了輕量級(jí)的封裝,提供了從Java類到數(shù)據(jù)表之間的映射和數(shù)據(jù)查詢和恢復(fù)機(jī)制,從而大大減輕了操作數(shù)據(jù)庫(kù)的工作量。Hibemate工作原理示意圖,如圖1所示。通過(guò)Hibemate提供的HQL語(yǔ)句并配置XML格式的映射文件和配置文件即可為頂層的應(yīng)用程序提供持久化服務(wù)。
圖1 Hibemate工作原理示意圖
3.2 Java內(nèi)容倉(cāng)庫(kù)簡(jiǎn)介
JCR(JavaContentRepositoryAPI)規(guī)范由JavaCommunityProcess開(kāi)發(fā)為JSR-170,目的就是滿足weblogs和電子等公司對(duì)數(shù)據(jù)文件管理的日益普及需求。Java內(nèi)容倉(cāng)庫(kù)是—個(gè)分級(jí)存儲(chǔ)的關(guān)系型內(nèi)容倉(cāng)庫(kù),遵循JCR規(guī)范。采用JCR規(guī)范和Wadav協(xié)議來(lái)設(shè)計(jì)Java內(nèi)容倉(cāng)庫(kù),能夠?qū)崿F(xiàn)結(jié)構(gòu)與非結(jié)構(gòu)數(shù)據(jù)的讀寫(xiě)操作、版本控制、訪問(wèn)控制權(quán)限、全文檢索和事件監(jiān)控等。Java內(nèi)容倉(cāng)庫(kù)由單—倉(cāng)庫(kù)構(gòu)成,有—個(gè)或多個(gè)工作區(qū)。每個(gè)工作區(qū)都包含—個(gè)項(xiàng)目樹(shù);項(xiàng)目既可以是節(jié)點(diǎn)也可以是屬性。節(jié)點(diǎn)可以有零個(gè)或多個(gè)子節(jié)點(diǎn)以及零個(gè)或多個(gè)相關(guān)屬性,實(shí)際的內(nèi)容保存在子節(jié)點(diǎn)和屬性中。每個(gè)節(jié)點(diǎn)都有且只有一個(gè)主節(jié)點(diǎn)類型。主節(jié)點(diǎn)類型定義了節(jié)點(diǎn)的特征,例如允許節(jié)點(diǎn)擁有的屬性和子節(jié)點(diǎn)。內(nèi)容倉(cāng)庫(kù)的結(jié)構(gòu),如圖2所示。圓圈代表節(jié)點(diǎn),矩形代表屬性。節(jié)點(diǎn)A、B和C,它們都衍生自—個(gè)根節(jié)點(diǎn)。節(jié)點(diǎn)A有兩個(gè)屬性,即—個(gè)字符串“Kuok”和—個(gè)整數(shù)2010。
圖2 Java內(nèi)容倉(cāng)庫(kù)模型
3.3 關(guān)系型數(shù)據(jù)庫(kù)和Java內(nèi)容倉(cāng)庫(kù)的比較
關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)勢(shì)在存儲(chǔ)數(shù)據(jù)信息,能夠利用諸如Hibemate等實(shí)現(xiàn)了對(duì)關(guān)系型數(shù)據(jù)庫(kù)的輕量級(jí)封裝,快速方便的實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作。Java內(nèi)容倉(cāng)庫(kù)的優(yōu)勢(shì)在于能夠存儲(chǔ)海量的數(shù)據(jù)文件,同時(shí)也能夠?qū)ο鄬?duì)應(yīng)的數(shù)據(jù)信息以節(jié)點(diǎn)屬性的方式進(jìn)行存儲(chǔ),但操作不方便。因此,根據(jù)關(guān)系型數(shù)據(jù)庫(kù)和Java內(nèi)容倉(cāng)庫(kù)各自的優(yōu)勢(shì),有必要在他們之間建立一個(gè)信息共享機(jī)制,共同去管理機(jī)械產(chǎn)品的仿真數(shù)據(jù)。
4 協(xié)同仿真環(huán)境中數(shù)據(jù)的管理
針對(duì)機(jī)械產(chǎn)品的仿真數(shù)據(jù)特點(diǎn)開(kāi)發(fā)的協(xié)同仿真環(huán)境(Collaborative Simulation Environment,CSE)數(shù)據(jù)管理系統(tǒng),采用關(guān)系型數(shù)據(jù)庫(kù)MySQL和Java內(nèi)容倉(cāng)庫(kù)協(xié)同工作。如圖3所示,協(xié)同仿真環(huán)境中的仿真數(shù)據(jù)存儲(chǔ)關(guān)系圖。數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)使用頻率高、占用空間小的與用戶、仿真流程相關(guān)的信息以及部分仿真參數(shù),文件服務(wù)器(Java內(nèi)容倉(cāng)庫(kù))則存儲(chǔ)使用頻率低,占用大量存儲(chǔ)空間仿真任務(wù)參數(shù)和仿真結(jié)果。
圖3 協(xié)同仿真環(huán)境仿真數(shù)據(jù)存儲(chǔ)方式
根據(jù)前面的仿真數(shù)據(jù)分類,在Java內(nèi)容倉(cāng)庫(kù)中自定義數(shù)據(jù)子節(jié)點(diǎn),編寫(xiě)持久化類,建立內(nèi)容倉(cāng)庫(kù)的模型;三個(gè)主節(jié)點(diǎn)類型:[cseproject]、[csesystem]和[cseanalysisType]、[cseproject]設(shè)計(jì)有子節(jié)點(diǎn)類型[csesystem]、[csesystem]設(shè)計(jì)有子節(jié)點(diǎn)類型[cseanalysisType],[cseanalysisType]設(shè)計(jì)有節(jié)點(diǎn)類型[selOAdCase],里面包括子節(jié)點(diǎn)[cseOriginalModel](存放原始模型數(shù)據(jù))、[cseSimulationModel](存放仿真模型數(shù)據(jù))、[cseMaterialProperty](存放材料定義數(shù)據(jù))、[csePropertyDefine](存放屬性定義數(shù)據(jù))、[cseConstrainSet](存放施加約束的模型數(shù)據(jù))、[cseLoadSet](存放施加載荷后的數(shù)據(jù))、[cseSimulationResult](存放仿真結(jié)果數(shù)據(jù))和[cseResults](存放后處理數(shù)據(jù))。根據(jù)仿真數(shù)據(jù)類型建立的內(nèi)存?zhèn)}庫(kù)模型,如圖4所示。
圖4 Java內(nèi)容倉(cāng)庫(kù)模型
建立好內(nèi)容倉(cāng)庫(kù)模型之后,利用XML(可擴(kuò)展標(biāo)記語(yǔ)言)作為中間載體,建立起Java內(nèi)容倉(cāng)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù)之間的信息共享機(jī)制,實(shí)現(xiàn)數(shù)據(jù)關(guān)系的雙向映射,如圖5所示。關(guān)系型數(shù)據(jù)庫(kù)表表明了內(nèi)容倉(cāng)庫(kù)節(jié)點(diǎn)下仿真數(shù)據(jù)類型屬性名和屬性值之間數(shù)據(jù)關(guān)系,屬性名為數(shù)據(jù)庫(kù)中的列名。屬性值為數(shù)據(jù)庫(kù)中某列的值,在列表中“name”和“Originalmodel”為內(nèi)容倉(cāng)庫(kù)節(jié)點(diǎn)屬性名和屬性值,節(jié)點(diǎn)的仿真數(shù)據(jù)類型和數(shù)據(jù)庫(kù)表之間的有著對(duì)應(yīng)關(guān)系。
在機(jī)械仿真的過(guò)程中,首先將所有數(shù)據(jù)節(jié)點(diǎn)存放在關(guān)系型數(shù)據(jù)庫(kù)表中,通過(guò)雙向映射機(jī)制,動(dòng)態(tài)的在Java內(nèi)容倉(cāng)庫(kù)中生成對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)并存放相應(yīng)的數(shù)據(jù)信息,利用WEBDAVI根據(jù)仿真數(shù)據(jù)的類型和路徑,將海量的數(shù)據(jù)以節(jié)點(diǎn)的形式存入列內(nèi)容倉(cāng)庫(kù)對(duì)應(yīng)的位置上去,為驗(yàn)證系統(tǒng)的有效性和實(shí)用性,選取某動(dòng)部件在協(xié)同仿真環(huán)境中進(jìn)行分析。對(duì)該動(dòng)部件進(jìn)行靜力學(xué)、動(dòng)力學(xué)和模態(tài)分析等,其仿真數(shù)據(jù)量較為龐大,具有一定的代表性。如圖6所示,從關(guān)系型數(shù)據(jù)庫(kù)中獲取的仿真數(shù)據(jù)信息和從Java內(nèi)容倉(cāng)庫(kù)中獲取的海量仿真數(shù)據(jù)在Web上的動(dòng)態(tài)顯示,左側(cè)為項(xiàng)目樹(shù),反映了Java內(nèi)容倉(cāng)庫(kù)的真實(shí)存儲(chǔ)結(jié)構(gòu),右側(cè)顯示了仿真分析數(shù)據(jù),包括文本文件,圖片、視頻文件和模型文件、仿真工作者根據(jù)需要可以隨時(shí)瀏覽和下載。
圖5 數(shù)據(jù)庫(kù)中屬性名和內(nèi)容倉(cāng)庫(kù)中節(jié)點(diǎn)名對(duì)應(yīng)
圖6 機(jī)械產(chǎn)品仿真數(shù)據(jù)在web上的動(dòng)態(tài)顯示
5 總結(jié)
通過(guò)則機(jī)械產(chǎn)品仿真過(guò)程中產(chǎn)生的數(shù)據(jù)進(jìn)行分類,利用關(guān)系型數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)操作的優(yōu)勢(shì),和java內(nèi)容倉(cāng)庫(kù)對(duì)文件存儲(chǔ)、操作的方便,根據(jù)仿真過(guò)程分類的方法,在Java內(nèi)存?zhèn)}庫(kù)中建立相關(guān)數(shù)據(jù)類型節(jié)點(diǎn),并將所有數(shù)據(jù)節(jié)點(diǎn)存放在關(guān)系型數(shù)據(jù)庫(kù)表中,兩者協(xié)同工作。在仿真工作完成后,將大量的仿真數(shù)據(jù)存儲(chǔ)在Java內(nèi)容倉(cāng)庫(kù)中,并在web上的動(dòng)態(tài)顯示,供仿真工作者隨時(shí)查看和瀏覽。選取某動(dòng)部件在協(xié)同仿真環(huán)境中進(jìn)行分析,可以快速、準(zhǔn)確地獲得仿真分析相關(guān)數(shù)據(jù),表明了這種數(shù)據(jù)管理系統(tǒng)的有效性和實(shí)用性。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于關(guān)系型數(shù)據(jù)庫(kù)和Java內(nèi)容倉(cāng)庫(kù)的機(jī)械產(chǎn)品仿真數(shù)據(jù)管理
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401938904.html