[發明專利]一種基于通用通訊數據格式的數據流解析方法無效
| 申請號: | 200810060657.1 | 申請日: | 2008-04-24 |
| 公開(公告)號: | CN101262304A | 公開(公告)日: | 2008-09-10 |
| 發明(設計)人: | 劉小衛;胡慧珠;舒曉武;劉承 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | H04L1/00 | 分類號: | H04L1/00;H04L29/06 |
| 代理公司: | 杭州求是專利事務所有限公司 | 代理人: | 張法高 |
| 地址: | 310013*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 通用 通訊 數據格式 數據流 解析 方法 | ||
背景技術:
隨著工業自動化的提高及計算機技術的飛速發展,基于工業控制計算機,并采用通用A/D,D/A,I/O等板卡為外圍輔助接口的自動測試系統的應用范圍也越來越廣。這種硬件構架將測試、測量和自動化應用系統從原來的結合松散、常常互不兼容、分立的儀器設備轉變成了一個高度集成的高性能的測量與自動化系統。在這個自動化系統中,不同的儀器設備可能有著不同的通訊接口,不同的通訊接口有著不同的通信協議,有的通信協議規定傳輸的最小單位為字節,也有的通信協議規定傳輸的最小單位為比特,我們將最小傳輸單位為字節的通訊設備構成的系統稱為字節流通訊系統。
在這種字節流通訊系統中,測試系統需要對多種設備進行測控,不同的設備通訊數據格式也不同,因此測試系統固定的單一的通訊數據格式已經無法滿足測試的需要。
發明內容:
基于通用通訊數據格式的數據流解析方法包括如下步驟:
1)定義一種由“塊”為基本單位組成的通訊數據格式,通訊數據格式為標識塊、數據塊或校驗塊中的一種或多種組成,其中,標志塊是通訊傳輸的標志,數據塊是用戶接收和存儲的數據,校驗塊是用于判別數據幀是否有效,依據抽象的通訊數據格式描述創建具體的通訊數據格式得到通訊數據幀格式;
2)用C語言為“塊”定義塊結構體,塊結構體包括接收塊字節數的變量,接收塊屬性的變量和為開辟內存空間服務的指針變量;
3)讀取步驟1)定義的通訊數據幀格式,根據通訊數據幀格式填充步驟2)中定義的塊結構體,數據塊的相對位置與字節數確定解析時序,并為數據塊分配內存;
4)對從數據通訊端口接收得到的數據流進行解析,數據流指的是字節流,解析時,首先確定位置偏量,位置偏量是當前從通訊端口接收的字節數與當前數據塊的位置之差,然后根據當前數據塊的屬性分別進入相應的模塊進行字節填充,當該數據塊填充完畢后,將數據存入步驟3)中分配的內存,接著就設置數據塊偏移,進行下一數據塊的填充,直至一幀數據解析完畢,反復循環這個過程,就可解析整個數據流。
所述的步驟1)中的標識塊、數據塊或校驗塊為多個標志塊,多個數據塊和多個校驗塊。
所述的步驟1)中的標志塊由ASCII碼‘0’-‘9’、‘A’-‘F’字符表示,數據塊由類型符號和數據字節個數表示,其中,數據塊的類型為整型、字符型、字符串型、浮點型、校驗型或無效型,校驗塊由符號‘v’和數據字節個數表示。
所述的步驟3)中根據輸入的通訊數據幀格式填充步驟2)中定義的塊結構體,填充的步驟:首先讀取第i個塊,填充步驟2)中定義的塊結構體的表示接收塊屬性的變量,后填充塊結構體中表示接收塊字節數的變量,如果第i個塊為標志塊,則將標志字節填充入塊結構體的指針變量指向的內存空間中,循環這個過程,就可以填充通訊數據幀格式的所有塊,其中,i表示當前塊在整個通訊數據幀格式中的位置索引。
所述的步驟3)中的數據塊的相對位置與字節數確定解析時序步驟:首先獲取第i個數據塊的字節數,然后確定該數據塊在整個通訊數據幀格式中的位置,獲取第i個數據塊在所有數據塊中的起始位置,反復循環這個過程,確定所有數據塊的起始位置,就確定了解析的時序,其中,i表示當前數據塊在整個通訊數據幀格式中的位置索引。
采用本發明,用戶只要根據通用通訊數據格式模板動態配置自己所需的通訊數據幀格式,程序就可以對配置的數據幀格式進行解析,提取出用戶想要的數據。這樣,解決了字節流通信系統中通訊格式的適應性問題,增強了系統的包容性,擴大了實際的應用范圍,方便了系統的管理和維護。
附圖說明
圖1是本發明的基于通用通訊數據格式的數據流解析方法框圖;
圖2是本發明的通訊數據幀格式示意圖;
圖3是本發明的讀通訊數據幀格式流程圖;
圖4是本發明的數據流的解析流程圖。
具體實施方式
基于通用通訊數據格式的數據流解析方法包括如下步驟:
1)定義一種由“塊”為基本單位組成的通訊數據格式,通訊數據格式為標識塊、數據塊或校驗塊中的一種或多種組成,其中,標志塊是通訊傳輸的標志,數據塊是用戶接收和存儲的數據,校驗塊是用于判別數據幀是否有效,依據抽象的通訊數據格式描述創建具體的通訊數據格式得到通訊數據幀格式;
該步驟是圖1中的步驟S1,具體實施方式如下:
標識塊:必須由ASCII碼‘0’-‘9’、‘A’-‘F’字符表示。
數據塊由類型符號和數據字節個數表示,其中,數據塊的類型為整型、字符型、字符串型、浮點型、校驗型或無效型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810060657.1/2.html,轉載請聲明來源鉆瓜專利網。





