【技术实现步骤摘要】
本专利技术涉及信息
,特别涉及一种不同版本二进制数据兼容的方法及数据版本转换系统。
技术介绍
通信设备在实际使用中,经常需要涉及版本升级,而版本升级后,可能会引起配置数据和板间、设备之间通信数据格式的变化。如果通信数据和配置数据采用文本方式编码,那么版本的升级带来的数据格式变化是能够自动兼容的,但是采用文本方式的配置存在一个问题是配置信息非常大时,需要把这些配置解析成程序理解的二进制方式一定的时间,往往会导致重启时间比较长,因此该方法存在缺陷。后续我们就采用了更为先进的存储配置方式,直接存在二进制配置,把相应的数 据使用结构体方式存储到文件中,重启时,还是按照原来的结构体进行读取。但是采用二进制方式的配置数据和通信数据,那么就不存在编解码了,处理比较简单。重启时,直接读取数据存储到结构体中即可恢复配置,而主控板只需要把该数据结构体同步给备板、接口板就可以支持板间数据通信。但是,采用二进制数据最大的问题时,当版本升级时,老配置数据同新版本的程序的数据格式兼容问题,在版本升级中,老版本设备或者板卡同新版本的设备或者板卡通信数据格式兼容问题,因此,如果在架构体中新增加数据或者删除数据、或者修改某个数据的长度,都会导致新老版本数据的不兼容。因此,如何克服上述问题成为业内关注的问题。
技术实现思路
本专利技术实施例提供了一种不同版本二进制数据兼容的方法,能够使不同版本数据兼容。一种不同版本二进制数据兼容的方法,该方法包括根据不同版本的二进制数据结构体定义第一版本结构体描述表和第二版本结构体描述表,所述第一版本结构体描述表和第二版本结构体描述表都至少包括每个成员的标识和二 ...
【技术保护点】
一种不同版本二进制数据兼容的方法,该方法包括:根据不同版本的二进制数据结构体定义第一版本结构体描述表和第二版本结构体描述表,所述第一版本结构体描述表和第二版本结构体描述表都至少包括每个成员的标识和二进制数据长度;对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵;根据所述转换矩阵,将按照第一版本结构体存储的二进制数据,转换为按照第二版本结构体存储的二进制数据。
【技术特征摘要】
1.一种不同版本二进制数据兼容的方法,该方法包括 根据不同版本的二进制数据结构体定义第一版本结构体描述表和第二版本结构体描述表,所述第一版本结构体描述表和第二版本结构体描述表都至少包括每个成员的标识和二进制数据长度; 对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵; 根据所述转换矩阵,将按照第一版本结构体存储的二进制数据,转换为按照第二版本结构体存储的二进制数据。2.如权利要求I所述的方法,其特征在于, 所述对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵的方法包括 根据第二版本结构体描述表中成员的个数确定转换矩阵的行数,行元素包括该行对应的成员在第一版本结构体中的偏移位置、在第二版本结构体中的偏移位置和需要复制的该成员的二进制数据长度。3.如权利要求2所述的方法,其特征在于,对于其中一个成员对应的行元素,将第二版本结构体描述表中该成员之前的成员的二进制数据长度累加,作为该成员在第二版本结构体中的偏移位置。4.如权利要求3所述的方法,其特征在于,确定该成员是否存在于第一版本结构体描述表中,如果是,则将第一版本结构体描述表中该成员之前的所有成员的二进制数据长度累...
【专利技术属性】
技术研发人员:宋海宾,
申请(专利权)人:杭州华三通信技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。