一种数据转换方法及系统技术方案

技术编号:9143145 阅读:203 留言:0更新日期:2013-09-12 04:41
本发明专利技术公开了一种数据转换方法及系统,用于解决现有技术中下游应用无法动态识别上游业务数据格式的技术问题。本发明专利技术基于protobuf开源序列化框架,同时传递业务数据文件、业务数据描述文件、protobuf格式的结构描述文件到下游应用,下游应用根据结构描述文件进行动态编译在内存中生成protobuf::message业务数据对象,然后根据业务数据描述文件在业务数据文件中找到message中各字段对应数据并装载到message对象中,从而构建出一套可以动态解析数据格式的系统。很好的解决了下游应用动态识别数据格式的难题,增强了扩展性和灵活性,即便下游所需的数据项经常变化,也不再需要重新修改程序代码,省时省力,极大地提高了效率。

【技术实现步骤摘要】
一种数据转换方法及系统
本专利技术涉及计算机数据处理技术,尤其涉及一种数据转换方法及系统。
技术介绍
在数据处理业务中经常遇到如下一种业务状况:上游的业务数据收集模块按照一定格式收集数据,传给下游的数据处理模块。此时下游的数据处理模块必需要能识别上游传递过来的数据格式,才能进一步对数据进行处理、转换、计算等操作。那么下游模块如何正确识别传递来的数据格式,就成为一个关键问题,现有的技术方案主要有:1、在上游业务模块和下游的数据处理模块中共用一个公有的数据结构,在代码层面硬编码数据格式。这种技术方案的优点是简单、快捷、效率高。2、protobuf为谷歌(google)公司提供的一种开源序列化框架,是一种轻便高效的二进制的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或远程过程调用(RemoteProcedureCall,RPC)的数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。随着最近protobuf格式的广泛使用,出现了另外一种方案:首先在上游应用和下游应用约定好都是用protobuf格式,并公用一个结构描述本文档来自技高网...
一种数据转换方法及系统

【技术保护点】
一种数据转换方法,其特征在于,该方法包括:A、上游应用根据业务数据文件配置业务数据描述文件和基于开源序列化框架protobuf的结构描述文件,并将所述业务数据文件、业务数据描述文件和结构描述文件发送给下游应用;B、下游应用根据所述结构描述文件动态在内存中生成业务数据对象;C、下游应用解析上游应用发送的业务数据描述文件,基于所述业务数据描述文件读取业务数据文件中的数据记录,并将数据记录中对应的字段内容装载到业务数据对象当中。

【技术特征摘要】
1.一种数据转换方法,其特征在于,该方法包括:A、上游应用根据业务数据文件配置业务数据描述文件和基于开源序列化框架protobuf的结构描述文件,并将所述业务数据文件、业务数据描述文件和结构描述文件发送给下游应用;所述结构描述文件包含对应下游应用所需的业务数据的数据结构的描述;所述业务数据描述文件用于描述业务数据文件的格式及业务数据格式;B、下游应用根据所述结构描述文件动态在内存中生成业务数据对象;C、下游应用接收到上游应用发送的业务数据描述文件及业务数据文件后,解析所述业务数据描述文件,通过业务数据描述文件获知业务数据文件的格式及业务数据文件中包含的业务数据的格式,读取业务数据文件中的数据记录,并将数据记录中对应的字段内容装载到业务数据对象当中。2.根据权利要求1所述的方法,其特征在于,所述的业务数据文件用于存储业务数据;所述结构描述文件用于描述下游业务应用所需的业务数据在内存中的数据结构。3.根据权利要求2所述的方法,其特征在于,步骤B具体为:根据所述结构描述文件的名称,使用开源序列化框架protobuf中的导入importer类加载所述结构描述文件;使用所述业务数据对象的名称动态获取业务数据对象的描述;利用开源序列化框架protobuf中的对象工厂factory类动态构建业务数据对象。4.根据权利要求2所述的方法,其特征在于,步骤C中,在将数据记录中对应的字段内容装载到业务数据对象当中时,根据所述业务数据描述文件指示的字段类型,对从所述业务数据文件中读取的字段数据进行类型转换后,再写入到所述业务数据对象中对应的字段成员属性中。5.根据权利要求1所述的方法,其特征在于,所述业务数据文件的类型为文本文件类型或二进制文件类型;和/或所述业务数据描述文件类型为可扩展标记语言xml文件类型。6.一种数据转换系统,其特征在于,该系统包括:配...

【专利技术属性】
技术研发人员:伍刘
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1