[發明專利]一種基于私有協議的數據傳輸和解析的方法有效
| 申請號: | 201810520320.8 | 申請日: | 2018-05-28 |
| 公開(公告)號: | CN108429764B | 公開(公告)日: | 2021-03-30 |
| 發明(設計)人: | 張曉輝 | 申請(專利權)人: | 烽火通信科技股份有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 北京捷誠信通專利事務所(普通合伙) 11221 | 代理人: | 王衛東 |
| 地址: | 430000 湖北省武*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 私有 協議 數據傳輸 解析 方法 | ||
1.一種基于私有協議的數據傳輸和解析的方法,其特征在于,包括以下步驟:
根據客戶端協議版本,客戶端將協議數據填充到第一數據結構中生成第一數據,所述第一數據結構為客戶端協議使用的數據結構,其中每個條目包括固定字段部分的數據結構和變長結構部分的數據結構;
根據服務端協議版本,服務端獲得當前條目所使用的第二數據結構,并確定其中固定字段部分的數據結構和變長結構部分的數據結構,所述第二數據結構為服務端協議版本使用的數據結構;
服務端接收到所述第一數據后,解析所述第一數據獲得所述第一數據結構,并獲得其中固定字段部分和變長結構部分的數據結構,根據所述第一數據結構和所述第二數據結構中固定字段部分和變長結構部分的數據結構,確定所述協議數據的位置,并解析所述第一數據獲得所述協議數據;
所述固定字段部分的數據結構包括固定字段長度,用于確定固定字段的條目數;
所述變長結構部分的數據結構包括變長結構的數目以及每個變長結構包含的條目數、條目的字段長度和數據;
所述第一數據結構和所述第二數據結構中均包括總條目數和當前條目數據總長度,用于循環解析所有的條目數據。
2.根據權利要求1所述的方法,其特征在于,所述第一數據結構和所述第二數據結構中均包括協議版本號,用于確定客戶端協議版本與服務端協議版本是否一致。
3.根據權利要求2所述的方法,其特征在于,生成所述第一數據包括以下步驟:
填寫協議版本號、總條目數和當前條目數據總長度;
填寫固定字段長度,填充固定字段數據;
填寫變長結構數目,循環填寫變長結構的條目數和每個條目的字段長度,循環填寫變長結構每個條目的數據。
4.根據權利要求1所述的方法,其特征在于,根據所述第一或第二數據結構中的固定字段長度,通過偏移量獲得變長結構數目,并循環獲得變長結構的條目數和每個條目的字段長度。
5.根據權利要求2所述的方法,其特征在于,當客戶端與服務端協議版本一致時,按照客戶端協議使用的數據結構解析所述第一數據,當客戶端與服務端協議版本不一致時,對當前條目的固定字段長度、變長結構數目按照“小長度解析、客戶端長度偏移”的原則解析所述第一數據。
6.根據權利要求5所述的方法,其特征在于,當客戶端與服務端協議版本不一致,解析所述第一數據生成所述協議數據時:
對比所述第一數據結構和所述第二數據結構中,當前條目的固定字段長度,取較小的值作為固定字段長度。
7.根據權利要求5所述的方法,其特征在于,當客戶端與服務端協議版本不一致,解析所述第一數據生成所述協議數據時:
對比所述第一數據結構和所述第二數據結構中,當前條目變長結構數目,取較小的值作為變長結構數目。
8.根據權利要求5所述的方法,其特征在于,當客戶端與服務端協議版本不一致,解析所述第一數據生成所述協議數據時:
對比所述第一數據結構和所述第二數據結構中,當前變長結構條目字段長度,取較小的值作為當前變長結構條目字段長度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于烽火通信科技股份有限公司,未經烽火通信科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810520320.8/1.html,轉載請聲明來源鉆瓜專利網。





