[發明專利]ASN.1編解碼函數自動生成中的數據類型選擇方法有效
| 申請號: | 200710167308.5 | 申請日: | 2007-10-22 |
| 公開(公告)號: | CN101159743A | 公開(公告)日: | 2008-04-09 |
| 發明(設計)人: | 李興華;聶淺 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/02 |
| 代理公司: | 北京康信知識產權代理有限責任公司 | 代理人: | 尚志峰;吳孟秋 |
| 地址: | 518057廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | asn 解碼 函數 自動 生成 中的 數據類型 選擇 方法 | ||
技術領域
本發明涉及通信領域,更具體地,涉及一種對通信協議文件中基于ASN.1(抽象語法標記,Abstract?Sybtax?Notation?One)的消息數據單元進行編解碼函數自動生成時,對各種ASN.1抽象數據類型進行數據類型選擇的方法。
背景技術
在現代通信領域,隨著通信功能的日益強大,很多網絡協議已成為一個非常龐大和復雜的軟件系統,這個系統中有著許多基于不同編解碼規則的編解碼過程,比如層3消息編解碼以及基于ASN.1定義的消息數據單元的編解碼等。這些編解碼過程是整個協議軟件系統的重要組成部分,并起著極其重要的作用。
目前對于基于ASN.1定義的消息數據單元的編解碼代碼的實現,可以采用編寫自動代碼生成工具,并用它自動產生編解碼代碼的辦法。目前的方法有人工分析ASN.1抽象數據類型,并改寫成編譯器可識別的文件形式再用于自動代碼生成工具分析并產生編解碼代碼;雖然靈活性大,但顯然此種方式工作量大,并且人工操作也會帶入許多不必要的錯誤。當采用自動掃描ASN.1文件自動生成編解碼函數的方法使用后,就需要制定一個基本的規則來規范ASN.1抽象數據類型向可編譯文件轉變時數據類型的選擇方法。
發明內容
考慮到上述問題而做出本發明,為此,本發明的主要目的在于,提供一種ASN.1編解碼函數自動生成中的數據類型選擇方法,其包括:
分析ASN.1中的抽象數據類型;以及
對可編譯數據類型進行歸一化處理,并將抽象數據類型轉換為對應的可編譯數據類型。
抽象數據類型可包括布爾型、整數型、枚舉型、位串型、字節串型、空型、順序型、順序型組、和選擇型。
抽象數據類型可通過用于基本編碼過程的非負二進制整數編碼、補碼的二進制編碼、受限整數的編碼、通常小非負整數編碼、半受限整數編碼、不受限整數編碼、和長度編碼中的一種或多種進行編碼。
可以將抽象數據類型轉換為可編譯數據類型中的長整型、結構體型、共用型、布爾型、枚舉型、以及自定義的UINT8、UINT16、UINT32、INT8、INT16、和INT32等數據類型中的一種,其中,UINT8表示8位無符號整型,UINT16表示16位無符號整型,UINT32表示32位無符號整型,INT8表示8位有符號整型,INT16表示16位有符號整型,以及INT32表示32位有符號整型,以及其中,UINT8、UINT16、UINT32、INT8、INT16、和INT32是為了屏蔽編譯器支持過多同意不同名的數據類型所作的歸一化處理。
當抽象數據類型是整數時,判斷抽象數據是否受限,如果抽象數據是不受限整數則由長整型表示抽象數據,如果抽象數據是受限整數則根據編碼所需位數和是否有符號進行表示。
如果抽象數據類型為無符號的整數,且當編碼所需位數小于等于8位時由UINT8表示抽象數據類型,當編碼所需位數小于等于16位時由UINT16表示抽象數據類型,以及當編碼所需位數大于16位時由UINT32表示抽象數據類型。
如果抽象數據類型為有符號的整數,則當編碼所需位數小于等于8位時由INT8表示抽象數據類型,當編碼所需位數小于等于16位時由INT16表示抽象數據類型,以及當編碼所需位數大于16位時由INT32表示抽象數據類型。
如果抽象數據類型為布爾型,則由布爾型的可編譯數據類型表示抽象數據類型;如果抽象數據類型為枚舉型,則由枚舉型的可編譯數據類型表示抽象數據類型;如果抽象數據類型為順序型,則由結構體型的可編譯數據類型表示抽象數據類型;以及如果抽象數據類型為選擇型,則由共用型的可編譯數據類型表示抽象數據類型。
如果抽象數據類型為位串型,則由結構體型的可編譯數據類型表示抽象數據類型,其中,結構體中包括一個UNIT8數組和一個表示UNIT8數組大小的變量。
如果抽象數據類型為字節串類型,則由結構體型的可編譯數據類型表示抽象數據類型,其中,結構體中包括一個UNIT8數組和一個表示UNIT8數組大小的變量。
如果抽象數據類型為順序類型組,則由結構體型的可編譯數據類型表示抽象數據類型,其中,結構體中包括一個結構體型數組和一個表示數組大小的變量。
通過上述技術方案,實現了ASN.1編解碼代碼自動生成必不可少的重要一步,可以使計算機生成ASN.1消息數據單元的編解碼代碼變得更加簡便,并且對于規范ASN.1抽象數據類型向可編譯數據類型的規范轉換有重要的意義。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710167308.5/2.html,轉載請聲明來源鉆瓜專利網。





