張堅林
(清遠市技師學院,廣東 清遠 511517)
計算機總線技術在測控系統中的應用
張堅林
(清遠市技師學院,廣東 清遠 511517)
測控系統的發展是社會進步與更新換代的共同需求,是計算機技術在實際環境中的有效實踐。特別是總線技術的應用,極大地提高了測控系統的工作效率,加強了穩定性,拓展了應用范圍,為新技術的推廣打下了良好的基礎。本文從測控系統中計算機總線的結構入手,分析了總線在數據驅動中的應用,以期能為總線技術的教學提供一些有益的經驗。
測控系統;計算機總線技術
隨著社會的不斷進步,企業單位及個人對于計算機軟件的需求不斷增長,導致軟件系統變得越來越復雜。不僅是應用規模十分龐大,軟件之間的交互也日益增多,使用單一對象的軟件開發模式已經無法滿足這種需求。尤其是在測控系統中,對軟件開發的效率及成本控制有著更高的要求。因此,培養合格的軟件開發人才,成為當前所有高校的一項共識。目前來說,常見的方法主要是利用已有的構件模塊來進行設計,通過一個合理而規范的框架來使這些模塊進行集成,共同發揮作用從而形成一個新的應用。該應用吸取了各個模塊的高效穩定的優點,改進了操作復雜、信息落后的缺點,提高了軟件開發的效率,縮短了開發時間,節省了開發成本,并且在后期維護的工作中,也占有一定的優勢,使其在測控領域中的應用中極具競爭力。該應用實現的關鍵點就是領域框架的設計,即基于總線技術的框架設計。本文通過分析計算機總線的結構,了解實現數據驅動所需要的基本模塊,并進行實踐應用,以期為計算機總線技術在測控系統中的應用積累一些經驗,日后能夠為提高教學效率作出一些貢獻。
計算機總線就是指系統的硬件和軟件總線,硬件總線是計算機各個部件包括輸入輸出設備相互傳送信息的公共通道,其他類型的接口模塊,只要符合接入標準,都可以通過硬件總線接入到計算機系統當中,大大增強了系統的可拓展性。軟件總線則是虛擬的傳輸通道,其作用與硬件總線相同,都是進行數據信息的傳送。接入軟件總線時也需要使用標準的軟件接口,通過系統中各個模塊之間功能的集成,來實現信息的交換。可以將總線結構想象為各個模塊之間的中介,模塊接入系統之后,信息的傳輸和交換都需要經過總線結構,通常接入的模塊會采用COM或動態鏈接庫的形式,以便實現動態加載,提高硬件總線的處理效率。模塊加載完成之后,所有信息都要利用軟件總線來進行通訊,以完成模塊集成或互相協作的目的。軟件總線的加入能夠有效降低模塊之間的耦合度,一些二進制的模塊也能夠實現復用,極大地縮短了軟件開發的周期,提高了軟件處理復雜信息的能力,在一定程度增強了系統的可靠性。
想要實現數據驅動的軟件總線需要有四個基本模塊:
(1)通訊模塊,它可以協調所有接入系統中的模塊的信息交換過程,提高信息傳輸的安全性,縮短信息處理的時間。
(2)構件管理模塊,它可以對每個接入系統的模塊進行管理,并按照一定的順序來安排系統對各個模塊的響應,以提高系統運行的效率。
(3)接口模塊,它負責鏈接各個模塊與系統,只有符合標準的模塊才可以接入,進而實現模塊與總線、模塊與模塊之間的信息交互。
(4)任務調度模塊,它是實現數據驅動的主要模塊,能夠根據數據內容來調動系統進行相應的處理,從而實現數據的轉換與流動,即數據的驅動。
測控系統中的軟件系統通常分為三個層次:一是數據輸入層,即從所有接入系統的硬件設備中獲取數據信息,常見的數據輸入層設備有數據采集卡和通訊連接設備;二是數據處理層,將獲取到的數據信息進行處理,為下一步的數據輸出做好準備,例如濾波操作、故障檢測等;三是數據輸出層,主要是將經過系統處理的數據進行存儲,或者輸出到其他終端以供用戶查詢。這個過程就是數據信息的通訊。將總線技術應用到測控系統中后,可以設計為基于數據驅動的方式進行工作:數據輸入層獲得數據后,會在軟件總線中形成數據流,驅動數據處理層和數據輸出層進行各種操作,例如接口模塊處理所有接入系統的功能模塊與軟件總線之間的信息交互,構件管理模塊根據系統處理任務的優先級來分配各個功能模塊的動態加載及初始化,通訊模塊再次將經過處理的信息集成為數據流,輸出到其他功能模塊中,從而實現信息的交互與通訊。這三個模塊之間的協作需要經過任務調度模塊的統一安排才能實現,包括數據流的輸入和輸出,都要經過任務調度模塊的處理才能進行下一個步驟。
下面介紹這幾種模塊的應用:
(1)構件管理模塊
構件管理模塊負責各個功能構件的加載及初始化,換句話說,就是協調各個功能構件的運行,以保證順利接入總線并實現信息通訊,同時還能避免構件數量增加所導致的加載緩慢,提高總線的處理效率。其流程大概分成四步:功能構件接入總線、構件管理啟動響應、處理所有的構件信息、處理完畢準備接入任務調度模塊。其中,構件管理模塊的響應主要是從接入的構件中提取相應的初始化信息,然后將信息存儲到總線系統的內存中;直到所有的構件信息存儲完畢,響應才算結束。然后總線系統開始處理內存中的構件信息,并通過接口模塊將處理結果反饋到各個構件的數據庫中;各個構件根據這些經過處理的信息來進一步完成自己的初始化,這時各個構件才算是真正地接入到了總線當中。與此同時,總線能夠直接接收到各個構件的信息請求,例如自己數據庫中可用的信息,需要其他構件提供的信息等,構件管理模塊將這些信息請求集成為任務表,為接下來的任務調動模塊的工作做好準備。
(2)任務調度模塊
任務調度模塊是軟件總線實現數據驅動的主要模塊,它能夠根據各個模塊提交的任務信息來進行合理的分析和處理,以實現系統運行效率的最大化。例如構件管理模塊在集成了信息請求的任務表之后,會提交到任務調度模塊中,任務調度模塊會根據任務表中的請求來驅動系統從其他模塊中提取相應的信息,或者調用相應的函數來處理數據。這就是任務調度模塊完成任務的過程。需要注意的一點是,每次提交任務表的時候,都會形成相應的數據流,處理該數據流的時候可能需要用到若干個其他構件的數據庫信息及處理函數;然而在調用其他構件數據庫信息及處理函數的過程中,這些任務表又有可能會產生新的數據流。這就需要任務調度模塊將處理數據流時產生的任務表進行再次集成,然后提交任務表,并再次形成新的數據流;這種反復循環的模式驅動了系統進行連續工作,但是其中涉及到了大量的計算,需要一個優秀的算法來支持模塊的運行。
算法過程如下:
任務調度模塊對構件管理模塊提交的任務表進行響應,從接入系統的各個功能構件中獲取信息請求,這些信息請求就是原始的數據流。這些原始數據流需要經過接口管理模塊才能進入軟件總線當中,同時系統也可以做好處理這些數據流的準備。當這些數據流進入總線之后,任務調度模塊會將它們與之前構件管理模塊提交的任務表信息進行集成,形成新的數據流。然后新的數據流會進入線程池進行相應的分析和處理。如果在線程池處理數據的過程中,產生了新的數據流,即之前提到過的反復循環的任務模式,就需要將這些新產生的數據流返回到接口管理模塊中進行處理,得到系統響應后,然后再次進入線程池。
(3)線程池
線程池可以說是總線技術的主要技術,在測控系統中發揮了十分重要的作用。它的實質是對任務調度模塊提交的任務表進行有效的處理,由于不同的任務包含了不同的時效性,需要根據各個接入系統的模塊的請求進行判斷,然后設置對應的優先級。例如數據庫和系統控制需要較高的優先級,而數據存儲和信息通訊的優先級就較低。這樣可以避免低優先級的任務阻礙高優先級的任務,合理分配系統資源,最大限度地提高系統處理信息的效率。在處理任務流的過程中,隨時會產生新的數據流,線程池需要將這些數據流經過任務調度模塊返回接口模塊中,并再次啟動數據處理的響應。
線程池的設計如下:保證線程池中每個線程有一個FIFO的任務隊列,FIFO是英文First Input First Output的縮寫,意思就是先入先出,該任務隊列保證了數據處理的過程能夠按照順序來執行,是一種傳統有效的處理機制。每個線程都有各自固定的優先級,在處理任務流時,線程池會根據任務調度模塊的響應,將具有較高優先級的任務加入到具有對應的線程當中,保證了任務的優先處理。同時,當任務流較少時,線程池會安排一些任務隊列進入休眠狀態,直到任務流增加或有較高優先級任務時再進行喚醒。這樣不僅降低了系統的損耗,也大大提高了任務處理的效率。
總線技術的應用能夠很好地降低測控系統中各個模塊之間的耦合度,有利于系統的運行和維護,對系統軟件的復用達到了更高的層次:不僅縮短了軟件的開發周期,也提高了軟件的可靠性。特別是線程池概念的引入,使得系統處理任務流的效率大大提高,在一定程度上提高了測控系統的性能。
[1]李軍.基于軟件總線技術的測控系統框架實現[J].計算機測量與控制,2005,13(8):849-850.
[2]袁占亭.基于軟件總線技術的軟件工程方法[J].計算機工程與應用,2003,39(15):137-139.
TheApplication of Computer Bus Technology in the Measurement and Control System
Zhang Jianlin
(Qingyuan City Technician Institute,Qingyuan 511517,Guangdong)
The development of measurement and control system is the common demand of social progress and upgrading.It is the effective practice of the computer technology in the practical environment.Especially,the application of bus technology greatly improves the efficiency of the measurement and control system,strengthening the stability and expanding the application scope,laying a good foundation for the promotion of the new technologies.This paper introduces the structure of the computer bus in the measurement and control system,and analyzes in the application of bus in data driven,hoping to provide some experience for bus technology teaching.
measurement and control system;computer bus technology
G434
A
1008-6609(2017)03-0055-03
張堅林(1978-),男,廣東清遠人,教師,一級實習指導老師,研究方向為計算機教學。