[發明專利]序列化方法和裝置、以及反序列化方法和裝置有效
| 申請號: | 201410438753.0 | 申請日: | 2014-08-29 |
| 公開(公告)號: | CN105446722B | 公開(公告)日: | 2019-04-02 |
| 發明(設計)人: | 梁捷;郭照敏;饒榮慶 | 申請(專利權)人: | 優視科技有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙) 11371 | 代理人: | 吳開磊 |
| 地址: | 100083 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 序列 方法 裝置 以及 | ||
本申請實施例公開了一種序列化方法和裝置,以及反序列化方法和裝置。通過使用與類對應的開始狀態標志和與類對應的字節序列來保持序列化中繼承關系的完整性,以開始狀態標志、類的唯一類型序列、類中成員類的標識、基礎類狀態標志、類中基礎類型對應的字節序列以及與類對應的結束狀態標志的排序結構對數據對象進行序列化,各個標志、唯一類型序列和標識不僅具有自描述能力,能完整地映射和表征類,而且結構緊湊,減少了序列化數據量。并且本申請實施例提供的技術方案無需將類全態信息進行序列化,而是以各個標志、唯一類型序列、標識來映射類,從而節省內存,大大提高序列化速度,且具有更高的通用性和兼容性。
技術領域
本發明涉及計算機技術領域,尤其涉及一種序列化方法和裝置、以及反序列化方法和裝置。
背景技術
序列化(serialization)是將數據對象狀態轉換為可保持或傳輸的格式的過程,以解決遠程通訊和進程調用中數據對象無法直接傳輸,以及數據對象難以永久保存的問題。序列化機制能夠將一個實例對象的狀態信息寫入到一個字節流中,使其可以進行傳輸或者持久化存儲到數據庫或文件系統中。與序列化相對的是反序列化(deserialization),它將字節流再轉換為數據對象。這兩個過程結合起來,可以輕松地存儲和傳輸數據。
目前已有的序列化技術,例如XML(可擴展標記語言)、JSON(英文全拼JavaScriptObjectNotation),是一種輕量級的數據交換格式)、GoogleProtocolBuffer(Google的一種數據交換的格式)及JAVA原生序列化等,是將數據對象的復雜類型拆分為簡單類型,將簡單類型轉換為字節序列后組合為字節流,字節流輸出時顯示為一串字符。反序列化則是讀取序列化生成的字節流,將字節序列按照與序列化對應的轉換方法轉換為簡單類型,再組合填充為數據對象。
但發明人在實現發明的過程中發現,現有的序列化技術,將復雜類型拆分后對簡單類型進行轉換,類型之間的繼承關系被忽略或減弱,使生成的字節序列缺乏自描述能力,而且通常對象轉換為字節序列的過程復雜,描述字符過多,導致生成的字節序列數據量大,解析慢,因此目前尚未有繼承關系完整且數據量小、高效的對象序列化方法及裝置。
發明內容
為克服相關技術中序列化數據量大、繼承關系不完整的問題,本申請提供一種序列化方法和裝置,以及反序列化方法和裝置。
根據本申請實施例的第一方面,提供一種序列化方法,包括:
遍歷數據對象的每個類;
針對當前遍歷到的類,如果遍歷到繼承類或者不具有繼承類的成員類,輸出與遍歷到的類對應的開始狀態標志以及與遍歷到的類對應的字節序列;
針對當前遍歷到的類,如果遍歷到具有繼承類的成員類,且該具有繼承類的成員類只有一層繼承類,則輸出該繼承類對應的字節序列,不輸出該繼承的開始狀態標識;針對當前遍歷到的類,如果遍歷到具有繼承類的成員類,且該具有繼承類的成員類有多層繼承類,則輸出與遍歷到的類對應的開始狀態標志,根據具有繼承類的成員類的繼承層次逐層遍歷具有繼承類的成員類的繼承類后,遍歷具有繼承類的成員類,輸出與遍歷到的類對應的開始狀態標志和字節序列。
其中,所述與遍歷到的類對應的字節序列,包括:遍歷到的類的唯一類型序列、遍歷到的類中成員類的標識、基礎類狀態標志、遍歷到的類中基礎類型對應的字節序列以及與遍歷到的類對應的結束狀態標志;遍歷到的類包括繼承類、不具有繼承類的成員類、具有繼承類的成員類以及具有繼承類的成員類的繼承類;其中,遍歷到的類的唯一類型序列根據遍歷到的類的繼承層數和類名生成。
其中,所述遍歷到的類中成員類的標識根據遍歷到的類中的成員類生成,所述開始狀態標志、基礎類狀態標識和結束狀態標志預先設定,所述類中基礎類型對應的字節序列依次包括:預先設定的基礎類型的唯一類型序列、基礎類型成員的標識以及基礎類型成員的值序列。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于優視科技有限公司,未經優視科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410438753.0/2.html,轉載請聲明來源鉆瓜專利網。





