一种数据转换方法、装置、存储介质和电子设备制造方法及图纸

技术编号:25087093 阅读:19 留言:0更新日期:2020-07-31 23:30
本发明专利技术实施例提出了一种数据转换方法、装置、存储介质和电子设备,通过获取待转换的二进制数据和元数据信息,以所述二进制数据和所述元数据信息为输入调用递归转换函数进行数据转换,实现了数据的直接转换,简化了数据转换过程,减小了资源消耗,提高了数据转换效率。

【技术实现步骤摘要】
一种数据转换方法、装置、存储介质和电子设备
本专利技术涉及计算机
,具体涉及一种数据转换方法、装置、存储介质和电子设备。
技术介绍
随着信息技术的发展,以及分布式系统的广泛应用,为提高分布式系统应用之间消息处理与传递的效率,分布式应用之间普遍采用紧凑的二进制消息格式,但分布式系统对外提供的服务常用于WEB网站或APP后台,它们通常是基于HTTP协议的REST风格服务,Json(JavaScriptObjectNotation,对象简谱)是REST服务中最为常见的数据交换格式,所以分布式系统的接入层需要对Json数据与分布式系统内使用的二进制数据进行转换。目前,将二进制数据转换成Json格式数据的常用方法是将二进制数据解析成二进制消息体对象,再将消息体对象与Json对象进行数据同步,最后将Json对像序列化成Json数据。该方法经历了多次转换,转换过程中创建了大量的二进制消息体与Json中间对象,导致消耗了大量的内存资源,转换效率低下。
技术实现思路
有鉴于此,本专利技术实施例提出一种数据转换方法、装置、存储介质和电子设备,用于简化数据转换过程,减小资源消耗,提高数据转换效率。第一方面,本专利技术实施例提出了一种数据转换方法,所述方法包括:获取待转换的二进制数据和元数据信息,所述元数据信息包括字段名称、字段类型和字段信息;以所述二进制数据和所述元数据信息为输入调用递归转换函数进行数据转换;其中,所述递归转换函数执行如下步骤:根据输入的二进制数据确定目标二进制数据字段;响应于在所述元数据信息中存在所述目标二进制数据字段,获取所述目标二进制数据字段的字段类型;响应于所述字段类型与所述元数据信息中的类型相同且为第一类型,将所述目标二进制数据字段的字段值和字段名称写入函数输出数据流;响应于所述字段类型与所述元数据信息中的类型相同且为第二类型,将所述目标二进制数据字段和所述元数据信息作为输入调用所述递归转换函数,并将递归转换函数的函数输出数据流写入上层递归转换函数的输出数据流。优选地,所述输出数据流为Json数据。优选地,所述第一类型包括数值、字符串和布尔值类型。优选地,所述第二类型包括消息结构体类型和容器类型。优选地,所述容器类型包括List、Set和Map。优选地,所述方法还包括:响应于在所述元数据信息中不存在所述目标二进制数据字段,对所述目标二进制数据字段不进行数据的写入。优选地,所述方法还包括:响应于所述字段类型与所述元数据信息中的类型不同,对所述目标二进制数据字段不进行数据的写入。第二方面,本专利技术实施例提出了一种数据转换装置,所述装置包括:获取单元,被配置为获取待转换的二进制数据和元数据信息,所述元数据信息包括字段名称、字段类型和字段信息;数据转换单元,被配置为以所述二进制数据和所述元数据信息为输入调用递归转换函数进行数据转换;其中,所述数据转换单元包括:确定单元,被配置为根据输入的二进制数据确定目标二进制数据字段;第一处理单元,被配置为响应于在所述元数据信息中存在所述目标二进制数据字段,获取所述目标二进制数据字段的字段类型;第二处理单元,被配置为响应于所述字段类型与所述元数据信息中的类型相同且为第一类型,将所述目标二进制数据字段的字段值和字段名称写入函数输出数据流;第三处理单元,被配置为响应于所述字段类型与所述元数据信息中的类型相同且为第二类型,将所述目标二进制数据字段和所述元数据信息作为输入调用所述递归转换函数,并将递归转换函数的函数输出数据流写入上层递归转换函数的输出数据流。第三方面,本专利技术实施例提出了一种计算机可读存储介质,其上存储计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现如第一方面所述的方法。第四方面,本专利技术实施例提出了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面所述的方法。本专利技术实施例通过获取待转换的二进制数据和元数据信息,以所述二进制数据和所述元数据信息为输入调用递归转换函数进行数据转换,实现了数据的直接转换,简化了数据转换过程,减小了资源消耗,提高了数据转换效率。附图说明通过以下参照附图对本专利技术实施例的描述,本专利技术的上述以及其它目的、特征和优点将更为清楚,在附图中:图1是本专利技术实施例的数据转换方法的数据流向示意图;图2是本专利技术实施例的数据转换方法的流程图;图3是本专利技术实施例的调用递归转换函数进行数据转换的流程图;图4是本专利技术实施例的数据转换方法的示意图;图5是本专利技术实施例的数据转换装置的示意图;图6是本专利技术实施例的电子设备的示意图。具体实施方式以下基于实施例对本专利技术进行描述,但是本专利技术并不仅仅限于这些实施例。在下文对本专利技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本专利技术。为了避免混淆本专利技术的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。除非上下文明确要求,否则整个申请文件中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。在本专利技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(dataaboutdata),主要是描述数据属性(property)的信息,一般是结构化数据(如存储在数据库里的数据,规定了字段的长度、类型等),用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。在本专利技术实施例中,利用描述二进制数据的元数据信息进行二进制数据格式转换。图1是本专利技术实施例的数据转换方法的数据流向示意图。如图1所示,在转换器13作用下,对输入的二进制数据11和元数据信息12进行数据转换,输出Json数据14。Json是一种轻量级的数据交换格式。其采用完全独立于编程语言的文本格式来存储和表示数据。Json数据层次结构简洁和清晰,易于人阅读和编写,同时也易于机器解析和生成,能有效地提升网络传输效率。在本专利技术实施例中,将二进制数据转换成Json数据不需进行多次转换,直接由转换器实现数据转换,简化了数据转换过程,减小了资源消耗,提高了数据转换效率。当然,除了Json数据,输出也可为其他格式的数据。图2是本专利技术实施例的数据转换方法的流程图。如图2所示,本专利技术实施例的数据转换方法包括如下步骤:步骤S210,获取待转换本文档来自技高网...

