前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇數據管理系統范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
CATIA軟件以其強大的自由曲面造型和逆向功能,成為航空和汽車行業的主流CAD平臺[1]。CATIA軟件為兼顧用戶的不同需求,預留了二次開發接口。在CATIA平臺下進行零件庫的開發主要有3種方法[2]:第1,使用CATIA的Formula、DesignTable和Catalog功能建立三維標準件庫,但其格式固定,不能有效和國家及企業標準結合起來,且操作繁瑣、更新性較差、零件存儲的數據冗余、不易操作[3]。第2,可以利用CATIA提供的組件應用架構(ComponentApplicationArchitec⁃ture,CAA)接口和二次開發工具快速應用開發環境(RapidApplicationDevelopmentEnvironment,RADE)進行CATIA的二次開發,創建零件庫的應用程序。此方法入門困難,但實現的功能強大,開發的程序效率高,能夠滿足用戶深層次專業化的要求[4]。第3,使用自動化接口(AutomationAPI),在VB環境下引用CATIA的類對象、函數進行二次開發。此種方法入門容易,但功能限制大[5],且所開發的零件庫系統只能在特定模塊下使用,靈活性較差[6]。本文從車身關鍵數據管理的實際問題出發,結合CATIA平臺下3種開發零件庫方法的優缺點,利用和MySL建立車身關鍵數據管理系統,采用CA⁃TIA/CAA技術,實現了數據庫系統與CATIA的無縫連接,應用Automation技術實現了數據庫系統與CATIA的數據通信。該數據管理系統可以完成關鍵數據的管理、預覽、對比以及模型輸出,為提高對標設計效率、縮短車身開發周期提供了支持。
2車身關鍵數據管理系統總體設計
該系統以Windows和CATIAV5為操作平臺,使用作為開發語言,通過MySL作為底層數據庫進行數據存儲。圖1為系統的體系結構框圖,可分為集成層、用戶層和數據存儲層。集成層使用RADE和CAAAPI實現用戶層與CATIA的集成。用戶層體現了系統功能,目前可分為3個基礎模塊(分別為系統管理模塊、車型管理模塊、材料管理模塊)和1個關鍵數據模塊,關鍵數據管理模塊作為車身關鍵數據的載體,根據用戶對不同零件的需求,可進行實時擴展。數據存儲層為用戶層的各模塊提供相應的數據支持,其和用戶層通過接口和Automation進行數據交流與更新。系統的工作流程可描述為:進入CATIA,點擊開發工具條上的車身關鍵數據管理系統命令按鈕,打開已加載到CATIA內部的車身關鍵數據管理系統,通過訪問數據庫,進行車身關鍵數據的功能性操作。
3系統關鍵結構的實現本系統關鍵結構包括集成層的實現和用戶層的開發。
3.1基于CAA的集成層開發
采用組件應用架構CAA完成數據庫系統在CATIA下的入口設計,要在CATIA中創建一個全新的work⁃bench,以便將基于CAA二次開發的車身關鍵數據輔助設計模塊進行集中顯示,也要將開發的工具條嵌入到其他相關工作臺中,以利于實際操作。集成層的開發框架(圖2)分為兩個步驟:第1步,插入新工作臺;第2步,在新工作臺中開發新工具條并將工具條關聯到CATIA的創成式、零件設計和裝配設計工作臺。a.工作臺的插入在CAA中創建新的工作臺流程。b.工具條及命令按鈕開發工具條在新建工作臺和創成式設計、零件設計以及裝配設計下可用,因此需要將工具條描述類與這4項的接口建立聯系。以新建工作臺為例,通過以下兩個語句,可實現工具條與新建工作臺的連接。#include"TIE_IBATVBDCreationWbenchAddin.h"TIE_IBATVBDCreationWbenchAddin(BATDataAd⁃din)工具條描述類作為對系統接口的擴展,會重載Cre⁃ateToolbars和CreateCommands兩個函數,CreateToolbars用以創建一個按鈕容器,即工具條。圖4是創建工具條及添加按鈕的過程。4標準工具條及按鈕的創建流程函數CreateCommands()的作用是關聯工具條按鈕的響應命令。在該命令中添加調用外部程序的響應,可實現對外部程序調用的API函數有Shell、ShellExecute、ShellExecuteEx、Winexec、CreateProcess等,本文采用使用率較高的ShellExecute函數。
3.2車身關鍵數據管理系統
作為車身設計數據的對標平臺,也可以作為通用化的基礎平臺,系統的設計功能如圖6所示。a.用戶權限劃分:不同用戶權限使用不同功能。管理員職能涉及對數據庫的修改操作,而普通用戶僅對數據庫有查詢操作權限。圖7為系統主界面。b.數據存儲:記錄用戶關注的車身關鍵數據,包括車型、材料、主斷面位置、車門、主斷面、密封條斷面、孔堵和鉸鏈等數據的幾何信息及其數模文件。c.數據查詢:實現對車型、材料、主斷面位置、車門、主斷面、密封條斷面、孔堵和鉸鏈的幾何信息進行瀏覽和查詢,同時可以對零件或斷面的形狀進行初步預覽。圖8為關鍵數據的信息展示界面。d.數據輸出與對比報表:對于其他程序或腳本來說,CATIA只是一個OLE自動化對象服務器,因此任何能訪問COM對象的程序或腳本都能訪問CATIA的對象并對其進行操作[7]。本文通過Automation技術實現了數據庫系統與CATIA的通信,使用前在程序框架中引用CATIA的庫文件,在獲取當前CATIAApplication對象后,使用Documents的Open方法將數據庫中的數模文件在CATIA中打開。通過Automation技術實現數據庫與CATIA的通信,將相應斷面或零件數模從數據庫中直接導入到CATIA。對比報表的輸出同樣采用支持自動化操作的Excel實現,用戶根據自身需要搜索到所需零件或斷面,通過選擇相應的參數,輸出參數對比報表。圖9為對標數據參數對比報表的輸出。
4結束語
質量數據管理系統是卷煙企業制絲線生產管理系統的重要組成部分之一,其主要指設計過程質量規范、檢測、監控與改進過程質量指標,達到保證產品或服務質量目的的管理系統。從質量管理的最新發展理論可以看:BPR(過程管理)技術、六西格瑪質量管理、ISO標準及PLM等都是以關注過程質量為核心。這些質量管理相關理論從本質上來看,可以將過程質量管理的內容劃分為規劃過程質量、設計過程質量、制造過程質量、使用過程質量、報廢處理過程質量和服務過程質量等產品生命周期各個階段的管理。圖1為制絲線質量管理系統的功能邊界示意圖。
2過程質量模型
過程質量模型是以關鍵工藝設備為核心來建立的。系統首先對設備的工藝任務進行描述,根據工藝任務完成的內容,對需要考核的質量指標、工藝標準進行建模,將質量指標、工藝標準轉化為具體的工藝參數設定值和設定范圍;然后,系統將針對具體的工藝參數要求對各個控制環節需要的控制器件、檢測器件進行分類和建模,完成質量標準、工藝標準工藝參數控制器件的統一建模過程;最后系統針對質量問題的描述進行建模,將質量問題描述轉化為具體的數值信息,便于分析和考核生產過程的質量狀況。
3過程數據模型
根據制絲線生產組織方式特性、制絲工藝流程形式和制絲線過程質量管理的業務需求建立了面向制絲線過程質量管理的過程數據模型,其模型結構如圖2所示。
4過程質量分析評價方法統計
過程控制(SPC)提供了一系列的統計分析方法和相應的分析控制圖用于對加工過程中的各個工序進行監控,從而達到改進與保證產品質量的目的。在制絲過程質量管理系統中我們將以SPC的統計分析方法為基礎,結合前述的過程數據模型的特性建立面向制絲線的過程質量分析評價方法。基本的分析評價方法如圖3所示。
5關鍵設備工藝數據分析
5.1CPK實時計算
過程能力指數(ComplexProcessCapabilityIndex,CPK)反映設備生產能力強弱,是衡量過程加工內帳一致性的、最穩態下的最小波動。對于生產過程,產品質量總是分散存在。若CPK過高,則產品質量特性值的分散就會越小;反之,產品質量特性值的分散就會越大。CPK實時計算主要分下面幾個步驟實現:①計算出該工藝數據的標準方差。標準方差的計算公式如式(1)所示。STDDEV=(PVi-PV)2姨n(1)其中,PVi為第i個采樣周期的采樣值;PV為所有采樣值的平均值;n為采樣次數。對上式進行化簡有:STDDEV=∑PV2-(∑PV)2/nn-1姨(2)其中,PV為當前采樣周期的采樣值。在PLC中實時計算式(2)時,存在一個“大數吃小數”的問題:因為在PLC中,32浮點數的有效位數只有7位,在計算標準方差時,∑PV2和(∑PV)2是一個很大值且大小相當值,導致兩者之差的結果會產生誤差,從而最終導致CPK的計算結果產生誤差。為解決上述問題,克服PLC浮點數計算精度導致的計算誤差,對式(2)的標準方差計算公式進行如下改進:STDDEV=∑(PV-SP)2-(∑(PV-SP))2/nn-1姨(3)②計算制程準確度K值。K=SP-(∑PV)/nSP*Scale(4)其中,SP為工藝參數設定值;Scale為設定的波動標準。③計算制程精密度CP值。CP=SP*Scale3*STDDEV(5)④計算過程能力指數CPK值。CPK=(1-K)*CP(6)PLC通過式(3)至(6)在設備控制層對重要工藝參數的CPK值進行實時計算,然后將計算的CPK值通過監控網絡實時傳輸到IO數據采集服務器,最終在WINCC監控系統和質量數據管理系統中實時更新顯示。
5.2葉片水分、溫度控制
構建潤葉機質量數據管理模型,首先根據工藝任務和工藝標準確定潤葉機的工藝質量指標,包括出口水分和出口溫度。當系統正常工作時,確保系統條件滿足要求,也就是水壓、氣壓、汽壓等需按照設備正常工作條件進行設定,按照批次組織生產。將潤葉機整個工序中的關鍵數據實時記錄,主要是電子秤流量、潤葉機出入口水分、潤葉機出口水分。當潤葉機出口水分達不到工藝標準要求時,可分析是否生產控制參數設定錯誤,加水管路工作是否正常,電子秤、流量計、水分儀精度是否滿足精度要求。當潤葉機出口溫度達不到工藝標準要求時,可分析溫度檢測儀是否精度不夠、蒸汽控制閥是否平穩、系統工作壓力是否正常等。通過潤葉機水分、溫度的控制可以看出,質量分析不僅是對某批次簡單的質量評定,同時通過質量分析,可以對在線設備的各方面性能提出明確的改進方向。
6小結
【關鍵詞】長輸管道;輸油生產;數據管理
長輸管道具有距離長、管理難度大的特點,特別是早期建設的部分原油輸送管道,受限于當時的技術水平,自動化管理水平普遍較低。中石化所轄鄒城輸油處長輸管線投產以來,一直使用電話匯報、手工記錄的方式記錄各站庫生產數據,出錯率高而且多個輸油站同時匯報使調度人員應接不暇,造成數據處理的遲緩和混亂,在一定程度上影響管理水平和經濟效益的提高。隨著管道公司現代化水平全面提高,電話匯報的管理方式已經處于落后水平,而借助公司內部局域網可以方便地進行生產數據的管理,同時利用計算機對相關數據進行分析處理,可以極大提高工作效率。同時提高數據匯報的準確性,對于石油企業保證安全生產有重要意義。
1.數據管理系統的開發內容
輸油生產數據管理系統主要設計了泵站輸油生產報表的數據提取保存功、數據報表的局域網傳輸、服務器端的數據庫的保存與查詢功能,包括數據采集、存儲、傳輸、統計匯總、查詢、報表打印及圖形輸出等。將計算機技術和現代通訊技術有機的結合在一起,實現了長輸管線生產管理信息的最優化處理。其中主要的研究重點是局域網內數據的無差錯穩定傳輸;單一服務器端對多個客戶端的局域網通信技術;數據的提取及保存;數據庫的保存和查詢。其目標是對現有管道輸油的匯報方式進行更新,提高數據匯報系統的可靠性,提高工作效率,保證輸油安全生產。
1.1 系統軟件的開發
輸油生產數據管理系統的設計開發主要有數據報表、服務器端程序、客戶端程序等內容。
(1)數據報表的制作
鄒城輸油處有12個輸油泵站,其中臨邑首站和其他11個中間泵站的數據報表不同,因此要同時制作適合臨邑輸油站的數據報表、適用于中間泵站和末站的數據報表和適用于處調度的匯總報表。利用EXCEL表格處理軟件制作的數據報表實現簡單,并且利用VBA宏功能,能實現復雜的表格制作,生成符合要求的數據報表。
(2)系統程序的設計
程序的制作分為臨邑站客戶端程序,中間站客戶端程序和處調度服務器端程序。使用VB語言編程實現簡單,而且利用VB開發環境中的Active控件實現例如EXCEL報表操作、內部局域網數據傳輸,設計程序的相關功能模塊,包括數據報表的傳輸,數據報表匯總,數據報表保存分析,軟件狀態的保存以及其他設置功能等功能極為方便。
1.2 數據通信的實現方法
由于各站調度室的電腦只能連接單位內網,因此系統軟件利用VB程序中自帶的WINSOCK控件實現處調度與輸油泵站調度的上下級網絡聯系,利用處調度電腦的固定內網IP地址,通過固定多個通信端口來實現多個泵站調度同時對處調度的通信。數據傳輸的代碼如下。
Private Sub chudiaodu_DataArrival (ByVal bytesTotal As Long)
Dim WskChat As String
filename = App.Path & "\temp.xls"
chudiaodu.GetData WskChat
GetFileNum = FreeFile
LenFile = FileLen(filename)
Open filename For Binary As #GetFileNum
OnSend = True
querenhuibao.Enabled = False
Call SendFile(chudiaodu,GetFile-Num,SplitFile)
End Sub
1.3 數據提取的實現方法
由于報表模板均為EXCEL制作,因此可以方便的利用VBA進行數據提取功能的實現。將數據報表模板設計好后,固定數據的存儲位置即可利用VBA進行數據的提取工作。數據提取的代碼如下。
Workbooks.Open (ExcelPath.filename)
Sheets(“上報報表”).Select
jinzhanyali.Text = Range("B" & loc).Text
…………
diwen.Text = Range("AJ" & loc).Text
MsgBox “報表提取成功!”, vb-OKOnly, “提示”
'Windows(ExcelPath.FileTitle).Close (False)
2.數據管理系統的整體測試
在系統軟件編寫調試完成后我們進行了相關的測試使用,由于系統實現了泵站生產報表數據的自動提取工作提高了數據匯報的準確性,只要原始報表無誤,通過程序自動提取的數據就因此保證了數據在匯報過程中的一致性。系統模型圖如圖1所示。
在內部局域網測試環境下該系統的網絡連接迅速、穩定。在輸油站部署完畢后,進行系統的實際測試,經過一個月的測試,各輸油站調度人員均能熟練使用,調度工作量有極大的減輕。
圖1 輸油生產數據管理系統S/C模型圖
3.系統開發的意義
利用現代局域網技術和計算機實現生產數據自動匯報,生產調度崗位的大量工作由計算機完成,可以減少值班人員的人數,同時調度人員有更多的時間和精力參與其他生產管理活動,同時降低了相關人員的勞動強度,提高了工作效率;也可以迅速、完整、規范的提供生產運行數據;及時、準確地掌握全線生產參數狀況,提高生產管理水平。
關鍵詞:產品檢驗;數據管理
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2011)17-4096-03
Design and Implementation of the Product Testing and Data Management System
YU Jie
(Data Processing Center of Bank Shanghai, Shanghai 200040, China)
Abstract: This article Based on the data management system for product testing requirements analysis, system architecture and functional model, and system refinement of the functions of each module, using Jbuilder 2010 development environment to achieve the system's basic functions.
Key words: product inspection; data processing
隨著企業信息化應用的深入,為了實現對產品質量更好地管理和控制,將產品檢驗環節集成到企業的信息系統中,建立產品檢驗管理數據系統,對檢驗過程和檢驗數據進行電子化管理,是當代制造企業的必然選擇。檢驗的目的不僅僅是判斷產品是否合格,而更重要的是通過檢驗得來的數據通過匯總、統計、分析、計算,可以得到許多有用的圖表和分析結果,幫助企業了解產品質量現狀,做出正確的質量決策。產品檢驗管理系統可以實現檢驗流程的電子化,對檢驗數據進行組織分類和集中管理,解決數據輸入難、查詢統計復雜等問題。
產品檢驗管理系統的研究以現代質量管理方法與理念為基礎,以信息技術為支撐,旨在實現檢驗信息的采集、處理和傳遞的信息化,支持各層次質量的診斷與決策,實現企業質量管理的信息、功能和過程集成,從而輔助企業提高質量管理水平,優化整體質量體系,降低質量成本,保證產品從設計到制造、服務等各個環節的質量,為企業進行全面質量管理提供支持。
本文本文研究了基于XML的產品檢驗數據表達方法。應用XML定制多樣化產品檢驗數據模板,表達檢驗數據模型;結合企業質量檢驗特點,通過對企業需求的分析,總結出產品檢驗管理系統應滿足的功能要求和具備的特點,對系統的總體功能框架和數據庫進行設計;在上述技術研究的基礎上,開發了產品檢測管理系統,利用JBuilder2010開發軟件實現系統的基本功能。產品檢驗管理系統實現企業檢驗過程的電子化管理和檢驗數據的電子化管理等功能。主要通過給出相應的界面,介紹了產品檢驗管理系統部分運行實例。該系統在實際運行中,取得了良好的應用效果。
1 產品檢驗數據管理系統需求分析
產品檢驗是產品從開始生產到出廠交付之間的一個必備環節,包括過程檢驗和入庫/驗收檢驗。該企業對產品檢驗的要求非常嚴格,產品檢驗過程復雜,需要處理的數據量大。但是在信息密集的檢驗部門,雖然目前部分檢驗測試數據已實現數據庫管理,但大量的測試記錄和檢驗結果數據以及檢驗過程都以紙介質的形式存在,數據輸入繁瑣,生產人員、設計人員、檢驗人員和客戶無法及時、完整的了解產品的質量信息。可見,通過一個信息管理系統來收集檢驗測試數據并對它們進行有效的管理,使檢驗信息不再以紙介質的形式流動,實現檢驗過程的電子化,這樣既大大提高了工作效率,也有利于管理人員隨時了解并監控產品的過程狀態信息。
產品檢驗管理系統是企業信息化建設的重要的環節,因此系統必須具有可擴展性,在將來可以與其它信息系統集成;實現對產品的測試指標、測試合格值(范圍)和測試結果數據的有效管理,并能將合適的數據按照規定的格式填入到產品證明書中;實現工藝可視化,使操作人員可以按照相應的操作來進行,減少次品。企業生產的產品品種多樣,不同的客戶對產品的要求不同,如何根據客戶的要求來實現產品的檢驗是需求之一,為此需要提供定制的功能。
通過對企業需求的分析,產品檢驗管理系統應該具備以下基本功能:
1) 通過工序過程樹來進行工序過程檢驗管理。通過系統能夠創建生產任務,并分配給負責的生產人員,然后可以通過可視化工藝在線查詢相關操作視頻,記錄所有的生產操作結果。碰到檢驗點時通過提交申請進行檢驗,滿足要求后再進行下道工序操作。
2) 實現產品檢驗的一整套電子化的檢驗過程管理,包括過程檢驗和入庫驗收檢驗;定義檢驗生命周期中產品的不同生命周期狀態,實現產品檢驗數據的電子化管理(檢驗數據的具體表現形式是產品履歷書、產品證明書、質量反饋單、檢驗提交單和客戶檢驗通知單等),各部門能夠快捷而安全地訪問到所關心產品的檢驗數據,并按照過程階段任務的要求編輯特定的數據。
3) 提供數據導入接口,實現將來源于檢測設備并經過統計處理以后的檢測結果數據填入到產品證明書的測試記錄表中,并能夠進行相應的判斷;在檢驗數據電子化管理的基礎上,提品檢測結果數據的查詢和統計功能。
4) 系統具有可擴展性。應該提供相應接口以便與其他系統集成,并最終實現完善的產品檢驗管理系統。通過提供模板定制的功能滿足不同產品型號和不同客戶的要求。
5) 根據不同部門、用戶提供不同內容的界面,并且根據該成員登錄的部門、用戶的權限及對象的狀態集成必須的要素,達到很好的權限與安全控制。
2 系統模塊與數據結構設計
2.1 系統模塊設計
圖1是產品檢驗管理系統的功能模塊圖。產品檢驗管理系統主要由數據錄入、統計分析、信息查詢、用戶管理和數據導出五個子功能模塊構成。
數據錄入模塊包括:基本信息錄入、檢驗信息錄入和故障信息錄入。統計分析模塊包括:數據統計分析、故障診斷和工具集。信息查詢模塊包括:基本信息查詢、檢驗信息查詢和故障信息查詢。用戶管理模塊包括:用戶的添加、用戶的刪除和用戶信息的修改。
2.2 數據結構設計
數據庫建模設計是整個系統關鍵的一步,一個良好的數據庫設計是高效率的系統所必須的。首先依據需求,獲取并分析系統信息,進行數據內部以及外在關系的分析,有效地建立整個系統的數據結構,在此基礎上對數據庫的數據量、數據流量及響應速度的估算分析,產生數據模型,數據存儲合理,沒有冗余,符合數據庫設計的3個范式。由實體聯系分析可知,本系統使用的基本表有:產品基本信息表、工藝檢驗信息表、用戶信息表。其具體的數據結構設計如表1-表3。
3 產品檢驗數據管理系統實現及運行實例
結合企業檢驗的具體情況,開發了產品檢驗管理系統。該系統采用JBuilder2010開發軟件實現,后臺數據庫為ACCESS。它實現了:實現了用戶管理;產品檢驗數據的電子化管理,能夠實現添加、刪除和查詢產品信息,并根據不同要求對信息進行編輯。基于上述理論開發的產品檢驗管理系統的功能,檢驗流程以及部分界面。
圖2所示為系統登錄界面,凡是要用該系統的用戶都必須定義相應的用戶,然后通過用戶登錄系統。如果該用戶離職或不再負責該產品的話,管理員可以通過用戶定義界面中的有效標志修改用戶的狀態。在登錄界面下方的狀態欄中會顯示“請輸入用戶名和密碼”等相關提示信息。
用戶登錄系統之后,進入系統的主界面,在主界面的右下方會顯示當前登錄用戶的用戶名和登錄時間。如圖3所示。
在圖4中可以看到,主界面的左側是產品結構樹,該樹只有一層節點,其中每一個節點直接對應一種產品。選中某種產品,點擊“產品基本信息”按鈕或“工序檢驗信息”按鈕時在主界面的右側可以顯示出該產品對應的基本信息表或檢驗信息表。在選中表中的一行數據時,下方的狀態欄會顯示所選行對應的產品編號或者工序編號。
工序信息編輯只能對產品工序信息的一行數據進行編輯,所以當用戶要對某種產品的工序信息進行編輯時,必需先選中一個產品,并選中該產品工序信息的一行,才能點擊“工序信息編輯”按鈕,否則將出現提示報錯。見圖5。
在產品工序檢驗信息編輯對話框中,共有七個文本框,分別對應工序檢驗信息表中的七列,其中“工序名稱”和“工序編號”為固定的,不能進行編輯,其余五項“技術要求”、“檢驗結果”、“是否合格”、“記錄時間”和“備注”都可以在文本框中進行編輯。以適應同一種產品不同加工要求的變化。“技術要求”、“檢驗結果”、“是否合格”和“記錄時間”是必填字段,不能為空,否則不能保存并出現提示框以確認信息到完整性。見圖6。
當用戶輸入正確的休息并點擊“確定”按鈕,系統提示編輯信息成功,退出編輯界面并將用戶輸入的信息顯示在工序檢驗信息表中。結果見圖7和圖8。
4 結束語
本文結合企業質量檢驗特點,對產品檢驗數據管理系統進行需求分析,對系統的總體功能框架和數據庫進行設計;系統開發過程雖然實現了系統之間的集成,但只完成部分功能,為了更好地在企業的各個信息系統之間進行數據共享,需要研究并實現系統間的集成,并保證檢驗數據的安全性和可控性。
參考文獻:
[1] Shalev D M,Joseph Tiran.Condition-based fault tree analysis (CBFTA): A new method for improved fault tree analysis (FTA),reliability and safety calculations[J].Reliability Engineering and System Safety,2007(92):1231-1241.
[2] 楊世元,劉渤海.基于質量信息技術的全質量管理信息系統的總體設計[C]//上海質量協會.第十屆ISO9000與TQM國際會議論文集,上海:上海質量雜志社,2005.
關鍵詞:入侵檢測;數據;數據管理
中圖分類號:F49 文獻標識碼:A
入侵檢測數據管理系統是入侵檢測系統實現的關鍵,是入侵檢測數據分析的基礎。本文所研究的入侵檢測數據管理系統實現分三個部分:數據包捕獲模塊、數據提取模塊和事件分析數據庫的實現。
一、數據包捕獲模塊實現
數據包捕獲模塊是進行檢測和決策的基礎,它的準確性、可靠性和效率直接影響到整個系統的性能。數據包捕獲模塊的任務是利用數據包捕獲工具從網卡上捕獲網絡上的數據包,再將捕獲的數據包經過解碼引擎填入到鏈路層協議的包結構體中,以便對高層次的協議進行解碼。
對網絡數據包的捕獲機制。網絡數據包捕獲機制指通過捕獲整個網絡的所有信息流量,根據信息源主機、目標主機、服務協議端口等信息簡單過濾掉不關心的數據,再將系統感興趣的數據發送給更上層的應用程序進行分析。網絡數據捕獲可以通過兩種方法實現:一種是利用以太網絡的廣播特性;另一種方式是通過設置路由器的監聽端口實現。
1、利用以太網絡的廣播特性進行捕獲。以太網數據傳輸通過廣播實現,但是在系統正常工作時,應用程序只能接收到以本主機為目標主機的數據包,其他數據包將被丟棄不作處理,其數據包過濾機制分為鏈路層、網絡層和傳輸層幾個層次。鏈路層主要指網卡驅動程序判斷所收到包的目標MAC地址,如果不是自己網卡的MAC地址,又不是廣播地址和組播地址,將直接丟棄,不向上層提交。網絡層判斷目標IP地址是否為本機所綁定IP地址,否則將不向上層提交。傳輸層如TCP層或者UDP層判斷目標端口是否在本機已經打開,如果沒有打開不作處理,并不向應用層提交。
2、在交換環境中的網絡數據捕荻。在實際應用中,存在很多非以太網接入的情況,如通過光纖接入等。
二、數據提取模塊實現
數據提取模塊是實現入侵檢測系統VIDS的基礎,它為檢測模塊提供分析的數據。根據數據包和系統日志提取出相應的特征數據,并對其進行規范化,以方便后面的數據分析。數據提取的三個過程是:協議解析、規則解析和數據預處理。
1、協議解析。數據包捕獲模塊把捕獲的數據提交給協議解析模塊后,協議解析模塊必須對這些數據進行分析,根據相應的協議把這些分析后的數據放到指定的數據結構中,供上層模塊調用。協議解析模塊設計了一些對數據包進行表述的數據結構,在這些數據結構中,存放數據的Packet結構是其中最為關鍵的一個,數據包的數據結構如下:在數據包解碼時,首先判斷以太網封裝的協議是否為IP協議,如果不是,則直接返回;否則,首先解析出IP頭部,再根據所封裝的協議,并分別對TCP、UDP、ICMP解析,將各項值寫入Packet結構中對應的字段。
2、規則解析。在本系統中,采用了Snort的入侵行為描述方法。這種描述方法簡單、易于實現,能夠描述絕大多數的入侵行為。Snort的規則在邏輯上分為兩部分:規則頭和規則選項。規則頭部分包括:規則行為、協議、源/目的IP地址、子網掩碼以及源,目的端口。規則選項包含了所要顯示給用戶查看的警告信息,以及用來判定此報文是否為攻擊報文的其他信息(比如,TCP的Flag字段以及數據字段的內容等)。
3、數據預處理。數據預處理模塊的作用就是對網絡數據進行預先處理,從而方便隨后的檢測分析。另外,我們可以發現,基于規則的檢測引擎并不能檢測所有的入侵,尤其是針對有效載荷的檢測,而像端口掃描、SYN Flooding等攻擊,按照前面所述的方法很難對它們的特征進行提取。因此,需要特殊情況特殊處理,而數據預處理就是一個很好的選擇。常用的預處理內容如下:
(1)minfrag的格式。minfrag預處理檢查分組數據包的大小是否低于某一設定的閩值。數據包分組通常是由源和目的地址之間的路由器來進行的。一般來講,商業網絡設備不會將數據包的分組大小設置于512字節。因此,能使用這個事實監控小的數據包分組,這種小的分組數據一般說明某些試圖在分組里隱藏它們的數據。
(2)HTTP Decode的格式。HTTP De-code用于處理HTTP URL地址字符串,并將串中的數據轉化為可讀的ASCII字串。這樣做的目的是為了檢測到躲避Web URL掃描的行為和攻擊,這些入侵行為常常會通過地址字符串中某些異常字符的設置,來躲避對HTrP通信可疑行為的內容分析檢查。格式為:http_deeode:L―unicode][-cginull]。
(3)Portscan Detecto的格式。Portsean向標準日志設備中記錄從一個源IP地址所發出的端口掃描活動的開始和結束。如果指定了一個日志文件,在記錄掃描類型的同時也記錄目的IP地址和端口號。端口掃描定義為在時間T(秒)之內對超過P個端口的TCP連接嘗試,或者在時間T(秒)之內對超過P個端口發送UDP數據包。端口掃描可以是對任一IP地址的多個端口,也可以是對多個IP地址的同一端口。Snortl,6版本可以處理單對單和單對多方式的端口掃描,而現在的版本可以處理分布式的端口掃描(多對一或多對多)。端口掃描也包括單一的“隱蔽掃描”數據包,比如NULL、FIN、SYN-FIN、XMAS等。如包括秘密掃描的話,端口掃描模塊會對每一個掃描數據包告警。