一种实现数据升级的方法、系统和升级客户端的制作方法

文档序号:6614477阅读:151来源:国知局
专利名称:一种实现数据升级的方法、系统和升级客户端的制作方法
技术领域
本发明涉及计算机领域,特别涉及一种实现数据升级的方法、系统和升 级客户端。
背景技术
通常,版本升级包括软件升级和数据升级两个部分内容。比如,用户可
能出于修正软件漏洞(BUG)或增强软件功能等原因,需要使用生产商的新 版本来升级自己的软件,而对于运行环境差异较大的复杂软件系统,比如, 通信软件系统, 一般需要根据运行环境配置相应地数据。也就是说,新软件 配套的数据可能会在内容和格式等方面发生变化,比如,数据表的增、邻'J、 改等,导致旧软件的数据不能直接在新软件中使用,因此需要在升级软件的 同时,对数据进行相应升级,从而避免用户在完成软件升级后再重新配置数 据。
下面介绍一种实现数据升级的方法,该方法的原理是在开发新版本时, 每个新版本只考虑针对前一个版本的数据升级,因而在进行数据升级时,如 果涉及到跨越多个版本的数据升级,则釆用顺序升级的方法,依次进行数据 升级,比如,市场现存Vl, V2…V9等9个版本。如果有V1版本需要升级 到V10,那么采用如图1所示的方式,即VI必须先升级到V2,再依次升级 到V3…V10,因而,这种方法在跨越多个版本时,需要执行的数据升级次数 较多,速度较慢。
生不正确的升级结果,比如,VI版本有一个数据表tl, V2中删除了该表, V3中又把tl增加回来,那么顺序升级的结果就是tl中的数据全部丢失了。
可见,目前实现数据升级的方法,升级速度较慢并且容易造成数据丢失, 因而数据升级性能较差。

发明内容
有鉴于此,本发明实施例提供一种实现数据升级的方法,该方法能够提 高数据升级性能。
本发明实施例还提供一种实现数据升级的系统,该系统能够提高数据升 级性能。
本发明实施例还提供一种升级客户端,该客户端能够提高数据升级性能。
为达到上述目的,本发明实施例的技术方案具体是这样实现的 一种实现数据升级的方法,用于从旧版本升级到新版本,该方法包括 根据预先划分的版本族,确定所述新、旧版本所在的版本族,所述版本族
内支持跨版本的直接数据升级;
根据所述新、旧版本所在的版本族、所述版本族内支持跨版本的直接数据
升级以及版本族间的版本支持策略,确定从旧版本升级到新版本的升级路径; 按照所述升级路径,进行数据升级。 一种实现数据升级的系统,该系统包括
升级客户端,用于根据预先划分的版本族,确定所述新、旧版本所在的 版本族,所述版本族内支持跨版本的直接数据升级;根据所述新、旧版本所 在的版本族、所述版本族内支持^争版本的直接数据升级以及版本族间的版本 支持策略,确定从旧版本升级到新版本的升级路径;
待升级子系统,用于按照所述升级路径,进行数据升级。
一种升级客户端,该升级客户端包括
版本族确定模块,用于根据预先划分的版本族,确定所述新、旧版本所在 的版本族,所述版本族内支持跨版本的直接数据升级;
升级路径确定模块,根据所述版本族确定模块得到的新、旧版本所在的
版本族、所述版本族内支持跨版本的直接数据升级以及预先设置的版本族间 的版本支持策略,确定从旧版本升级到新版本的升级路径。
由上述技术方案可见,本发明实施例提供的实现版本升级的方法、系统 和升级客户端,采用了以版本族为单位的数据升级方式,在同一个版本族内 支持跨版本的直接数据升级,因而能够有效降低跨版本升级的次数,提高升
级速度,并且由于在同一版本族内版本支持直接升级,因而能够避免数据丢 失的问题。


