mes java_MES项目简单总结(技术篇)
本文本來是寫到Word文檔里的個人總結(jié),后來想想從06年接觸博客園至今,基本每天都要上來學(xué)習(xí)一下的,卻從來沒寫過什么東東,就貼一篇。
新項目馬上要開始,本文先從技術(shù)角度對上一MES項目簡單總結(jié)一下。
1、程序
主要程序列表:MES產(chǎn)品框架、客制化生產(chǎn)系統(tǒng)、客制化查詢系統(tǒng)、測試設(shè)備(2種)集成程序、數(shù)據(jù)采集設(shè)備(2種)集成程序、報表數(shù)據(jù)統(tǒng)計Job框架、報表系統(tǒng)、異常報警信息查詢系統(tǒng)、SAP接口、其它程序
1.1、MES產(chǎn)品框架:使用WCF進(jìn)行通信,使用NHibernate 2.2進(jìn)行持久化,使用AppDomain動態(tài)加載/卸載程序集dll并緩存的方式及以Key-Value的屬性方式提供客制化處理方案;
1.2、測試設(shè)備集成程序:處理測試設(shè)備輸出的數(shù)據(jù)(主要格式:txt、Excel、Access);
1.3、數(shù)據(jù)采集設(shè)備集成程序:Socket通信、結(jié)合PLC進(jìn)行串口通信等;
1.4、報表數(shù)據(jù)統(tǒng)計Job框架:Quartz,動態(tài)加載Job dll;
1.5、報表系統(tǒng):SQL Server自帶的報表系統(tǒng);
如圖:
應(yīng)用程序架構(gòu)圖示
2、數(shù)據(jù)庫
使用的數(shù)據(jù)庫產(chǎn)品是Microsoft SQL Server 2008 R2英文版
系統(tǒng)數(shù)據(jù)庫主要設(shè)計為:生產(chǎn)數(shù)據(jù)庫(Production Database)、歷史數(shù)據(jù)庫(History Database)、報表數(shù)據(jù)庫(Report Database)、集成平臺數(shù)據(jù)庫(Integration Database)、異常報警信息數(shù)據(jù)庫(Exception Alarm Database)、SAP接口數(shù)據(jù)庫;
2.1、生產(chǎn)數(shù)據(jù)庫(Production Database)
1)生產(chǎn)數(shù)據(jù)庫正常情況每周增長量為15G(Data File + Log File + Index File),保存6~12個月內(nèi)數(shù)據(jù);每天Log備份,每周增量全備份(全備之后Log File會截斷)?;
2)生產(chǎn)數(shù)據(jù)庫主要給生產(chǎn)系統(tǒng)和產(chǎn)線生產(chǎn)數(shù)據(jù)查詢系統(tǒng)使用;
3)生產(chǎn)數(shù)據(jù)庫中的業(yè)務(wù)數(shù)據(jù)定期做歸檔,主要有2種方式:Purge和Archive,Purge是數(shù)據(jù)可逆方案,主要對象是計算機(jī):刪除原始數(shù)據(jù)前按業(yè)務(wù)單元把數(shù)據(jù)以Insert Sql的形式保存到txt文件中,需要恢復(fù)時執(zhí)行相應(yīng)Insert Sql;Archive是數(shù)據(jù)不可逆方案,主要對象是人:按業(yè)務(wù)單元把數(shù)據(jù)以Key-Value的形式保存到txt或xml文件中;
2.2、歷史數(shù)據(jù)庫(History Database)
歷史數(shù)據(jù)庫數(shù)據(jù)由生產(chǎn)數(shù)據(jù)庫數(shù)據(jù)同步過來,3種方案同時使用:SQL Server的發(fā)布/訂閱復(fù)制(Replication)方案、SQL Server Job方案、SSIS(SQL Server Integration Service)方案;3種方案同時使用的原因:發(fā)布/訂閱的復(fù)制方案會因為各種原因中斷,微軟支持人員給出的答案:有些原因在方案重啟后可以從中斷點繼續(xù)復(fù)制,有些原因必須重新做復(fù)制,從頭復(fù)制(問題就在這里:1是復(fù)制需要一定的時間,會影響生產(chǎn);2是有些數(shù)據(jù)在生產(chǎn)數(shù)據(jù)庫已經(jīng)被Purge掉了,無法找到原始數(shù)據(jù)),所以歷史數(shù)據(jù)庫就被拆分成幾個小數(shù)據(jù)庫:基礎(chǔ)數(shù)據(jù)或變動比較小的數(shù)據(jù)采用SQL Server的發(fā)布/訂閱復(fù)制方案,問題發(fā)生時就算重新做復(fù)制也會比較快恢復(fù);一些邏輯性強(qiáng)的采用SQL Server Job的方式進(jìn)行復(fù)制,可以設(shè)置起始點及回退;SSIS不太了解,屬于學(xué)習(xí)和嘗試階段;
2.3、報表數(shù)據(jù)庫(Report Database)
基于報表邏輯的復(fù)雜性以及客戶對效率要求(所有常規(guī)報表在30秒內(nèi)),通過Job將報表數(shù)據(jù)從歷史數(shù)據(jù)庫中統(tǒng)計出來保存到報表數(shù)據(jù)庫來實現(xiàn)。
其它數(shù)據(jù)不做介紹了。
如圖:
數(shù)據(jù)庫架構(gòu)圖示
3、服務(wù)器
根據(jù)以上程序及數(shù)據(jù)庫設(shè)計,規(guī)劃以下服務(wù)器,實際實施時有合并使用。
MES產(chǎn)品框架應(yīng)用程序服務(wù)器(Framework Application Server)、客制化系統(tǒng)應(yīng)用程序服務(wù)器(Custom Application Server)、集成平臺應(yīng)用程序服務(wù)器(Integration Application Server)、緩存服務(wù)器(Cache Server)、報表查詢服務(wù)器(Report Query Server)、生產(chǎn)數(shù)據(jù)庫服務(wù)器(Production Database Server)、歷史數(shù)據(jù)庫服務(wù)器(History Database Server)、報表數(shù)據(jù)庫服務(wù)器(Report Database Server)、文件服務(wù)器(File Server)
如圖:
服務(wù)器架構(gòu)圖示
Application Server一共2臺,在服務(wù)器群集(Cluster)基礎(chǔ)上結(jié)合緩存服務(wù)器(Cache Server,主要是架設(shè)了NCache,保存Session和Viewstate)建立網(wǎng)絡(luò)負(fù)載平衡(NLB,Network Load Balancing),主要運(yùn)行程序:MES產(chǎn)品框架、客制化生產(chǎn)系統(tǒng)、客制化查詢系統(tǒng);
Integration Server主要運(yùn)行程序:測試設(shè)備(2種)集成程序服務(wù)器端、數(shù)據(jù)采集設(shè)備(2種)集成程序服務(wù)器端;
4、主要問題
技術(shù)上主要的問題在于數(shù)據(jù)庫的同步方面,各種方案都有優(yōu)點和缺點,搞得很疲憊,不知道是SQL Server太弱還是我們的設(shè)計方案有問題(使用SQL Server主要是項目開始之前,客戶方已經(jīng)購買了SQL Server,不愿意再換Oracle)。
總結(jié)
以上是生活随笔為你收集整理的mes java_MES项目简单总结(技术篇)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]将Android变成一个网络摄像机
- 下一篇: EXP、IMP、EXPDP、IMPDP命