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