不同版本二进制数据兼容的方法及数据版本转换系统技术方案

技术编号:8271432 阅读:180 留言:0更新日期:2013-01-31 03:39
本申请公开了一种不同版本二进制数据兼容的方法,该方法包括:根据不同版本的二进制数据结构体定义第一版本结构体描述表和第二版本结构体描述表,所述第一版本结构体描述表和第二版本结构体描述表都至少包括每个成员的标识和二进制数据长度;对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵;根据所述转换矩阵,将按照第一版本结构体存储的二进制数据,转换为按照第二版本结构体存储的二进制数据。本申请还公开了一种数据版本转换系统。采用本发明专利技术能够使不同版本数据兼容。

【技术实现步骤摘要】
本专利技术涉及信息
,特别涉及一种不同版本二进制数据兼容的方法及数据版本转换系统
技术介绍
通信设备在实际使用中,经常需要涉及版本升级,而版本升级后,可能会引起配置数据和板间、设备之间通信数据格式的变化。如果通信数据和配置数据采用文本方式编码,那么版本的升级带来的数据格式变化是能够自动兼容的,但是采用文本方式的配置存在一个问题是配置信息非常大时,需要把这些配置解析成程序理解的二进制方式一定的时间,往往会导致重启时间比较长,因此该方法存在缺陷。后续我们就采用了更为先进的存储配置方式,直接存在二进制配置,把相应的数 据使用结构体方式存储到文件中,重启时,还是按照原来的结构体进行读取。但是采用二进制方式的配置数据和通信数据,那么就不存在编解码了,处理比较简单。重启时,直接读取数据存储到结构体中即可恢复配置,而主控板只需要把该数据结构体同步给备板、接口板就可以支持板间数据通信。但是,采用二进制数据最大的问题时,当版本升级时,老配置数据同新版本的程序的数据格式兼容问题,在版本升级中,老版本设备或者板卡同新版本的设备或者板卡通信数据格式兼容问题,因此,如果在架构体中新增加数据或者删除数据、或者修改某个数据的长度,都会导致新老版本数据的不兼容。因此,如何克服上述问题成为业内关注的问题。
技术实现思路
本专利技术实施例提供了一种不同版本二进制数据兼容的方法,能够使不同版本数据兼容。一种不同版本二进制数据兼容的方法,该方法包括根据不同版本的二进制数据结构体定义第一版本结构体描述表和第二版本结构体描述表,所述第一版本结构体描述表和第二版本结构体描述表都至少包括每个成员的标识和二进制数据长度;对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵;根据所述转换矩阵,将按照第一版本结构体存储的二进制数据,转换为按照第二版本结构体存储的二进制数据。本专利技术实施例提供了一种数据版本转换系统,能够使不同版本数据兼容。一种数据版本转换系统,所述系统包括结构体描述表生成模块,用于根据不同版本的二进制数据结构体定义第一版本结构体描述表和第二版本结构体描述表;分析转换模块,用于对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵;还用于输入第一版本结构体二进制数据后得到第二版本结构体二进制数据;第一版本结构体二进制数据存储模块,用于存储第一版本结构体二进制数据。从上述方案可以看出,本专利技术实施例分别将两个版本的结构体定义结构体描述表,并对这两个版本的结构体描述表进行分析处理得到转换矩阵,根据转换矩阵,将按照一种版本结构体存储的二进制数据,转换为按照另一种版本结构体存储的二进制数据。从而实现了不同版本通信数据和配置数据的兼容。附图说明图I为本专利技术提供的不同版本二进制数据兼容的方法流程示意图。图2为本专利技术具体实施例中应用于上述方法的数据版本转换系统的结构示意图。具体实施例方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术作进一步详细说明。图I为本专利技术提供的不同版本二进制数据兼容的方法流程示意图。如图I所示,该方法包括步骤11、根据不同版本的二进制数据结构体定义第一版本结构体描述表和第二版本结构体描述表,所述第一版本结构体描述表和第二版本结构体描述表都至少包括每个成员的名称和二进制数据长度;步骤12、对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵;步骤13、根据所述转换矩阵,将按照第一版本结构体存储的二进制数据,转换为按照第二版本结构体存储的二进制数据。下面以一个实际例子进行说明。隧道接口的典型数据在版本I. 01中的结构体如表I所示本文档来自技高网...

【技术保护点】
一种不同版本二进制数据兼容的方法,该方法包括:根据不同版本的二进制数据结构体定义第一版本结构体描述表和第二版本结构体描述表,所述第一版本结构体描述表和第二版本结构体描述表都至少包括每个成员的标识和二进制数据长度;对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵;根据所述转换矩阵,将按照第一版本结构体存储的二进制数据,转换为按照第二版本结构体存储的二进制数据。

【技术特征摘要】
1.一种不同版本二进制数据兼容的方法,该方法包括 根据不同版本的二进制数据结构体定义第一版本结构体描述表和第二版本结构体描述表,所述第一版本结构体描述表和第二版本结构体描述表都至少包括每个成员的标识和二进制数据长度; 对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵; 根据所述转换矩阵,将按照第一版本结构体存储的二进制数据,转换为按照第二版本结构体存储的二进制数据。2.如权利要求I所述的方法,其特征在于, 所述对第一版本结构体描述表和第二版本结构体描述表进行分析,得到两者之间的转换矩阵的方法包括 根据第二版本结构体描述表中成员的个数确定转换矩阵的行数,行元素包括该行对应的成员在第一版本结构体中的偏移位置、在第二版本结构体中的偏移位置和需要复制的该成员的二进制数据长度。3.如权利要求2所述的方法,其特征在于,对于其中一个成员对应的行元素,将第二版本结构体描述表中该成员之前的成员的二进制数据长度累加,作为该成员在第二版本结构体中的偏移位置。4.如权利要求3所述的方法,其特征在于,确定该成员是否存在于第一版本结构体描述表中,如果是,则将第一版本结构体描述表中该成员之前的所有成员的二进制数据长度累...

【专利技术属性】
技术研发人员:宋海宾
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:

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

1