專利名稱:一種多線程實時數(shù)據(jù)處理裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機數(shù)據(jù)處理技術(shù),具體的說是一種多線程實時數(shù)據(jù)處理裝置及方法。
背景技術(shù):
在實時數(shù)據(jù)采集處理系統(tǒng)中,往往需要同時收發(fā)和處理多種數(shù)據(jù),對數(shù)據(jù)的實時性和準確性要求較高。但是,當前實時數(shù)據(jù)采集處理系統(tǒng)在數(shù)據(jù)種類較多和數(shù)據(jù)量較大,容易發(fā)生數(shù)據(jù)通信阻塞的問題,影響數(shù)據(jù)處理的實時性和準確性。
發(fā)明內(nèi)容
為解決大數(shù)據(jù)量通信時數(shù)據(jù)通信阻塞的問題,本發(fā)明提供一種能夠提高實時數(shù)據(jù)處理的效率和準確性的多線程實時數(shù)據(jù)處理裝置及方法。本發(fā)明采用的技術(shù)方案是
本發(fā)明一種多線程實時數(shù)據(jù)處理方法包括以下步驟
根據(jù)所選用的通信接口類型和數(shù)量進行相應的初始設(shè)置;
創(chuàng)建并啟動多個線程;
定義并調(diào)用各個線程的回調(diào)函數(shù);
各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收或發(fā)送操作;
如果通信數(shù)據(jù)的通信協(xié)議中有校驗或加密措施,則線程回調(diào)函數(shù)對通信數(shù)據(jù)進行解算及校對操作;
通過各個線程回調(diào)函數(shù)對實時通信數(shù)據(jù)進行處理、顯示及保存操作; 如果通信計數(shù)器達到指定值,則清理數(shù)據(jù)接收、發(fā)送緩沖區(qū); 如果通信結(jié)束,則結(jié)束并刪除線程,關(guān)閉各個初始化過的端口。如果通信未結(jié)束,則返回各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收或發(fā)送操作步驟。如果通信計數(shù)器未達到指定值,則返回各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收或發(fā)送操作步驟。如果通信數(shù)據(jù)的通信協(xié)議中沒有校驗、加密措施,則執(zhí)行各個線程回調(diào)函數(shù)對進行實時通信數(shù)據(jù)處理、顯示及保存操作步驟。本發(fā)明一種多線程實時數(shù)據(jù)處理裝置包括主控模塊、通信接口模塊以及下位機; 其中,主控模塊,具有多個PCI擴展槽及USB端口,通過通信接口模塊與下位機進行實時數(shù)據(jù)傳輸。主控模塊采用工業(yè)級加固便攜計算機,計算機、液晶顯示器及鼠標鍵盤集成于一體。所述通信接口模塊的通信接口類型為串行端口、PCI總線接口或USB端口的一種或多種;通信接口數(shù)量為一個或多個。
所述下位機的類型為1種或多種,數(shù)量為1個或多個本發(fā)明具有以下有益效果及優(yōu)點
1.本發(fā)明可以同時處理包括串行端口、PCI總線及USB端口等多種常用計算機通信接口的數(shù)據(jù),有利于主控模塊與多種類型的下位機進行通信。2.本發(fā)明采用Microsoft Windows多線程技術(shù),可以同時處理多種實時數(shù)據(jù),有利于提高數(shù)據(jù)處理的效率和準確性。3.本發(fā)明采用定時清理通信數(shù)據(jù)的接收緩沖區(qū)和發(fā)送緩沖區(qū)的方法,有利于解決大數(shù)據(jù)量通信時數(shù)據(jù)緩沖區(qū)阻塞的問題。
圖1為本發(fā)明裝置結(jié)構(gòu)示意圖; 圖2為本發(fā)明方法流程圖。
具體實施例方式下面通過結(jié)合附圖對本系統(tǒng)作進一步詳細說明。本發(fā)明多線程實時數(shù)據(jù)處理裝置包括主控模塊、通信接口模塊以及下位機。其中,主控模塊,由主控計算機、顯示器及鍵盤鼠標等組成,具有多個PCI擴展槽及USB端口 ; 通信接口模塊,由多端口串口卡、PCI總線接口數(shù)據(jù)采集卡或其它通過PCI總線傳輸數(shù)據(jù)的板卡及USB端口設(shè)備等組成;下位機,與主控模塊進行通信或執(zhí)行主控軟件命令的設(shè)備。如圖1所示,根據(jù)下位機實際應用需要來確定通信接口模塊的構(gòu)成,可以采用串行端口、PCI總線接口或USB端口的一種或多種;同一種類型接口,如串行端口,也可以擴展至多個以滿足實際應用要求。根據(jù)選用的通信接口類型和數(shù)量選擇相應的板卡或設(shè)備,并將選定的板卡或設(shè)備安裝在主控計算機中,并通過相應的數(shù)據(jù)電纜將主控模塊與下位機相連接。本實施例中,主控模塊采用工業(yè)級加固便攜計算機,計算機、液晶顯示器及鼠標鍵盤集成于一體;通信接口模塊的通信接口類型為2個串行端口、2個USB端口 ;下位機的2 個電機驅(qū)動電路板、2個傳感器。傳感器實時采集系統(tǒng)溫度和目標速度,驅(qū)動電路板用于驅(qū)動電機執(zhí)行相應動作;主控模塊通過USB端口接收傳感器發(fā)送來的實時數(shù)據(jù),并根據(jù)相應原則通過串行端口控制電機執(zhí)行相應的動作,
根據(jù)下位機類型,制定主控模塊與下位機之間通信的數(shù)據(jù)通信協(xié)議,該協(xié)議作為編制主控軟件的重要依據(jù)之一。為了防止數(shù)據(jù)丟失或錯碼,在制定數(shù)據(jù)通信協(xié)議時可以加入校驗、加密等措施。如圖2所示,本發(fā)明多線程實時數(shù)據(jù)處理方法包括以下步驟根據(jù)所選用的接口類型和數(shù)量進行相應的初始設(shè)置;創(chuàng)建并啟動多個線程;定義并調(diào)用各個線程的回調(diào)函數(shù);由各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收及發(fā)送;如果通信數(shù)據(jù)的通信協(xié)議中有校驗、加密措施,則線程回調(diào)函數(shù)對通信數(shù)據(jù)進行解算及校對操作;通過各個線程回調(diào)函數(shù)對實時通信數(shù)據(jù)進行處理、顯示及保存操作;如果通信計數(shù)器達到指定值,則清理數(shù)據(jù)接收、發(fā)送緩沖區(qū);如果通信結(jié)束,則結(jié)束并刪除線程,關(guān)閉各個初始化過的端口。如果通信未結(jié)束,則返回各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收或發(fā)送操作步驟。如果通信計數(shù)器未達到指定值,則返回各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收或發(fā)送操作步驟。如果通信數(shù)據(jù)的通信協(xié)議中沒有校驗、加密措施,則執(zhí)行各個線程回調(diào)函數(shù)對進行實時通信數(shù)據(jù)處理、顯示及保存操作步驟。本實施例中,根據(jù)上述多線程實時數(shù)據(jù)處理方法編制的主控軟件,在初始化時,根據(jù)所選用的接口類型和數(shù)量進行相應的初始設(shè)置;創(chuàng)建并啟動多個線程,定義并調(diào)用各自的回調(diào)函數(shù)。在主控軟件運行期間,由各個線程回調(diào)函數(shù)完成實時數(shù)據(jù)的接收、發(fā)送、處理、 顯示及保存等操作;如果數(shù)據(jù)通信協(xié)議中有校驗、加密等措施,線程的回調(diào)函數(shù)還將負責數(shù)據(jù)的解算、校對等操作。在退出主控軟件時,關(guān)閉并刪除各個線程。軟件退出后,可以查看保存在計算機硬盤中的文本數(shù)據(jù),以便查對。
權(quán)利要求
1.一種多線程實時數(shù)據(jù)處理方法,其特征在于包括以下步驟根據(jù)所選用的通信接口類型和數(shù)量進行相應的初始設(shè)置;創(chuàng)建并啟動多個線程;定義并調(diào)用各個線程的回調(diào)函數(shù);各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收或發(fā)送操作;如果通信數(shù)據(jù)的通信協(xié)議中有校驗或加密措施,則線程回調(diào)函數(shù)對通信數(shù)據(jù)進行解算及校對操作;通過各個線程回調(diào)函數(shù)對實時通信數(shù)據(jù)進行處理、顯示及保存操作;如果通信計數(shù)器達到指定值,則清理數(shù)據(jù)接收、發(fā)送緩沖區(qū);如果通信結(jié)束,則結(jié)束并刪除線程,關(guān)閉各個初始化過的端口。
2.按權(quán)利要求1所述的多線程實時數(shù)據(jù)處理方法,其特征在于如果通信未結(jié)束,則返回各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收或發(fā)送操作步驟。
3.按權(quán)利要求1所述的多線程實時數(shù)據(jù)處理方法,其特征在于如果通信計數(shù)器未達到指定值,則返回各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收或發(fā)送操作步驟。
4.按權(quán)利要求1所述的多線程實時數(shù)據(jù)處理方法,其特征在于如果通信數(shù)據(jù)的通信協(xié)議中沒有校驗、加密措施,則執(zhí)行各個線程回調(diào)函數(shù)對進行實時通信數(shù)據(jù)處理、顯示及保存操作步驟。
5.一種多線程實時數(shù)據(jù)處理裝置,其特征在于包括主控模塊、通信接口模塊以及下位機;其中,主控模塊,具有多個PCI擴展槽及USB端口,通過通信接口模塊與下位機進行實時數(shù)據(jù)傳輸。
6.按權(quán)利要求5所述的線程實時數(shù)據(jù)處理裝置,其特征在于主控模塊采用工業(yè)級加固便攜計算機,計算機、液晶顯示器及鼠標鍵盤集成于一體。
7 按權(quán)利要求5所述的線程實時數(shù)據(jù)處理裝置,其特征在于所述通信接口模塊的通信接口類型為串行端口、PCI總線接口或USB端口的一種或多種;通信接口數(shù)量為一個或多個。
8.按權(quán)利要求5所述的線程實時數(shù)據(jù)處理裝置,其特征在于所述下位機的類型為1 種或多種,數(shù)量為1個或多個。
全文摘要
本發(fā)明涉及一種多線程實時數(shù)據(jù)處理裝置及方法,根據(jù)通信接口類型和數(shù)量進行相應的初始設(shè)置;創(chuàng)建并啟動多個線程;定義并調(diào)用各個線程的回調(diào)函數(shù);各個線程回調(diào)函數(shù)進行實時通信數(shù)據(jù)的接收或發(fā)送操作;如果通信數(shù)據(jù)的通信協(xié)議中有校驗或加密措施,則線程回調(diào)函數(shù)對通信數(shù)據(jù)進行解算及校對操作;通過各個線程回調(diào)函數(shù)對實時通信數(shù)據(jù)進行處理、顯示及保存操作;如果通信計數(shù)器達到指定值,則清理數(shù)據(jù)接收、發(fā)送緩沖區(qū);如果通信結(jié)束,則結(jié)束并刪除線程,關(guān)閉各個初始化過的端口;裝置的主控模塊具有多個PCI擴展槽及USB端口,通過通信接口模塊與下位機進行實時數(shù)據(jù)傳輸。本發(fā)明有利于主控模塊與多種類型的下位機通信,提高數(shù)據(jù)處理的效率和準確性。
文檔編號G06F9/48GK102486740SQ201010572330
公開日2012年6月6日 申請日期2010年12月3日 優(yōu)先權(quán)日2010年12月3日
發(fā)明者佟新鑫, 朱丹, 栗霄峰, 賈春萍 申請人:中國科學院沈陽自動化研究所