[发明专利]一种跨平台的数据对象传输方法有效
申请号: | 201611129496.8 | 申请日: | 2016-12-09 |
公开(公告)号: | CN106648817B | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 郭斌 | 申请(专利权)人: | 北京酷我科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/54 |
代理公司: | 北京国标律师事务所 11753 | 代理人: | 姚克枫 |
地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 平台 数据 对象 传输 方法 | ||
1.一种跨平台的数据对象传输方法,其特征在于,包括如下步骤:
步骤1:构建一个复合数据类型VAR,该复合数据类型支持六种基本类型的自由组合;
所述六种基本类型为:字符串、字典、整数、浮点数、数组和二进制字符串;其中:
所述数组中的每一项的元素是VAR类型;
所述字典中的每一项的键是字符串类型,字符串类型的值是VAR类型;
步骤2:将复合数据类型VAR序列化到二进制数据流中;
步骤2的具体步骤为:
步骤2-1:准备一个二进制数据流;
步骤2-2:向前面准备好的流中写入一个4字节;
步骤2-3:读取VAR的类型,根据其值向二进制数据流中写入一个用于表达类型的字节,然后写入该VAR的值;
将步骤2-2中写入的4字节修改为步骤2-3为该VAR序列化得到的字节总数,现在就得到了一个能够展开为VAR的字符序列;
步骤2-4:步骤2-3得到了一个含有长度的字符序列,该序列己经可以简单地验证自身完整性了;
步骤3:用复合数据类型VAR替代编程语言中的基本数据类型,在需要的时候进行存储或跨平台传输。
2.如权利要求1所述的跨平台的数据对象传输方法,其特征在于:构建一个复合数据类型VAR的具体方法是:
在C++中通过class实现。
3.如权利要求1所述的跨平台的数据对象传输方法,其特征在于:构建一个复合数据类型VAR的具体方法是:
在Java或C#中通过HashMap、ArrayList、Long、String的组合实现。
4.如权利要求1所述的跨平台的数据对象传输方法,其特征在于:步骤1的具体步骤为:
步骤1-1:设计一个数据结构,该数据结构中包含了一个代表数据类型的元素和至少一个存储,所述存储用来实现所述六种基本类型;
步骤1-2:利用编程语言的特性将步骤1-1设计的结构体丰富,得到一个易用的数据类。
5.如权利要求4所述的跨平台的数据对象传输方法,其特征在于:所述将步骤1-1设计的结构体丰富是指:使结构体支持各种运算操作;
所述运算操作包括但不限于:加法运算,减法运算,赋值运算,数组索引操作符。
6.如权利要求1所述的跨平台的数据对象传输方法,其特征在于:步骤2-3中,写入该VAR的值有以下六种可能的情况:
情况1.VAR字符串存储为UTF8编码无BOM头字符串的长度和字符序列;其中,UTF8编码无BOM头字符串的长度占4字节;
情况2.VAR字典存储为一个4字节的映射对数目,然后依次将每一组键值对按照先键后值的顺序存储;
情况3.VAR整数存储为大端64位整数,占8个字节;
情况4.VAR浮点数存储为64位浮点数,占8个字节;
情况5.VAR数组存储为一个4字节的数组元素数目,然后该数组中的元素递归按步骤2-2进行存储;
情况6.VAR二进制字符串存储为4字节的数据长度和字节序列,与普通字符串的区别是不需要将其转换编码。
7.如权利要求1所述的跨平台的数据对象传输方法,其特征在于:步骤3的具体步骤为:
步骤3-1:在编程中,以VAR作为基本类型,用它替代所有需要跨平台使用的数据结构:对于C++语言通过重载运算符可以替代;对于Java和C#由于VAR子类型取材于语言本身,只要使用的数据类型可以转换为上述六种基本类型对应的类型即可;
步骤3-2:使用步骤2的方法将VAR序列化到二进制数据流中,这时,VAR可以存储或传输,并且可以根据步骤2的方法从二进制数据流在任意平台任意编程语言的模块中将该二进制数据流还原为该任意平台任意编程语言支持的VAR形态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611129496.8/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置