[发明专利]一种基于数据储存类型TVariant的数据存储方法及其装置有效
申请号: | 201710772894.X | 申请日: | 2017-08-31 |
公开(公告)号: | CN107729355B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 吕军亮;胡潜;王建平 | 申请(专利权)人: | 上海金大师网络科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 郭国中 |
地址: | 201702 上海市青浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据 储存 类型 tvariant 存储 方法 及其 装置 | ||
本发明公开了一种基于数据储存类型TVariant的数据存储方法及其装置,其方法包括:首先判断待存储数据属于哪一种类型;当待存储数据属于已知子数据类型时,则将待存储数据按照该已知子数据类型进行存储;当待存储数据属于动态子数据类型时,则将待存储数据先序列为序列化数据,然后对序列化数据进行存储;数据储存类型的占用空间根据数据存储情况动态调整,当有数据要存储时,根据数据的长度增加数据储存类型的当前长度;数据储存类型的占用空间的属性为局部变量;调整数据储存类型的成员数量,根据数据存储情况进行动态调整,当有数据要存储时,在数据储存类型中增加新成员;将按照数据储存类型存储的数据,统一存放入数据容器中。
技术领域
本发明涉及到一种数据储存领域,尤其涉及到一种基于数据储存类型TVariant的数据存储方法,适用于基于C++的数据存储、访问的开发场景。
背景技术
在使用C++11进行功能开发时,通常需要将不同类型的数据存储至相同的数据容器(std::vector、std::map、std::list、std::set等),并在同一个使用场景中,在不关心数据类型的条件下,为了达到“提高开发效率,提高工程可维护性,提高功能的运行效率”的目的,进行统一管理和访问。
现有技术中,存在数据存储类型,但是通常传统的数据存储类型中只能存放同一类型的数据,例如,将数据存储类型比作是一个箱子,箱子中有5个盒子,则这些盒子都只能放杯子,且不管是否放了杯子,盒子数量始终是5个。
现有技术中,COM中的_variant_t、boost中的variant。其中,COM为一种代码库,_VaFiant_t为代码库COM中的一种数据存储类型,而boost为另一种代码库,Variant为代码库boost中的一种数据存储类型,缺点是:每次都要先定义有几个盒子,要改变盒子数量时还要重新定义,导致代码量增加。
发明内容
针对上述技术问题,本发明的目的在于提供一种基于数据储存类型TVariant的数据存储方法,自定义了一种数据存储类型,叫做TVariant。本发明中,各个盒子可以放不同的数据类型,且盒子数据是动态的,有多少东西才有多少盒子,节约存储空间。
为实现上述目的,本发明是根据以下技术方案实现的:
一种基于数据储存类型TVariant的数据存储方法,其特征在于,按照数据储存类型TVariant存储数据,其中,所述数据储存类型TVariant具有已知子数据类型和动态子数据类型,包括如下步骤:
步骤S1:首先判断待存储数据属于哪一种类型;
步骤S2:当待存储数据属于已知子数据类型时,则将待存储数据按照该已知子数据类型进行存储;当待存储数据属于动态子数据类型时,则将待存储数据先序列为序列化数据,然后对序列化数据进行存储;
步骤S3:将按照数据储存类型TVariant存储的数据,统一存放入一个数据容器中。
上述技术方案中,所述数据储存类型TVariant的占用空间根据数据存储情况动态调整,当有数据要存储时,根据数据的长度增加数据储存类型TVariant的当前长度。
上述技术方案中,所述数据储存类型TVariant的占用空间的属性为局部变量。
上述技术方案中,调整所述数据储存类型TVariant的成员数量,根据数据存储情况进行动态调整,当有数据要存储时,在数据储存类型TVariant中增加新的成员。
本发明的一种根据上述的基于数据储存类型TVariant的数据存储方法所存储数据的读取方法,其特征在于,采用与子数据类型对应的运算符重载来获取相应的数据。
上述技术方案中,按照数据储存类型TVariant存储数据,其中,所述数据储存类型TVariant具有已知子数据类型和动态子数据类型,包括
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海金大师网络科技有限公司,未经上海金大师网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710772894.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置