图1为现有技术中数据升级的示意图2为本发明第一个实施例中数据升级的示意图3为本发明第二个实施例中数据升级的示意图4为本发明实施例中采用的数据升级方法流程图5为本发明实施例中采用的数据升级系统结构示意图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明作进一步详细说明。
本实施例提供的实现数据升级的方法包括根据预先划分的版本族,确 定所述新、旧版本所在的版本族,所述版本族内支持跨版本的直接数据升级; 根据所述新、旧版本所在的版本族、所述版本族内支持跨版本的直接数据升 级以及版本族间的版本支持策略,确定从旧版本升级到新版本的升级路径; 按照所述升级路径,进行数据升级。这里,版本族间的版本支持策略包括 相邻两个版本族中,较新版本族中包含第一个版本的至少一个版本支持从较 旧版本族的最后一个版本的直接数据升级。下面具体举例对本发明作进一步 说明。
图2为本发明第一个实施例中实现数据升级的过程示意图。其中,带箭 头实线表示版本族内支持跨多个版本的直接数据升级路径,而带箭头虚线表
示版本族间支持的数据升级路径。如图2所示,本实施例中的6个版本被分 成两个版本族,并且在同一个版本族内支持跨多个版本的直接升级,比如, 支持版本1到版本3的直接升级。这里,版本族的划分策略是根据新、旧版 本的差异大小来划分,比如,在开发版本4时,发现版本4与版本3、版本 2和版本1的数据在结构、内容等方面有较大的变化,因而将版本4作为新 版本族的第一个版本,从而实现版本族的划分。而在开发版本3时,发现版 本3与版本2和版本1的数据变化不大时,则考虑针对版本1和版本2的数 据升级来配置相应的数据升级程序,以实现同一个版本族内的直接升级。当 然,也可以采用其它的划分策略,比如根据版本数目等来划分。
本实施例中,版本族间的版本支持策略为在相邻两个版本族中,4交新 版本族的任意一个版本均支持较旧版本族最后一个版本的直接升级,如图2 所示,版本族2中的版本4、 5和6均支持版本3的直接升级。本实施例中, 版本3是版本族1中的最后一个版本。本实施例可以在开发版本4、 5和6 时,根据已划分出的新、旧版本族,考虑针对版本3的直接数据升级来配置 相应的数据升级程序。
本实施例中,对于跨版本族的升级,比如版本2升级到版本6,采用的 升级路径为先将版本2升级到同一版本族内的最新版本,即版本3,而后 由于版本3支持到版本6的直接升级,因而由版本3直接升级到版本6即可, 即版本2->版本3-〉版本6。
当然,版本族间的版本支持策略也可以是在相邻两个版本族中,只有 较新版本族的第一个版本支持较旧版本族最后一个版本的直接升级,图3为 本发明第二个实施例中实现数据升级的过程示意图。同样,带箭头实线表示 版本族内支持跨多个版本的直接数据升级路径,而带箭头虚线表示版本族间 支持的数据升级路径。如图3所示,版本族2中的版本4支持版本3的直接 升级。在这种情况下同样从版本2升级到版本6时,采用的升级路径为先 将版本2升级到同一版本族内的最新版本,即版本3,而后从版本3直接升
级到相邻新版本族的第一个版本,即版本4,最后,再从版本4直接升级到 版本6,即版本2->版本3->版本4->版本6。
另外,版本族间的版本支持策略还可以是在相邻两个版本族中,较新 版本族的第一个版本和较新版本族的部分版本支持较旧版本族最后一个版 本的直接升级,比如,图2中版本族2的版本4和版本5支持版本族1的版 本3的直接升级。
本实施例中,由于对多个版本进行了版本族的划分和基于划分的直接升 级策略能够减少数据升级时历经的版本,从而节省了数据升级的时间,并且 由于在划分版本族时考虑了数据变化差异,因而能够避免由于数据变化过大 而引起的数据丢失的问题。
图4为本发明第二个实施例中采用的数据升级的方法流程示意图。本实 施例中,每个版本提供单独的数据升级程序,该数据升级程序支持把同一版 本族内的旧版本数据转换为新版本数据, 一个版本族内第一个版本的数据升 级程序支持升级旧版本族最后一个版本的数据。如图4所示,主要包括以下 步骤
步骤401:升级客户端向待升级系统查询待升级系统的版本号。 本实施例中,升级客户端通过向待升级系统查询,获得待升级系统的版
本信息,升级系统的版本信息表现为版本号的形式。
步骤402:待升级系统向升级客户端返回系统的版本号。
步骤403:升级客户端根据新、旧版本号及根据预先划分的版本族,确
定新、旧版本所在的版本族。
本实施例中, 一个版本的数据升级程序支持从同一版本族的任意低版本
到该版本的直接升级。这种划分与实施例一和实施例二的方法相同,这里不
一一赘述。
步骤404:升级客户端根据所述新、旧版本所在的版本族、所述版本族 内支持跨版本的直接数据升级以及版本族间的版本支持策略,确定升级路径。
本实施例中,假设版本族间的版本支持策略为相邻两个版本族中,较 新版本族的第一个版本的数据升级程序支持从较旧版本族的最后一个版本 的直接数据升级,因而确定升级路径的方法为当新、旧版本号所在的版本 族为同一版本族时,确定的升级路径为直接升级的路径,否则,确定的升级 路径为先从旧版本直接升级到本版本族的最后一个版本,再升级到相邻新版 本族的第一个版本,以此类推,逐步升级到最新版本,比如第二个实施例中, 版本2到版本6的升级路径。
步骤405:升级客户端选择升级路径需要的数据升级程序。 本实施例中,数据升级程序作为单独的程序文件,可以与新版本的软件 分开执行。比如,在需要从版本2到版本6进行数据升级时,选择出的数据程序。
步骤406:升级客户端下发数据升级程序到待升级系统。
本实施例中,由升级客户端先选择再向待升级系统下发在数据升级过程
中应使用的数据升级程序,当然也可以直接向待升级系统下发所有的数据升
级程序,由待升级系统自行选择数据升级过程中应使用的数据升级程序。 步骤407:待升级系统按照升级路径,依次执行数据升级程序。 本实施例中,待升级系统通过执行数据升级程序来完成数据升级。 步骤408:待升级系统向升级客户端发送数据升级响应。 本实施例中,升级客户端通过数据升级响应获知数据版本已转换完成。 步骤409:升级客户端向待升级系统下载新软件。 步骤410:升级客户端向待升级系统发送重启系统软件指示。 步骤411:待升级系统运行新软件,直接使用升级后的数据。 本实施例中,先执行步骤406 步骤408的数据升级过程后,再执行步
骤409~步骤410的软件升级过程,当然也可采用相反的执行顺序。
当然,对于本发明第一个实施例,版本族间的版本支持策略是相邻两
个版本族中,较新版本族的所有版本的数据升级程序支持从较旧版本族的最
后一个版本的直接数据升级,在这种情况下,确定升级路径的方法为当新、 旧版本号所在的版本族为同 一版本族时,确定的升级路径为直接升级的路 径,否则,确定的升级路径为先从旧版本直接升级到本版本族的最后一个 版本,在最新版本不在相邻的版本族中时,直接升级到相邻新版本族的最后 一个版本,直到最新版本在相邻的版本族中,再直接升级到最新版本,比如, 第 一个实施例中的版本2到版本6的升级路径。
本实施例中的数据升级程序为单独程序,当然也可以是作为新软件中的 一部分,在升级客户端向待升级系统下载了新软件后,由待升级系统根据升 级路径自行从新软件中选择数据升级过程中应使用的数据升级程序。
图5为本发明实施例中采用的数据升级的系统结构示意图。参见图5, 该系统包括
升级客户端510,根据预先划分的版本族,确定所述新、旧版本所在的版 本族,同一个所述版本族内支持跨版本的直接数据升级;根据新、旧版本所在 的版本族、所述版本族内支持跨版本的直接数据升级以及版本族间的版本支持 策略,确定从旧版本升级到新版本的升级路径。
待升级子系统520,按照所述升级路径,进行数据升级。
具体地,待升级子系统520包括
获取模块521,接收升级客户端510确定的升级路径,获取该升级路径中 各版本所使用的数据升级程序。
执行模块522,按照升级客户端510确定的升级路径,依次执行获取模块 521得到的数据升级程序。 升级客户端510包括
版本族确定模块511,根据预先划分的版本族,确定所述新、旧版本所在 的版本族,同一个所述版本族内支持跨版本的直接数据升级。
升级路径确定模块512,根据版本族确定模块511得到的新、旧版本所在 的版本族、所述版本族内支持跨版本的直接数据升级以及预先设置的版本族间 的版本支持策略,确定从旧版本升级到新版本的升级路径。
其中,升级路径确定模块512包括
第一执行单元513,在版本族间的版本支持策略为相邻两个版本族中,较 新版本族中的所有版本支持从较旧版本族的最后一个版本的直接数据升级时, 当新、旧版本所在的版本族为同一版本族时,确定的升级路径为从旧版本到 新版本直接升级的路径,否则,确定的升级路径为先从所述旧版本直接升级 到同一版本族的最后一个版本,再直接升级到相邻的较新版本族的第一个版本, 以此类推,逐步升级到所述新版本。
第二执行单元514,在版本族间的版本支持策略为相邻两个版本族中, 较新版本族中的所有版本支持从较旧版本族的最后一个版本的直接数据升 级时,当新、旧版本所在的版本族为同一版本族时,确定的升级路径为从 旧版本到新版本直接升级的路径,否则,确定的升级路径为先从旧版本直 接升级到同 一版本族的最后一个版本,在所述新版本不在相邻的较新版本族 中时,直接升级到相邻新版本族的最后一个版本,直到所述新版本在相邻的 较新版本族中,再直接升级到所述新版本。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均 应包含在本发明的保护范围之内。
权利要求
1、一种实现数据升级的方法,用于从旧版本升级到新版本,其特征在于,该方法包括根据预先划分的版本族,确定所述新、旧版本所在的版本族,所述版本族内支持跨版本的直接数据升级;根据所述新、旧版本所在的版本族、所述版本族内支持跨版本的直接数据升级以及版本族间的版本支持策略,确定从旧版本升级到新版本的升级路径;按照所述升级路径,进行数据升级。
2、 根据权利要求1所述的方法,其特征在于,划分所述版本族包括在开 发所述旧版本与所述新版本之间的每一个版本时,根据预先设置的划分策略, 判断开发的版本是否与前一个版本属于同 一个版本族,在判断出开发的版本与 前一个版本不属于同 一个版本族时,将开发的版本作为新版本族中的第 一个版本。
3、 根据权利要求1所述的方法,其特征在于,所述版本族间的版本支持策 略包括相邻两个版本族中,较新版本族中包含第一个版本的至少一个版本支 持从较旧版本族的最后 一个版本的直接数据升级。
4、 根据权利要求1所述的方法,其特征在于,所述版本族间的版本支持策 略包括相邻两个版本族中,较新版本族中的第 一个版本支持从较旧版本族的 最后一个版本的直接数据升级,所述确定从旧版本升级到新版本的升级路径包括当新、旧版本所在的版 本族为同一版本族时,确定的升级路径为从旧版本到新版本直接升级的路径, 否则,确定的升级路径为先从所述旧版本直接升级到同一版本族的最后一个 版本,再直接升级到相邻的较新版本族的第一个版本,以此类推,逐步升级到 所述新版本。
5、 根据权利要求1所述的方法,其特征在于,所述版本族间的版本支持策 略包括相邻两个版本族中,较新版本族中的所有版本支持从较旧版本族的最后一个版本的直接数据升级,所述确定从旧版本升级到新版本的升级路径包括当新、旧版本所在的版 本族为同一版本族时,确定的升级路径为从旧版本到新版本直接升级的路径, 否则,确定的升级路径为先从旧版本直接升级到同一版本族的最后一个版本, 在所述新版本不在相邻的较新版本族中时,直接升级到相邻新版本族的最后一 个版本,直到所述新版本在相邻的较新版本族中,再直接升级到所述新版本。
6、 根据权利要求1所述的方法,其特征在于,所述进行数据升级包括 按照所述升级路径中经历的各版本,依次执行所述各版本使用的数据升级程序。
7、 一种实现数据升级的系统,其特征在于,该系统包括 升级客户端,用于根据预先划分的版本族,确定所述新、旧版本所在的版本族,所述版本族内支持跨版本的直接数据升级;根据所述新、旧版本所在的 版本族、所述版本族内支持跨版本的直接数据升级以及版本族间的版本支持策 略,确定从旧版本升级到新版本的升级^各径;待升级子系统,用于按照所述升级路径,进行数据升级。
8、 根据权利要求7所述的系统,其特征在于,所述升级客户端包括 版本族确定模块,用于根据预先划分的版本族,确定所述新、旧版本所在的版本族,所述版本族内支持跨版本的直接数据升级;升级路径确定模块,根据所述版本族确定模块得到的新、旧版本所在的版 本族、所述版本族内支持跨版本的直接数据升级以及预先设置的版本族间的版 本支持策略,确定从旧版本升级到新版本的升级路径。
9、 根据权利要求7所述的系统,其特征在于,所述待升级子系统包括 获取模块,用于获取所述升级路径中各版本所使用的数据升级程序; 执行模块,用于按照所述升级路径中经历的各版本,依次执行所述获取模块得到的所述各版本数据升级程序。
10、 一种升级客户端,其特征在于,该升级客户端包括 版本族确定模块,用于根据预先划分的版本族,确定所述新、旧版本所在 的版本族,所述版本族内支持跨版本的直接数据升级;升级路径确定模块,根据所述版本族确定模块得到的新、旧版本所在的版 本族、所述版本族内支持跨版本的直接数据升级以及预先设置的版本族间的版 本支持策略,确定从旧版本升级到新版本的升级路径。
11、根据权利要求IO所述的升级客户端,其特征在于,所述升级路径确定 模块包括第一执行单元,用于在版本族间的版本支持策略为相邻两个版本族中,较 新版本族中的所有版本支持从较旧版本族的最后 一个版本的直接数据升级时, 当新、旧版本所在的版本族为同一版本族时,确定的升级3各径为乂人旧版本到 新版本直接升级的路径,否则,确定的升级路径为先从所述旧版本直接升级 到同一版本族的最后一个版本,再直接升级到相邻的较新版本族的第一个版本, 以此类推,逐步升级到所述新版本;第二执行单元,用于在版本族间的版本支持策略为相邻两个版本族中,较 新版本族中的所有版本支持/人较旧版本族的最后一个版本的直接数据升级时, 当新、旧版本所在的版本族为同一版本族时,确定的升MJ各径为从旧版本到 新版本直接升级的路径,否则,确定的升级路径为先从旧版本直接升级到同 一版本族的最后一个版本,在所述新版本不在相邻的较新版本族中时,直接升 级到相邻新版本族的最后一个版本,直到所述新版本在相邻的4支新版本族中, 再直接升级到所述新版本。
全文摘要
本发明实施例中公开了一种实现数据升级的方法,用于从旧版本升级到新版本,该方法包括根据预先划分的版本族,确定所述新、旧版本所在的版本族,所述版本族内支持跨版本的直接数据升级;根据所述新、旧版本所在的版本族、所述版本族内支持跨版本的直接数据升级以及版本族间的版本支持策略,确定从旧版本升级到新版本的升级路径;按照所述升级路径,进行数据升级。本发明实施例中还公开了一种系统和升级客户端,应用本发明能够提高数据升级性能。
文档编号G06F9/44GK101169719SQ20071018827
公开日2008年4月30日 申请日期2007年11月30日 优先权日2007年11月30日
发明者郭子玉 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1