[发明专利]基于配置化的二进制数据反序列化方法、装置及存储介质在审
申请号: | 202210109697.0 | 申请日: | 2022-01-29 |
公开(公告)号: | CN114527990A | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 吴正 | 申请(专利权)人: | 中银金融科技有限公司 |
主分类号: | G06F8/52 | 分类号: | G06F8/52 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 蔡彭君 |
地址: | 200120 上海市浦东新区中国(*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 配置 二进制 数据 序列 方法 装置 存储 介质 | ||
本发明涉及一种基于配置化的二进制数据反序列化方法、装置及存储介质,其中方法包括:读取二进制序列和对应于该二进制序列的注解标记,其中,注解标记包括类指令序列和对应于各类指令的注解指令序列;根据注解标记生成反序列化指令序列,以及该反序列化指令序列中各反序列化指令对应的二进制数据长度;基于得到的反序列化指令序列解析二进制序列,并得到反序列化结果。与现有技术相比,本发明提升了代码的可重用性,降低了反复开发的成本,同时将数据定义与解析解耦,便于随时替换或新增相关的反序列化器。
技术领域
本发明涉及二级制数据反序列化技术,尤其是涉及一种基于配置化的二进制数据反序列化方法、装置及存储介质。
背景技术
在计算机领域,经常会需要用到二进制的序列化和反序列化过程,例如在在业务中经常出现需要处理与加工二进制数据的场景,这类基于内存布局而非规则的数据,如果为业界通用的数据传输格式,则通过引入第三方库实现,此时,由于反序列化不断引入第三方库,将会使项目体量不断膨胀提高维护成本。如果为私有或自定义的数据传输格式,则需要自行实现一个解析器实现从二进制数据到程序中对象的反序列化,这样又会导致相关代码难以复用且对维护也提出了更高的要求。
发明内容
本发明的目的就是为了提供一种基于配置化的二进制数据反序列化方法、装置及存储介质,通过预配置反序列化指令的方式,采用多级信息的注解标记的方式,确定反序列化指令序列,以及该反序列化指令序列中各反序列化指令对应的二进制数据长度,依次对二级制序列进行解析得到反序列化结果,提升了代码的可重用性,降低了反复开发的成本,同时将数据定义与解析解耦,便于随时替换或新增相关的反序列化器。
本发明的目的可以通过以下技术方案来实现:
一种基于配置化的二进制数据反序列化方法,包括:
读取二进制序列和对应于该二进制序列的注解标记,其中,所述注解标记包括类指令序列和对应于各类指令的注解指令序列;
根据注解标记生成反序列化指令序列,以及该反序列化指令序列中各反序列化指令对应的二进制数据长度;
基于得到的反序列化指令序列解析所述二进制序列,并得到反序列化结果。
所述根据注解标记生成反序列化指令序列,以及该反序列化指令序列中各反序列化指令对应的二进制数据长度,具体包括:
基于类指令序列排序各注解指令序列,其中,所述注解指令序列中的各注解指令至少含有元素名称、长度信息和对象类型定义;
基于各注解指令,根据其对象类型定义确定反序列化指令,以及根据其长度信息确定对应于该反序列化指令的二进制数据长度;
汇总各反序列化指令,并组成反序列化指令序列。
所述对象类型定义的类别至少包括:整型、浮点数、字符串、填充和数组。
所述对象类型定义为字符串的注解指令还包括编码集信息。
所述对象类型定义为整型、浮点数和字符串的注解指令还包括字节序信息。
所述对象类型定义的类别还包括复合类型。
所述长度信息的内容为比特长度值或元素名称,其中,当长度信息为元素名称时,其比特长度取该元素名称的解析结果。
所述类指令序列包括长度信息,用于表征其对应的注解指令序列的数量。
一种基于配置化的二进制数据反序列化装置,包括存储器、处理器,以及存储于所述存储器中的程序,所述处理器执行所述程序时实现如上述的方法。
所述程序被执行时实现如上述的方法。
与现有技术相比,本发明具有以下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中银金融科技有限公司,未经中银金融科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210109697.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置