[发明专利]一种数据转换方法及系统有效
申请号: | 201210045937.1 | 申请日: | 2012-02-27 |
公开(公告)号: | CN103294652B | 公开(公告)日: | 2018-03-20 |
发明(设计)人: | 伍刘 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22;G06F17/30 |
代理公司: | 北京派特恩知识产权代理有限公司11270 | 代理人: | 程立民,张颖玲 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 转换 方法 系统 | ||
技术领域
本发明涉及计算机数据处理技术,尤其涉及一种数据转换方法及系统。
背景技术
在数据处理业务中经常遇到如下一种业务状况:上游的业务数据收集模块按照一定格式收集数据,传给下游的数据处理模块。此时下游的数据处理模块必需要能识别上游传递过来的数据格式,才能进一步对数据进行处理、转换、计算等操作。那么下游模块如何正确识别传递来的数据格式,就成为一个关键问题,现有的技术方案主要有:
1、在上游业务模块和下游的数据处理模块中共用一个公有的数据结构,在代码层面硬编码数据格式。这种技术方案的优点是简单、快捷、效率高。
2、protobuf为谷歌(google)公司提供的一种开源序列化框架,是一种轻便高效的二进制的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或远程过程调用(Remote Procedure Call,RPC)的数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。随着最近protobuf格式的广泛使用,出现了另外一种方案:首先在上游应用和下游应用约定好都是用protobuf格式,并公用一个结构描述文件(.proto文件),然后利用工具生成.cc和.h文件,在这两个文件中就自动根据所述的结构描述文件生成了一个描述类。接下来便可以在上游数据收集模块代码和下游数据处理模块代码中方便的使用该描述类进行set或者get操作。该方法实际上仍旧是在代码层面进行操作。
以上现有技术的最大缺点就是扩展性和灵活性太差。比如,一旦要多添加一个数据项,将是一件非常困难的事情。需要重新修改代码,耗时耗力。而随着业务的不断发展,不断的添加数据字段又变得比较普遍。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据转换方法及系统,用于解决现有技术中下游应用无法动态识别上游业务数据格式的技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种数据转换方法,该方法包括:
A、上游应用根据业务数据文件配置业务数据描述文件和基于开源序列化框架protobuf的结构描述文件,并将所述业务数据文件、业务数据描述文件和结构描述文件发送给下游应用;
B、下游应用根据所述结构描述文件动态在内存中生成业务数据对象;
C、下游应用解析上游应用发送的业务数据描述文件,基于所述业务数据描述文件读取业务数据文件中的数据记录,并将数据记录中对应的字段内容装载到业务数据对象当中。
进一步地,所述的业务数据文件用于存储业务数据;所述业务数据描述文件用于描述业务数据文件的格式及业务数据格式;所述结构描述文件用于描述下游业务应用所需的业务数据在内存中的数据结构。
进一步地,步骤B具体为:
根据所述结构描述文件的名称,使用开源序列化框架protobuf中的导入importer类加载所述结构描述文件;
使用所述业务数据对象的名称动态获取业务数据对象的描述;
利用开源序列化框架protobuf中的对象工厂factory类动态构建业务数据对象。
进一步地,步骤C中,在将数据记录中对应的字段内容装载到业务数据对象当中时,根据所述业务数据描述文件指示的字段类型,对从所述业务数据文件中读取的字段数据进行类型转换后,再写入到所述业务数据对象中对应的字段成员属性中。
进一步地,所述业务数据文件的类型为文本文件类型或二进制文件类型;和/或所述业务数据描述文件类型为可扩展标记语言xml文件类型。
本发明还公开了一种数据转换系统,该系统包括:
配置模块,位于上游应用,用于根据业务数据文件配置业务数据描述文件和基于protobuf开源序列化框架的结构描述文件;
传送模块,位于上游应用,用于将所述业务数据文件、业务数据描述文件和结构描述文件发送给下游应用;
动态编译模块,位于下游应用,用于根据所述结构描述文件动态在内存中生成业务数据对象;
动态装载模块,位于下游应用,用于解析上游应用发送的业务数据描述文件,基于所述业务数据描述文件读取业务数据文件中的数据记录,并将数据记录中对应的字段内容装载到所述业务数据对象当中。
进一步地,所述系统中,所述的业务数据文件用于存储业务数据;所述业务数据描述文件用于描述业务数据文件的格式及业务数据格式;所述结构描述文件用于描述下游业务应用所需的业务数据在内存中的数据结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210045937.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:分组处理方法和分组处理系统
- 下一篇:一种燕麦蛋酥卷及其制备方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置