一种软件升级的方法 【技术领域】
本发明属于电子视频产品技术领域, 尤其涉及一种电子视频产品软件升级的方法。 背景技术
现在的电子视频产品种类繁多, 功能各异, 这些电子视频产品通常都有内置的程 序, 通过程序控制电子产品的运行。但是任何产品都不可能做到尽善尽美, 没有任何问题, 经常会发现这样那样的问题, 为了解决这些问题, 就需要通过升级软件来处理。此外, 当产 品提供商为产品增加了新的功能, 用户可以自行通过升级软件获得这些功能。现在的电子 产品虽然有些也支持软件升级功能, 但是却很难对升级前的旧版软件中的重要数据加以保 护, 通常在软件升级时直接用新的数据将原有数据覆盖。
例如电子视频产品中有诸如 GAMMA、 白平衡等信息, 这些信息非常重要, 因为在出 厂时每台机器都需要使用特殊设备单独调试以保证每台机器达到最佳的显示效果。此外, 还有用户设置的数据信息, 这些数据反映了用户的使用习惯。现在的软件升级功能也能做 到部分保护, 即如果这些数据在新版软件中的位置、 个数、 结构等与旧版软件保持一致, 则 升级时只要保留这部分数据即可, 升级不会破坏这些数据。但是更多的情况是为了解决某 些问题, 或增加新的功能, 不可避免需要增加存储数据, 从而改变原有数据的存储位置, 大 小甚至结构, 现有的技术方案通常是将原有数据全部清除然后再写入与新版软件对应的数 据, 这样就造成了重要数据的丢失。
因此, 有必要提供一种技术方案, 可以实现电子产品升级时对需要保护的重要数 据进行保护, 避免这些需要保护数据被破坏。 发明内容 本发明的目的在于提供一种软件升级的方法, 旨在解决现有技术中电子视频产品 软件升级时旧版软件中数据被破坏的问题。
本发明是这样实现的, 一种软件升级的方法, 所述的方法包括 :
a、 将旧版软件中需要保护数据存储到临时存储区域, 获取新版软件中需要保护数 据;
b、 将所述旧版软件中需要保护数据的数据信息与所述新版软件中需要保护数据 的数据信息进行比较, 根据比较结果对所述旧版软件中需要保护数据进行适应性修改, 将 修改后的需要保护数据存放到所述临时存储区域 ;
c、 将所述修改后的需要保护数据恢复至所述电子视频产品的存储器中。
所述的临时存储区域为缓冲区 BUFFER。
其中步骤 a 具体包括 :
a1、 将所述旧版软件中需要保护数据存储到所述临时存储区域, 记录所述旧版软 件中需要保护数据的数据信息 ;
a2、 获取所述新版软件中需要保护数据, 记录所述新版软件中需要保护数据的数据信息。 其中步骤 b 具体包括 :
b1、 根据数据的 ID 号或者数据名称, 将所述旧版软件中需要保护数据的数据结构 逐项与所述新版软件中需要保护数据的数据结构进行比较 ;
b2、 如果两者不同, 从所述临时存储区域中读取所述旧版软件中需要保护数据, 按 照新版软件的数据结构对其进行修改, 将修改后的数据存放到所述临时存储区域。
其中步骤 b2 之后还包括 :
根据数据的 ID 号或者数据名称, 将所述旧版软件中需要保护数据的数据大小逐 项与所述新版软件中需要保护数据的数据大小进行比较 ;
如果两者不同, 从所述临时存储区域中读取修改后的旧版软件中需要保护数据, 按照新版软件的数据大小对其进行增加或者删除, 将增加或者删除后的数据存放到所述临 时存储区域。
其中步骤 b 还包括 :
根据数据的 ID 号或者数据名称, 将所述旧版软件中需要保护数据的存放起始位 置逐项与所述新版软件中需要保护数据的存放起始位置进行比较 ; 如果两者不同, 则步骤 c 还包括 :
从所述临时存储区域中读取所述旧版软件中需要保护数据, 按照所述新版软件中 需要保护数据的存放起始位置将其恢复至所述电子视频产品的存储器中。
其中步骤 c 具体包括 :
c1、 根据所述新版软件中的数据信息, 将保存在所述临时存储区域中修改后需要 保护数据恢复至所述电子视频产品的 NVRAM 中。
所述的数据信息包括数据的 ID 号、 数据名称、 起始位置、 数据结构和数据大小。
所述电子视频产品的存储器为非易失性存储器 NVRAM。
所述需要保护数据为所述电子视频产品中用户设置数据。
本发明克服现有技术的不足, 电子视频产品软件升级时, 首先将旧版软件中的需 要保护数据存储在临时存储区域, 然后将新版软件中需要保护数据的数据信息与旧版软件 中需要保护的数据信息进行比较, 如果两者中有一项或者多项不一致, 则根据新版软件中 需要保护数据的数据信息对旧版软件中需要保护数据进行适应性修改, 然后按照新版软件 的数据信息将修改后的需要保护数据恢复至电子视频产品的存储器中。 本发明提供的技术 方案在电子视频产品软件升级时, 可以避免旧版软件中需要保护的数据被破坏, 同时又不 会限制对软件的升级。
附图说明
图 1 是本发明实施例流程图。具体实施方式
本发明提供的技术方案是 : 电子视频产品软件升级时, 首先将旧版软件中的需要 保护数据存储在临时存储区域, 然后将新版软件中需要保护数据的数据信息与旧版软件中需要保护的数据信息进行比较, 如果两者中有一项或者多项不一致, 则根据新版软件中需 要保护数据的数据信息对旧版软件中需要保护数据进行适应性修改, 然后按照新版软件的 数据信息将修改后的需要保护数据恢复至电子视频产品的存储器中。
为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并 不用于限定本发明。
电子视频产品中的相关数据通常按照一定的结构有规律的集中存储在 NVRAM( 非 易失性存储器 ) 固定的位置上, 根据数据存储的这一特性, 可以对需要保护数据的数据信 息加以记录, 如 ID 号、 数据名称、 起始位置、 数据结构和数据大小等。当进行软件升级时, 首 先对旧版软件中需要保护数据的数据信息进行记录, 形成如表一所示的旧版软件需要保护 数据的数据信息表, 然后将这些需要保护数据临时存放在临时存储区域, 如 BUFFER( 缓冲 区)中; 然后获取新版软件中需要保护数据, 对新版软件中需要保护数据的数据信息进行 记录, 形成如表二所示的新版软件需要保护数据的数据信息表 ; 再将新版软件中需要保护 数据的数据信息与旧版软件中需要保护数据的数据信息进行比较, 比较时可以根据数据的 ID 号和数据名称逐项比较。 以表一所示的旧版软件需要保护数据的数据信息和表二所示的 新版软件需要保护数据的数据信息为例, 比较结果存在如下的几种情况 :
ID 号 1 2 3
数据名称 “GAMMA” “CHANNEL TABLE” “CHANNEL INFO”起始位置 0x2000 0x3000 0x4000数据结构 NULL INT[100][3] INT[100][3]数据大小 255 300 = 100 * 3 300 = 100 * 3表一旧版软件需要保护数据的数据信息表表二新版软件需要保护数据的数据信息表
1、 数据存放的起始位置不一致 ; 表明新版软件在原有数据上进行了增加或者删除 等操作, 造成了并非所有数据在新版软件中的存储位置与在旧版软件中的存储位置一致, 例如 Gamma 信息原来存放在 NVRAM 中的 0x2000 位置, 但是由于软件升级, Gamma 信息在软 件升级后的存储位置变成了 0x2006, 这样就必须将原来的 Gamma 信息数据存放在从 0x2006 位置开始的区间里, 这样, 旧版软件中 Gamma 信息的数据结构和数据大小不需要改动, 只需 要在将临时存储区域的数据恢复到 NVRAM 中时, 从 0x2006 开始的区间开始存储 ;
2、 数据结构不一致 ; 例如旧版软件中频道表 (CHANNEL TABLE) 信息包含频道号、
频率、 彩色制式, 一共有 100 个频道, 这样频道数据的数据结构就是 INT[100][3], 表示有 100 个频道, 每个频道有 3 个数据信息, 例如 1 频道对应的存储数据为 0x01( 频道号 )、 0x2450(1 频道的频率 )、 0x01(1 频道的彩色制式为 PAL 制 ) ; 而新版软件中的频道信息增加 了一个数据 : 丽音制式, 这样频道信息变为频道号、 频率、 彩色制式, 丽音制式, 新的数据结 构就是 INT[100][4], 表示有 100 个频道, 每个频道有 4 个数据信息。 因此, 需要从临时存储 区域中读取旧版软件的频道表信息, 并对该信息进行适应性修改, 即在原有数据的相应位 置增加一个数据, 增加的数据来源于新版软件中的数据, 系统将根据新版软件数据结构, 赋 给其相应的默认值, 例如丽音有 MONO 和 STEREO 两种值, 其中 MONO 是默认值, 所以改造后的 频道表信息为 0x01( 频道号 )、 0x2450(1 频道的频率 )、 0x01(1 频道的彩色制式为 PAL 制 )、 0x00(1 频道的丽音制式为 MONO, 这是默认值 )。同理, 如果新版软件中减少了数据, 就需要 将旧版软件中对应的数据删除, 然后将修改后的频道表信息存储到临时存储区域 ;
3、 数据大小不一致 ; 如旧版软件中有 100 个频道 (CHANNEL INFO), 新版软件扩展 为 125 个频道。因此, 需要从临时存储区域中读取旧版软件的频道信息, 并对该信息进行适 应性修改, 在原有频道信息中 100 个频道数据的后面增加 25 个频道的频道信息, 增加的频 道信息来源于新版软件中的数据。同理, 当数据数量减少时, 就需要将对应位置的数据删 除。然后将修改后的频道信息存储到临时存储区域。 如果同一项数据在新版软件中的数据结构和数据大小都发生了变化, 则可以按照 上面的流程, 首先根据新版软件的数据结构对该项数据进行适应性改动, 然后根据新版软 件的数据大小对该项数据进行增加或者删除操作, 然后将修改后的数据存储到临时存储区 域。
当旧版软件中需要保护数据与新版软件中需要保护数据逐项比较, 并根据比较结 果进行适应性修改之后, 修改后的数据都存放在临时存储区域, 此时可以根据新版软件中 的数据信息, 如需要保护数据的 ID 号、 数据名称、 起始位置、 数据结构和数据大小, 将保存 在临时存储区域中的修改后数据恢复至电子视频产品的 NVRAM 中, 从而实现数据保护。其 中, 存放起始位置改变了的数据按照新版软件数据信息中界定的起始位置存放。
本发明实施例流程图如图 1 所示, 具体包括如下的步骤 ( 以一项数据的比较为 例):
1、 首先将旧版软件中需要保护数据存储到临时存储区域, 记录其数据信息 ;
2、 获取新版软件中需要保护数据, 记录其数据信息 ;
3、 将旧版软件中需要保护数据的数据信息与新版软件中需要保护数据的数据信 息进行比较 ;
4、 比较数据存放的起始位置, 起始位置不一致?如果是, 转步骤 5, 否则转步骤 6 ;
5、 对该项数据不进行改动, 转步骤 6 ;
6、 比较数据结构, 数据结构不一致?如果是, 转步骤 7, 否则转步骤 10 ;
7、 从临时存储区域中读取存储的旧版软件中需要保护数据, 按照新版软件的数据 结构对其进行修改, 将修改后的数据存放到临时存储区域 ;
8、 将步骤 7 修改后数据的数据大小与新版软件中数据大小进行比较, 数据大小不 一致?如果是, 转步骤 9, 否则转步骤 12 ;
9、 从临时存储区域中读取步骤 7 修改后的数据, 按照新版软件的数据大小对其进
行增加或者删除, 将增加或者删除后的数据存放到临时存储区域, 转步骤 12 ;
10、 将旧版软件中该项数据的数据大小与新版软件中的数据大小进行比较, 数据 大小不一致, 如果是, 转步骤 11, 否则转步骤 13 ;
11、 从临时存储区域中读取旧版软件中需要保护的数据, 按照新版软件的数据大 小对其进行增加或者删除, 将增加或者删除后的数据存放到临时存储区域 ;
12、 根据新版软件中的数据信息, 如需要保护数据的 ID 号、 数据名称、 起始位置、 数据结构和数据大小, 将保存在临时存储区域中修改后需要保护数据恢复至电子视频产品 的 NVRAM 中。
13、 从临时存储区域读取旧版软件中需要保护数据, 根据新版软件中的数据信息 将其恢复至电子视频产品的 NVRAM 中。
本发明实施例中, 需要保护数据可以是用户在电子视频产品使用过程中根据自己 的需要设置的用户数据, 也可以是 GAMMA、 白平衡等数据, 这些数据是电子视频产品在出厂 时针对每台产品单独调试后形成的数据, 当然也可以是其它需要保护的数据。电子视频产 品可以是电视机等。
以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内所作的任何修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。