[发明专利]转换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.vipzhuanli.com/pat/books/201811075421.5/1.html,转载请声明来源钻瓜专利网。





