[發明專利]一種高性能的數據序列化及反序列化系統在審
| 申請號: | 202111288484.0 | 申請日: | 2021-11-02 |
| 公開(公告)號: | CN114116074A | 公開(公告)日: | 2022-03-01 |
| 發明(設計)人: | 李朝銘;王建華 | 申請(專利權)人: | 山東新一代信息產業技術研究院有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 闞恭勇 |
| 地址: | 250100 山東省濟南市高新*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 性能 數據 序列 系統 | ||
本發明提供一種高性能的數據序列化及反序列化系統,屬于數據處理領域,本發明先以描述的形式定義一個或一個以上要交換/傳輸的數據結構,然后可執行模塊分析要交換/傳輸的數據結構描述并生成相關序列化和反序列化代碼。節點應用包含上述生成的序列化代碼進行序列化;序列化后的數據待交換/傳輸后,另一節點應用包含上述生成的反序列化代碼進行反序列化。本發明以自動生成針對性序列化函數和反序列化函數代碼的方式,對數據進行序列化和反序列化,使用方便,編程量小,可適用于消息、服務、參數等不同通信方式,性能很高,達到較傳統方法可提高百倍的效果。
技術領域
本發明涉及數據處理領域,尤其涉及一種高性能的數據序列化及反序列化系統。
背景技術
在網絡通信和通用數據交換等應用場景中,不同的系統、不同的網絡、不同的進程間中會有大量的數據參與交換或網絡傳輸,需要頻繁對數據進行序列化和反序列化操作。序列化是將結構數據或對象轉換成能夠被存儲和傳輸(例如網絡傳輸)的格式,同時應當要保證這個序列化結果在之后(可能在另一個計算環境中)能夠被重建回原來的結構數據或對象,被重建回原來的格式就是反序列化。目前常用的序列化方案是將數據轉成json格式,但是這種方式序列化速度慢,并且序列化后的網絡傳輸數據所占空間明顯增大,從而導致節點之間接收數據慢,處理數據慢的情況。近幾年也有使用protobuf的序列化方案,相對于json的方案在序列化結果和序列化速度上有較大的提升,但相對于一般的網絡數據更為龐大,并且傳輸數據中含有大量的無需處理數據。也有采用二進制編碼,基本數據類型及對象的字段都帶有類型編碼ID、對象編碼中帶上編碼總長度等,比字符串編碼占用空間小一些。不論是json、protobuf或是一般的二進制編碼,性能還不夠快,吞吐量還不夠高,對于實時性強、數據量大的場景,都不能滿足要求。
發明內容
為了解決以上技術問題,本發明提供了一種高性能的數據序列化及反序列化系統,它是在C++開發環境中,針對要交換/傳輸的數據組成,直接生成相應的序列化程序源代碼和反序列化程序源代碼,這些代碼可嵌入到應用程序中在需要時直接作為函數調用,生成的序列化數據占用空間小,性能較傳統的序列化及反序列化方法提高百倍甚至千倍以上。
本發明的技術方案是:
一種高性能的數據序列化及反序列化系統,包括一個或多個數據結構描述文件、形成序列化反序列化相關程序的可執行模塊、一個或多個使用生成的序列化反序列化相關代碼的節點應用。
先以描述的形式定義一個或多個要交換/傳輸的數據結構,然后可執行模塊分析要交換/傳輸的數據結構描述并生成相關序列化和反序列化代碼。節點應用包含上述生成的序列化代碼進行序列化;序列化后的數據待交換/傳輸后,另一節點應用包含上述生成的反序列化代碼進行反序列化。
其中,
要交換/傳輸的數據結構描述文件定義兼容ROS的格式,采用C++中類似的變量定義格式,每個成員包含類型聲明及成員名稱,可以加注釋,每行一個成員定義說明,多行定義多個成員。
可執行模塊為代碼自動生成工具,它可以解析要交換/傳輸的數據結構描述,并生成C++語言支持的結構定義(C++.h頭文件),同時生成針對該C++結構的序列化函數和反序列化函數(C++.cpp文件)。
節點應用包含上述生成的.h頭文件和.cpp文件,節點應用經過必要的計算對.h頭文件定義的結構進行賦值后,可以調用上述生成的.cpp文件中序列化函數進行序列化;序列化后的數據待交換/傳輸后,另一節點應用或節點應用另一模塊可以調用上述生成的.cpp文件中反序列化函數進行反序列化給上述生成.h頭文件定義的結構變量賦值,節點應用中使用該結構可進一步計算。
進一步的,
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東新一代信息產業技術研究院有限公司,未經山東新一代信息產業技術研究院有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111288484.0/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





