陳琳琳
(河北遠東通信系統工程有限公司,河北 石家莊 050200)
市場經濟環境下,各行業逐漸向信息化方向邁進,各類系統在行業中的作用也更加明顯,如何實現各系統的有效集成并從整體上提升系統作用已成為社會各界關注的重點。現階段,一些較為復雜的產品在系統集成上要求更高,以往的技術方式已經無法滿足實際的設計使用要求,而進程間通信技術可以通過曲面造型的方式提升設計成效,將其引入到系統集成中可有效滿足數據模塊通信與傳遞需求。
系統集成屬于一種新興服務方式,本質為最優化的綜合統籌設計,能夠實現整體性能最優目標[1]。通過集成所有部件與子系統共同工作,具備較強的可維護性、可擴充性,能夠有效實現降本增效目標。將橫向整合、縱向深化作為基礎,形成更加經濟、裝備更加合理、接口更加完整的解決方案,最終獲得的集成系統需要具備開放性,能夠實現資源共享。
從廣義角度來看,系統集成表示多方面的集成工作,包括管理方式集成、人員集成、軟件集成以及設備集成等。從狹義角度來看,系統集成涵蓋多種集成技術,如網絡集成技術、功能集成技術、軟件集成技術等。如何解決不同系統間的互操作與互聯問題是實現系統集成的重點,其屬于面向多應用、多協議及多廠商的體系結構,需要解決所有面向集成的問題,如系統接口、人員配置、系統平臺等[2]。
進程間通信可以對不同進程加以協調,從而保證同一操作系統中能夠同時運行不同進程,實現信息交換與傳遞,使同一程序滿足不同的用戶要求[3]。即便只有單一用戶要求,也會使操作系統同時運行多個進程,因此各進程間應做到相互通話,進程間通信接口的存在有效滿足了這一要求。不同的進程間通信方法均具備獨特的優勢與不足,通常有以下幾種通信實現方式。
(1)管道。管道屬于半雙工通信方式,只能滿足數據單向流動的需求。管道沒有名字,只能用于父子進程間通信。若想實現雙向數據流,需要創設雙管道,保證2個方向各有1個管道。
(2)命名管道。命名管道同樣為半雙工通信方式,其擁有名字,可以實現無親緣關系進程間通信。管道與命名管道均為read和write函數訪問。命名管道是由mkfifo函數創建,其優勢在于能夠在服務器中長期運行,同時可以與客戶不存在親緣關系。
(3)信號量。信號量屬于同一進程不同線程的一個同步手段,主要機制為進程間通信處理同步互斥。對于信號量而言,其屬于一個計數器,能夠對多個進程共享資源訪問進行控制,通常為一種鎖機制,避免某進程正在訪問共享資源時,有其他進程也訪問該資源。
(4)信號。信號機制屬于異步事件處理方式,這種通信方式存在一定的復雜性,主要是將某個已發生的時間通知給接受進程,可以向進程本身發送信號[4]。
(5)消息隊列。消息隊列屬于消息鏈表,若進程存在足夠的權限,可將相應信息添加至隊列中,并且對隊列中的信息進行讀取。通過消息隊列,可以解決信號承載信息量少、緩沖區大小限制的問題。
(6)共享內存。共享內存允許多個進程訪問同一塊內存空間,主要目的是提升通信機制運行效率,通常需要與其他通信機制聯合使用,實現不同進程的良好通信。進程間共享內存時,交換數據不會涉及到內核,共享的內存會在服務器與客戶地址空間內同時存在。
(7)套接字。套接字屬于一般進程間通信機制,能夠實現不同機器的進程間通信。應用程序構筑過程中,若一臺主機中包含全部程序,則可以應用多種方式實現進程間通信。若進程不處于同一主機中,則需要通過遠程過程調用實現進程間網絡通信,其屬于隱式網絡編程的范疇。
系統集成環節應確保各任務間的獨立性不會相互影響,如果Windows各系統模塊需要單獨分開執行,應通過多進程實現。這種情況下,需要選擇系統提供的函數創建相應進程,創建得到的新生進程具備較強的獨立性,不處于調用進程內。選擇系統函數完成進程創建后,新得到的進程會生成相關句柄與ID,可以利用相應結構返回,隨后在相關進程句柄中持續獲得新建進程控制權。如果需要將進程終止,對相關函數進行調用即可[5]。
Windows中存在的進程間通信方式較多,包括pipe信息管道、文件映射等。通過應用pipe信息管道,能夠實現進程間相互通信。進程間通信技術應用環節,主要是以高層信息通信系統為基礎,根據先進后出方式保存數據信息。管道信息通信環節,根據系統讀寫操作保證同步進程良好實現[6]。在既定條件下向滿載管道中寫入程序,會因系統自動阻塞程序影響而受到干擾,直至數據被信息管道完全接受。如果向空管道中寫入進程,這種情況下進程會自動阻塞,直至數據可被管道讀取。如果進程只是通過只讀的方式將信息管道打開,則無法滿足寫的方式要求,此時會導致進程阻塞情況的發生。一般而言,管道信息技術常用方式主要包括請求響應、消息隊列、發布訂閱以及廣播組播。通過對話的方式,保證客戶與服務組件實現實時通信。除此之外,在有請求響應的情況下,可以保證系統服務器與客戶端同步交涉。在消息隊列方面,可以保證相關應用的持續異步通信。通過發布訂閱,實現信息異步傳送。對于廣播組播,主要是保證多組進程中獲得相同進程傳送信息。
通過C++平臺,對曲面造型系統理論算法模型代碼進行修改,并實施代碼編譯操作。用戶可以利用空調字符命令有效運行各個模塊,控制并修改算法參數,在曲面造型系統中進行模塊集成[7]。完成以上操作后,用戶可以利用界面程序向后臺算法模塊中發送相應指令,最終的執行結果會通過系統圖像窗口及自由圖像顯示。系統集成環節能夠調用相應控制臺程序,使輸入輸出具備重定向特點。編寫中介程序,通過中介程序調用細分算法模塊程序,同時進行細分算法模塊輸入接口定向。圖形用戶界面(Graphical User Interface,GUI)程序啟動后可以進入到中介程序后臺進程中,確保用戶可以通過管道進行頁面操作,同時實現操作信息在中介程序中的順利傳送。中介程序會向后臺模板中定向傳送信息,面板讀取中介程序會對接口信息進行提示,通過這樣的方式保證用戶與后臺算法良好交互。
利用View命令可實現代碼說明,在代碼編寫環節,將Send Comman 代碼加入到View按鈕中,會使消息提示面板從文件中讀取相應反饋信息,同時對讀取的信息進行顯示,不僅可以實現信息反饋,還能進行指令發送。在細分算法模塊中可對中介程序功能進行擴展,優化指令執行效率,此環節不會改變命令關鍵詞,能夠按照實際需求進行擴充。
重點關注信息系統集成技術開發,不斷提升信息系統集成普適性,優化完善信息系統集成通信性能,確保其能夠符合國際主流趨勢。引入國外先進信息系統集成技術,對信息系統集成技術投入更多的資金,確保研發工作順利落實[8]。重點對信息系統集成研發成本進行嚴格把控,不能通過降低性能減少投入成本。系統集成技術發展中會受到計劃層技術研發效率的影響,要想進一步提升集成技術研發效率,應保證研發人員處于良好的工作環境下,并保證研發人員具備較強的技術水平。
在各行業持續發展進程中,系統集成已成為必然趨勢。通過在系統集成中應用進程間通信技術,可使各系統間實現良好通信,并且使系統擁有更高的靈活性與實用性,從整體上提升系統性能。相關部門及企業應對系統集成中進程間通信技術的應用予以重點關注,從而探索出有效的應用方法,不斷提升我國的系統集成技術水平。