【技术保护点】
1.一种数据转换方法,其特征在于,所述方法包括:/n获取待转换的二进制数据和元数据信息,所述元数据信息包括字段名称、字段类型和字段信息;/n以所述二进制数据和所述元数据信息为输入调用递归转换函数进行数据转换;/n其中,所述递归转换函数执行如下步骤:/n根据输入的二进制数据确定目标二进制数据字段;/n响应于在所述元数据信息中存在所述目标二进制数据字段,获取所述目标二进制数据字段的字段类型;/n响应于所述字段类型与所述元数据信息中的类型相同且为第一类型,将所述目标二进制数据字段的字段值和字段名称写入函数输出数据流;/n响应于所述字段类型与所述元数据信息中的类型相同且为第二类型,将所述目标二进制数据字段和所述元数据信息作为输入调用所述递归转换函数,并将递归转换函数的函数输出数据流写入上层递归转换函数的输出数据流。/n

【技术特征摘要】
1.一种数据转换方法,其特征在于,所述方法包括:
获取待转换的二进制数据和元数据信息,所述元数据信息包括字段名称、字段类型和字段信息;
以所述二进制数据和所述元数据信息为输入调用递归转换函数进行数据转换;
其中,所述递归转换函数执行如下步骤:
根据输入的二进制数据确定目标二进制数据字段;
响应于在所述元数据信息中存在所述目标二进制数据字段,获取所述目标二进制数据字段的字段类型;
响应于所述字段类型与所述元数据信息中的类型相同且为第一类型,将所述目标二进制数据字段的字段值和字段名称写入函数输出数据流;
响应于所述字段类型与所述元数据信息中的类型相同且为第二类型,将所述目标二进制数据字段和所述元数据信息作为输入调用所述递归转换函数,并将递归转换函数的函数输出数据流写入上层递归转换函数的输出数据流。


2.根据权利要求1所述的数据转换方法,其特征在于,所述输出数据流为Json数据。


3.根据权利要求1所述的数据转换方法,其特征在于,所述第一类型包括数值、字符串和布尔值类型。


4.根据权利要求1所述的数据转换方法,其特征在于,所述第二类型包括消息结构体类型和容器类型。


5.根据权利要求4所述的数据转换方法,其特征在于,所述容器类型包括List、Set和Map。


6.根据权利要求1所述方法,其特征在于,所述方法还包括:
响应于在所述元数据信息中不存在所述目标二进制数据字段,对所述目标二进制数据字段不进行数据的写入。


7....

【专利技术属性】
技术研发人员:陈晶晶茅廷余波索兵
申请(专利权)人:中汇信息技术上海有限公司
类型:发明
国别省市:上海;31

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

1