[发明专利]基于灰度升级的二进制文件解析方法、装置、设备及介质有效
申请号: | 202210756625.5 | 申请日: | 2022-06-30 |
公开(公告)号: | CN114818656B | 公开(公告)日: | 2022-09-23 |
发明(设计)人: | 王义开;秦玮;何磊;宋江坤 | 申请(专利权)人: | 深圳华锐分布式技术股份有限公司;华锐分布式技术(长沙)有限公司 |
主分类号: | G06F40/205 | 分类号: | G06F40/205;G06F16/13;G06F16/16 |
代理公司: | 深圳市精英创新知识产权代理有限公司 44740 | 代理人: | 迟珊珊 |
地址: | 518000 广东省深圳市福田区梅林街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 灰度 升级 二进制文件 解析 方法 装置 设备 介质 | ||
1.一种基于灰度升级的二进制文件解析方法,其特征在于,所述基于灰度升级的二进制文件解析方法包括:
在执行灰度升级时,配置二进制文件的文件格式作为目标格式,包括:配置用于记录所述二进制文件的消息头大小的第一字段;
当检测到旧版本程序接收到任意二进制文件时,将所述任意二进制文件确定为目标文件;
根据所述目标格式解析所述目标文件的消息头,得到所述目标文件的行数据模式;
根据所述行数据模式确定所述目标文件中每行数据的长度;
根据每行数据的长度确定每行数据的起始索引,包括:从所述目标文件的消息头中读取所述第一字段;根据所述第一字段的数据内容确定所述目标文件的消息头长度;根据所述消息头长度确定所述目标文件的消息体的起始位置作为所述目标文件的首行数据的起始索引;根据每行数据的长度确定所述首行数据的长度;计算所述首行数据的长度与所述消息头长度的差值,得到所述首行数据的消息体长度;从第二行数据开始,将每行数据的长度确定为每行数据的消息体长度;根据每行数据的消息体长度对所述消息体进行拆分,得到每行数据的起始索引;
利用所述旧版本程序根据每行数据的起始索引对所述目标文件进行解析。
2.如权利要求1所述的基于灰度升级的二进制文件解析方法,其特征在于,所述配置二进制文件的文件格式作为目标格式包括:
配置用于记录所述二进制文件的行数据模式的第二字段;
当所述行数据模式为固定行宽模式时,配置用于记录所述二进制文件的每行数据的固定行宽的第三字段,在所述二进制文件的消息头中添加所述第一字段、所述第二字段及所述第三字段;或者
当所述行数据模式为非固定行宽模式时,在所述二进制文件的消息头中添加所述第一字段及所述第二字段,分别配置用于记录所述二进制文件的每行数据的行宽的每个第四字段,在所述二进制文件的每行数据的消息体的起始位置处对应添加每个第四字段。
3.如权利要求2所述的基于灰度升级的二进制文件解析方法,其特征在于,所述根据所述目标格式解析所述目标文件的消息头,得到所述目标文件的行数据模式包括:
根据所述目标格式从所述目标文件的消息头中读取所述第二字段;
根据所述第二字段的数据内容确定所述目标文件的行数据模式。
4.如权利要求2所述的基于灰度升级的二进制文件解析方法,其特征在于,所述根据所述行数据模式确定所述目标文件中每行数据的长度包括:
当所述行数据模式为所述固定行宽模式时,从所述目标文件的消息头中读取所述第三字段,根据所述第三字段的数据内容确定所述目标文件中每行数据的长度;或者
当所述行数据模式为所述非固定行宽模式时,从所述目标文件的消息体中读取每行数据的第四字段,根据每行数据的第四字段的数据内容确定所述目标文件中每行数据的长度。
5.如权利要求2所述的基于灰度升级的二进制文件解析方法,其特征在于,所述利用所述旧版本程序根据每行数据的起始索引对所述目标文件进行解析包括:
获取所述旧版本程序对每行数据的可解析字段长度;
对于每行数据,当检测到所述旧版本程序已解析的字段长度达到对应的可解析字段长度时,跳过当前行数据,并根据每行数据的起始索引确定所述当前行数据的下一行数据;
从所述下一行数据继续解析所述目标文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳华锐分布式技术股份有限公司;华锐分布式技术(长沙)有限公司,未经深圳华锐分布式技术股份有限公司;华锐分布式技术(长沙)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210756625.5/1.html,转载请声明来源钻瓜专利网。