[發明專利]序列化方法和裝置、以及反序列化方法和裝置有效
| 申請號: | 201410438753.0 | 申請日: | 2014-08-29 |
| 公開(公告)號: | CN105446722B | 公開(公告)日: | 2019-04-02 |
| 發明(設計)人: | 梁捷;郭照敏;饒榮慶 | 申請(專利權)人: | 優視科技有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙) 11371 | 代理人: | 吳開磊 |
| 地址: | 100083 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 序列 方法 裝置 以及 | ||
1.一種序列化方法,其特征在于,包括:
遍歷數據對象的每個類;
針對當前遍歷到的類,如果遍歷到繼承類或者不具有繼承類的成員類,輸出與遍歷到的類對應的開始狀態標志以及與遍歷到的類對應的字節序列;
針對當前遍歷到的類,如果遍歷到具有繼承類的成員類,且該具有繼承類的成員類只有一層繼承類,則輸出該繼承類對應的字節序列,不輸出該繼承的開始狀態標志;針對當前遍歷到的類,如果遍歷到具有繼承類的成員類,且該具有繼承類的成員類有多層繼承類,則輸出與遍歷到的類對應的開始狀態標志,根據具有繼承類的成員類的繼承層次逐層遍歷具有繼承類的成員類的繼承類后,遍歷具有繼承類的成員類,輸出與遍歷到的類對應的開始狀態標志和字節序列。
2.如權利要求1所述的序列化方法,其特征在于,所述與遍歷到的類對應的字節序列,包括:遍歷到的類的唯一類型序列、遍歷到的類中成員類的標識、基礎類狀態標志、遍歷到的類中基礎類型對應的字節序列以及與遍歷到的類對應的結束狀態標志;遍歷到的類包括繼承類、不具有繼承類的成員類、具有繼承類的成員類以及具有繼承類的成員類的繼承類;其中,遍歷到的類的唯一類型序列根據遍歷到的類的繼承層數和類名生成。
3.如權利要求2所述的序列化方法,其特征在于,所述遍歷到的類中成員類的標識根據遍歷到的類中的成員類生成,所述開始狀態標志、基礎類狀態標識和結束狀態標志預先設定,所述類中基礎類型對應的字節序列依次包括:預先設定的基礎類型的唯一類型序列、基礎類型成員的標識以及基礎類型成員的值序列。
4.如權利要求2所述的序列化方法,其特征在于,根據遍歷到的類的繼承層數和類名生成遍歷到的類的唯一類型序列,包括:
將遍歷到的類的繼承層數轉換為8bit的字節,其中,根類的繼承層數為1,每多一層繼承關系所述繼承層數加1;
將遍歷到的類的類名使用哈希算法轉換為24bit的字節;
將繼承層數轉換而成的字節左移24bit,加上類名轉換而成的24bit字節,得到遍歷到的類的唯一類型序列。
5.如權利要求2所述的序列化方法,其特征在于,所述根據遍歷到的類中的成員類生成遍歷到的類中成員類的標識,為根據成員類在類中的次序將成員類定義為長度為16bit的字節;基礎類型成員的標識的生成方法與遍歷到的類中成員類的標識的生成方法相同。
6.一種反序列化方法,其特征在于,包括:
依次讀取字節流;
讀取到與類對應的開始狀態標志時,依次讀取字節流中所述類開始狀態標志之后類的唯一類型序列、類中各個成員類的標識,將類的唯一類型序列轉換為類的類名和繼承層數,將類中成員類的標識轉換為類的成員類;
讀取到類中基礎類狀態標志時,依次讀取字節流中所述類中基礎類狀態標志之后類中基礎類型的唯一類型序列、所述基礎類型成員的標識、所述基礎類型的成員的值序列,將類中基礎類型的唯一類型序列轉換為基礎類型,將基礎類型成員的標識轉換為基礎類型的成員,以及將基礎類型成員的值序列轉換為基礎類型的成員的值;
讀取到與類對應的結束狀態標志時,結束當次類的構建。
7.如權利要求6所述的反序列化方法,其特征在于,所述將字節流中類的唯一類型序列轉換為類的類名和繼承層數,包括:
將所述唯一類型序列的后24bit位轉換為類的類名;
將唯一類型序列右移24bit后和十六進制0xff求邏輯與,得到繼承層數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于優視科技有限公司,未經優視科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410438753.0/1.html,轉載請聲明來源鉆瓜專利網。





