MES項目簡單總結(技術篇)



本文本來是寫到Word文檔里的個人總結,后來想想從06年接觸博客園至今,基本每天都要上來學習一下的,卻從來沒寫過什么東東,就貼一篇。

新項目馬上要開始,本文先從技術角度對上一MES項目簡單總結一下。  

 

1、程序

主要程序列表:MES產品框架、客制化生產系統、客制化查詢系統、測試設備(2種)集成程序、數據采集設備(2種)集成程序、報表數據統計Job框架、報表系統、異常報警信息查詢系統、SAP接口、其它程序

1.1MES產品框架:使用WCF進行通信,使用NHibernate 2.2進行持久化,使用AppDomain動態加載/卸載程序集dll並緩存的方式及以Key-Value的屬性方式提供客制化處理方案;

1.2、測試設備集成程序:處理測試設備輸出的數據(主要格式:txtExcelAccess);

1.3、數據采集設備集成程序:Socket通信、結合PLC進行串口通信等;

1.4、報表數據統計Job框架:Quartz,動態加載Job dll

1.5、報表系統:SQL Server自帶的報表系統;

如圖:


應用程序架構圖示

 

2、數據庫

使用的數據庫產品是Microsoft SQL Server 2008 R2英文版

系統數據庫主要設計為:生產數據庫(Production Database)、歷史數據庫(History Database)、報表數據庫(Report Database)、集成平台數據庫(Integration Database)、異常報警信息數據庫(Exception Alarm Database)、SAP接口數據庫;

2.1、生產數據庫(Production Database

1)生產數據庫正常情況每周增長量為15GData File + Log File + Index File),保存6~12個月內數據;每天Log備份,每周增量全備份(全備之后Log File會截斷)

2)生產數據庫主要給生產系統和產線生產數據查詢系統使用;

3)生產數據庫中的業務數據定期做歸檔,主要有2種方式:PurgeArchivePurge是數據可逆方案,主要對象是計算機:刪除原始數據前按業務單元把數據以Insert Sql的形式保存到txt文件中,需要恢復時執行相應Insert SqlArchive是數據不可逆方案,主要對象是人:按業務單元把數據以Key-Value的形式保存到txtxml文件中;

2.2、歷史數據庫(History Database

歷史數據庫數據由生產數據庫數據同步過來,3種方案同時使用:SQL Server的發布/訂閱復制(Replication)方案、SQL Server Job方案、SSISSQL Server Integration Service)方案;3種方案同時使用的原因:發布/訂閱的復制方案會因為各種原因中斷,微軟支持人員給出的答案:有些原因在方案重啟后可以從中斷點繼續復制,有些原因必須重新做復制,從頭復制(問題就在這里:1是復制需要一定的時間,會影響生產;2是有些數據在生產數據庫已經被Purge掉了,無法找到原始數據),所以歷史數據庫就被拆分成幾個小數據庫:基礎數據或變動比較小的數據采用SQL Server的發布/訂閱復制方案,問題發生時就算重新做復制也會比較快恢復;一些邏輯性強的采用SQL Server Job的方式進行復制,可以設置起始點及回退;SSIS不太了解,屬於學習和嘗試階段;

2.3、報表數據庫(Report Database

基於報表邏輯的復雜性以及客戶對效率要求(所有常規報表在30秒內),通過Job將報表數據從歷史數據庫中統計出來保存到報表數據庫來實現。

其它數據不做介紹了。

如圖:


數據庫架構圖示

 

3、服務器

根據以上程序及數據庫設計,規划以下服務器,實際實施時有合並使用。

MES產品框架應用程序服務器(Framework Application Server)、客制化系統應用程序服務器(Custom Application Server)、集成平台應用程序服務器(Integration Application Server)、緩存服務器(Cache Server)、報表查詢服務器(Report Query Server)、生產數據庫服務器(Production Database Server)、歷史數據庫服務器(History Database Server)、報表數據庫服務器(Report Database Server)、文件服務器(File Server

如圖:


服務器架構圖示


Application Server一共2台,在服務器群集(Cluster)基礎上結合緩存服務器(Cache Server,主要是架設了NCache,保存SessionViewstate)建立網絡負載平衡(NLBNetwork Load Balancing),主要運行程序:MES產品框架、客制化生產系統、客制化查詢系統;

Integration Server主要運行程序:測試設備(2種)集成程序服務器端、數據采集設備(2種)集成程序服務器端;

 

4、主要問題

技術上主要的問題在於數據庫的同步方面,各種方案都有優點和缺點,搞得很疲憊,不知道是SQL Server太弱還是我們的設計方案有問題(使用SQL Server主要是項目開始之前,客戶方已經購買了SQL Server,不願意再換Oracle)。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM