[發明專利]轉換java代碼的方法及裝置、存儲介質、電子裝置在審
| 申請號: | 201811075421.5 | 申請日: | 2018-09-14 |
| 公開(公告)號: | CN109388406A | 公開(公告)日: | 2019-02-26 |
| 發明(設計)人: | 賀三元;饒俊學 | 申請(專利權)人: | 浙江口碑網絡技術有限公司 |
| 主分類號: | G06F8/51 | 分類號: | G06F8/51 |
| 代理公司: | 北京中強智尚知識產權代理有限公司 11448 | 代理人: | 黃耀威 |
| 地址: | 310012 浙江省杭州市西*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據類 存儲介質 電子裝置 轉換 復雜類型 簡單類型 加載 | ||
1.一種轉換java代碼的方法,其特征在于,包括:
加載java代碼的數據類;
查看所述數據類的所有屬性,并獲取每個屬性所屬的類型,其中,所述類型包括:簡單類型,復雜類型;
根據所述類型將所述java代碼的數據類生成avro的schema。
2.根據權利要求1所述的方法,其特征在于,根據所述類型將所述java代碼的數據類生成avro的schema包括:
判斷所述數據類是否包括復雜類型的屬性;
在所述數據類包括復雜類型的屬性時,將所述復雜類型的屬性轉換為簡單類型的屬性,使用簡單類型的屬性生成avro的schema;在所述數據類不包括復雜類型的屬性時,使用簡單類型的屬性生成avro的schema。
3.根據權利要求2所述的方法,其特征在于,將所述復雜類型的屬性轉換為簡單類型的屬性包括:
拆分所述復雜類型的屬性,得到所述復雜類型的屬性所包含的多個子屬性,其中,所述子屬性的類型為簡單類型。
4.根據權利要求1所述的方法,其特征在于,根據所述類型將所述java代碼的數據類生成avro的schema包括:
將java代碼的數據類映射為schema中的映射項;
使用所述映射項拼裝成avro的schema。
5.根據權利要求4所述的方法,其特征在于,將java代碼的數據類映射為schema中的映射項包括:
將所述java代碼的數據類映射為schema中的record類型,將數組映射成array,將字典結果映射為map,其中,所述數據類包含所述數組和所述字典結果。
6.根據權利要求4所述的方法,其特征在于,將java代碼的數據類映射為schema中的映射項包括:
將java代碼的null映射為schema中的空字符串;
將java代碼的boolean值映射為schema中的bool和booleanint;
將java代碼的32位有符號整數映射為schema中的intlong;
將java代碼的64位有符號整數映射為schema中的longfloat;
將java代碼的單精度IEEE 754浮點數映射為schema中的float double;
將java代碼的雙精度的IEEE 754浮點數映射為schema中的double bytes;
將java代碼的8位無符號字節序列映射為schema中的byte string;
將java代碼的字符串映射為schema中的string;
將java代碼的枚舉映射為schema中的enum。
7.根據權利要求1所述的方法,其特征在于,在根據所述類型將所述java代碼的數據類生成avro的schema之后,所述方法還包括:
在第一設備上設置所述schema;
接收第二設備發送的數據;
使用所述schema還原所述數據的key。
8.一種轉換java代碼的裝置,其特征在于,包括:
加載模塊,用于加載java代碼的數據類;
處理模塊,用于查看所述數據類的所有屬性,并獲取每個屬性所屬的類型,其中,所述類型包括:簡單類型,復雜類型;
生成模塊,用于根據所述類型將所述java代碼的數據類生成avro的schema。
9.一種存儲介質,其特征在于,所述存儲介質中存儲有計算機程序,其中,所述計算機程序被設置為運行時執行權利要求1至7任一項中所述的方法。
10.一種電子裝置,包括存儲器和處理器,其特征在于,所述存儲器中存儲有計算機程序,所述處理器被設置為運行所述計算機程序以執行權利要求1至7任一項中所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江口碑網絡技術有限公司,未經浙江口碑網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811075421.5/1.html,轉載請聲明來源鉆瓜專利網。





