基于数据兼容的软件升级方法、客户端、服务器及系统

来源:互联网 发布:淘宝怎么修改发货单号 编辑:程序博客网 时间:2024/06/04 19:06

名称:

基于数据兼容的软件升级方法、客户端、服务器及系统

摘要:

本发明公开了一种基于数据兼容的软件升级方法、客户端、服务器及系统,所述方法包括:获取软件升级时存在数据库兼容问题的应用,当软件升级后,将各所述应用的原数据库内的数据拷贝到预先获取的与升级版本兼容的新版数据库中,并将原数据库删除。本发明所述方案在进行升级前,会将升级时可能存在数据兼容问题的应用通知给客户端,使得客户端在进行升级时,针对相应兼容问题的应用,将客户端的原数据库更新为从服务器侧获取的最新数据库,并把原数据库中的数据导入到新数据库中,做到了升级但不破坏用户数据,很好的解决了升级后数据库不兼容的问题。

权利要求:

1.一种基于数据兼容的软件升级方法,其特征在于,包括: 获取软件升级时存在数据库兼容问题的应用,当软件升级后,将各所述应用的原数据库内的数据拷贝到预先获取的与升级版本兼容的新版数据库中,并将原数据库删除。
2.如权利要求1所述的方法,其特征在于,所述方法中,通过接收服务器侧下发的指示消息,获取升级时存在数据库兼容问题的应用。
3.如权利要求1或2所述的方法,其特征在于,所述方法中,在软件升级后,提取服务器侧下发的与各所述应用对应且兼容升级版本的新版数据库和操作脚本信息,根据所述操作脚本的操作指示,将各所述应用的原数据库内的数据拷贝到对应的新版数据库中,并将原数据库删除。
4.一种客户端,其特征在于,包括: 信息获取模块,用于获取软件升级时存在数据库兼容问题的应用; 兼容处理模块,用于当软件升级后,将各所述应用的原数据库内的数据拷贝到预先获取的与升级版本兼容的新版数据库中,并将原数据库删除。
5.如权利要求4所述的客户端,其特征在于,所述信息获取模块,具体用于接收服务器侧下发的指示消息,根据所述指示消息获取升级时存在数据库兼容问题的应用。
6.如权利要求4或5所述的客户端,其特征在于,所述兼容处理模块,具体用于在软件升级后,提取服务器侧下发的与各所述应用对应且兼容升级版本的新版数据库和操作脚本信息,根据所述操作脚本的操作指示,将各所述应用的原数据库内的数据拷贝到对应的新版数据库中,并将原数据库删除。
7.一种服务器,其特征在于,包括: 测试模块,用于利用待发布的软件升级包进行升级测试,得到软件升级时存在数据库兼容问题的应用,并将得到的应用信息发送至客户端; 处理模块,用于针对软件升级时存在数据库兼容问题的各应用,提取对应的新版数据库,并将所述新版数据库信息发送至客户端。
8.如权利要求7所述的服务器,其特征在于,所述处理模块,进一步用于在提取对应的新版数据库时,制作操作脚本,并将所述操作脚本协同所述新版数据库信息一同发送至客户端;其中,所述操作脚本用以指导客户端利用新版数据库进行数据兼容处理。
9.如权利要求7或8所述的服务器,其特征在于, 所述测试模块,将得到的应用信息封装在软件升级包中发送至所述客户端;或者,将得到的应用信息以独立消息的方式发送至所述客户端; 所述处理模块,将提取的新版数据库信息封装在软件升级包中发送至所述客户端;或者,将提取的新版数据库信息以独立消息的方式发送至所述客户端。
10.一种基于数据兼容的软件升级系统,其特征在于,包括权利要求4至6任一项所述的客户端,以及权利要求7至9任一项所述的服务器。
说明
基于数据兼容的软件升级方法、客户端、服务器及系统

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种基于数据兼容的软件升级方法、客户端、服务器及系统。

背景技术

[0002] 随着电子技术的飞速发展,电子设备的种类和数量都急剧上升,产品推出周期较以前短了许多。如此众多的产品快速上市,对售后服务提出了一种很大的挑战,一种新型的售后方式就此应运而生一软件升级。

[0003] 在电子设备售出之后,当发现一些通过升级软件能够解决的设备故障或者设备功能缺陷时,厂家往往通过这种软件升级的方式修复设备故障,节约厂家大量维修成本。同时,也可以通过这种软件升级的方式来发布新的功能给已有用户使用,以此提升用户体验。

[0004] 软件升级一般分为应用升级和系统升级,应用升级只针对某个具体的应用,如QQ,安全卫士等;系统升级针对设备的操作系统和应用,不仅更新具体的应用也更新整个系统。这两种升级都是保证用户获得最新操作体验的方式,但不管是应用升级还是系统升级,其核心用户体验是都不能删除用户数据。但FOTA (Firmware Over-the_Air,无线固件升级)升级中存在升级后个别应用因为用户数据库格式不兼容报错,导致用户无法使用的情况。比如手机桌面布局,升级前用户自己下载了一些应用如微博、QQ等,并把这些应用的图标放到主界面上,作为用户数据保存在数据库中,FOTA升级时不会升级这些存有用户数据的数据库。但升级后的手机桌面布局这个应用要用到新的数据库,新的数据库格式和原来的不一样,获取数据时就会报错,这就导致手机桌面布局这个应用无法使用。

[0005]目前解决这种数据库不兼容的技术方案是,升级时把不兼容应用的数据库清除掉,这样可以保证升级后应用能正常使用,如前面的手机桌面布局,就会把原来的数据库删掉,重新加载新版本的数据库。这样原数据库中用户的数据就会遭到破坏,如升级前用户下载的微博和QQ应用升级后就消失了,致使很多用户不相信升级,不敢去升级,这就违背了升级的初衷。

发明内容

[0006] 本发明提供一种基于数据兼容的软件升级方法、客户端、服务器及系统,用以解决现有技术采用的数据库兼容解决方案破坏用户数据,影响用户使用的问题。

[0007] 依据本发明的一个方面,提供了一种基于数据兼容的软件升级方法,包括:

[0008] 获取软件升级时存在数据库兼容问题的应用,当软件升级后,将各所述应用的原数据库内的数据拷贝到预先获取的与升级版本兼容的新版数据库中,并将原数据库删除。

[0009] 可选地,本发明所述方法中,通过接收服务器侧下发的指示消息,获取升级时存在数据库兼容问题的应用。

[0010] 可选地,本发明所述方法中,在软件升级后,提取服务器侧下发的与各所述应用对应且兼容升级版本的新版数据库和操作脚本信息,根据所述操作脚本的操作指示,将各所述应用的原数据库内的数据拷贝到对应的新版数据库中,并将原数据库删除。

[0011] 依据本发明的另一个方面,提供了一种客户端,包括:

[0012] 信息获取模块,用于获取软件升级时存在数据库兼容问题的应用;

[0013] 兼容处理模块,用于当软件升级后,将各所述应用的原数据库内的数据拷贝到预先获取的与升级版本兼容的新版数据库中,并将原数据库删除。

[0014] 可选地,本发明所述客户端中,所述信息获取模块,具体用于接收服务器侧下发的指示消息,根据所述指示消息获取升级时存在数据库兼容问题的应用。

[0015] 可选地,本发明所述客户端中,所述兼容处理模块,具体用于在软件升级后,提取服务器侧下发的与各所述应用对应且兼容升级版本的新版数据库和操作脚本信息,根据所述操作脚本的操作指示,将各所述应用的原数据库内的数据拷贝到对应的新版数据库中,并将原数据库删除。

[0016] 再者,本发明还提供一种服务器,包括:

[0017] 测试模块,用于利用待发布的软件升级包进行升级测试,得到软件升级时存在数据库兼容问题的应用,并将得到的应用信息发送至客户端;

[0018] 处理模块,用于针对软件升级时存在数据库兼容问题的各应用,提取对应的新版数据库,并将所述新版数据库信息发送至客户端。

[0019] 可选地,本发明所述服务器中,所述处理模块,进一步用于在提取对应的新版数据库时,制作操作脚本,并将所述操作脚本协同所述新版数据库信息一同发送至客户端;其中,所述操作脚本用以指导客户端利用新版数据库进行数据兼容处理。

[0020] 可选地,本发明所述服务器中,所述测试模块,将得到的应用信息封装在软件升级包中发送至所述客户端;或者,将得到的应用信息以独立消息的方式发送至所述客户端;

[0021] 所述处理模块,将提取的新版数据库信息封装在软件升级包中发送至所述客户端;或者,将提取的新版数据库信息以独立消息的方式发送至所述客户端。

[0022] 再者,本发明还提供一种基于数据兼容的软件升级系统,包括:本发明提供的服务器和客户端。

[0023] 本发明有益效果如下:

[0024] 本发明所述方案在进行升级前,会将升级时可能存在数据兼容问题的应用通知给客户端,使得客户端在进行升级时,针对相应兼容问题的应用,将客户端的原数据库更新为从服务器侧获取的最新数据库,并把原数据库中的数据导入到新数据库中,做到了升级但不破坏用户数据,很好的解决了升级后数据库不兼容的问题。

附图说明

[0025] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

[0026] 图1为本发明提供的一种基于数据兼容的软件升级方法的流程图;

[0027] 图2为本发明中DD文件格式示意图;

[0028] 图3为本发明所述应用示例实现软件升级的流程图;

[0029] 图4为本发明中客户端解析DD文件的解析流程图;

[0030] 图5为本发明提供的一种客户端的结构框图;

[0031] 图6为本发明提供的一种服务器的结构框图。

具体实施方式

[0032] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

[0033] 为了解决现有技术采用的数据库兼容解决方案破坏用户数据,影响用户使用的问题,本发明实施例提供一种基于数据兼容的软件升级方法、客户端、服务器及系统。本发明通过将存在数据库不兼容的具体应用告知客户端,使得客户端在升级后能够进行新版数据库的替换以及用户数据的复制动作,实现了在不破坏用户数据的情况下,完成软件升级。下面就通过几个具体实施例对本发明的详细实施过程进行阐述。

[0034] 实施例一

[0035] 本发明实施例提供一种基于数据兼容的软件升级方法,如图1所示,包括:

[0036] 步骤S101,获取软件升级时存在数据库兼容问题的应用;

[0037] 可选地,该步骤中,通过接收服务器侧下发的指示消息,获取升级时存在数据库兼容问题的应用。

[0038] 其中,服务器下发指示消息的方式包括但不限于为:服务器通过将指示消息封装在软件升级包中,实现对指示消息的下发;或者,服务器将指示消息以独立消息的方式下发。

[0039] 其中,以独立消息的方式下发时,优选地,将存在数据库兼容问题的应用信息通过fumo协议报文中的DD文件发送。也就是说,在服务器与客户端进行升级前的会话时,服务器将存在数据库兼容问题的应用添加在DD文件中,以实现对存在数据库兼容问题的应用进行下发。

[0040] 步骤S102,当软件升级后,将各所述应用的原数据库内的数据拷贝到预先获取的与升级版本兼容的新版数据库中,并将原数据库删除。

[0041] 优选地,当软件升级后,提取服务器侧下发的与各所述应用对应且兼容升级版本的新版数据库和操作脚本信息,根据所述操作脚本的操作指示,将各所述应用的原数据库内的数据拷贝到对应的新版数据库中,并将原数据库删除。也就是说,服务器侧在下发新版数据库信息时,还携带一个执行脚本,以告知客户端按照执行脚本的操作指示对存在数据库兼容问题的应用进行处理。该处理方式中,由于具体的操作已经在操作脚本中标注,所以客户端只要按操作脚本执行即可,实现了在对客户端最小改动的前提下,解决升级数据库兼容问题。

[0042] 其中,服务器下发新版数据库和操作脚本信息的方式包括但不限于为:服务器通过将新版数据库和操作脚本信息封装在软件升级包中,实现对新版数据库和操作脚本信息的下发;或者,服务器将新版数据库和操作脚本信息以独立消息的方式下发。

[0043] 基于上述实施过程,下面给出一具体的应用示例,该应用示例给出一些具体的实施方式,用以更清楚的阐述本发明。具体涉及如下内容:

[0044] 服务器在发布软件升级包前会进行升级测试,根据测试结果,获取升级时存在数据库兼容问题的应用。对于存在兼容问题的各应用提取新版数据库并制作对应的操作脚本。

[0045] 本应用示例中,服务器利用DD文件来标示是否有应用存在数据库不兼容的情况以及具体的应用,以及将新版数据库和对应的操作脚本封装在软件升级包中下发至客户端。

[0046] 其中,DD文件的格式包括但不限于图2所示的情况,具体的,把DD文件中的descript1n字段的第一个字节用来描述本次升级中是否存在数据库不兼容的应用以及具体的应用名称,用一位来标示是否有数据库不兼容的情况,剩余七位来标示具体的数据库不兼容的应用。

[0047] 如图3所示,本应用示例实现软件升级的流程包括:

[0048] 步骤SlOl:客户端和服务器发起会话。其中,会话可以由服务器先发起,也可由客户端先发起。

[0049] 步骤S102:服务器向客户端下发DD文件。

[0050] 步骤S103:客户端下载并解析DD文件,记录存在兼容问题的应用。

[0051] 其中,客户端解析DD文件的流程,如图4所示,具体包括:

[0052] (I)读取describle字段的第一个字节;

[0053] (2)判断该字节的第一位是否为I ;

[0054] (3)第一位为1,存在应用数据不兼容的情况,读取后面的7位,保存。

[0055] (4)第一位为O,不存在应用数据不兼容的情况,略过后面的7位。

[0056] 步骤S104:客户端下载软件升级包。

[0057] 步骤S105:客户端从软件升级包中提取出操作脚本和新版数据库。

[0058] 步骤S106:客户端执行升级。

[0059] 步骤S107:升级完成后,执行操作脚本,根据操作脚本的操作指示替换新版数据库,并把原数据库的数据导入到新版数据库中,使得在达到兼容的同时不破坏用户数据。

[0060] 步骤S108:升级过程结束,客户端给服务器上报升级状态。

[0061] 也就是说,当经过测试发现升级后某个应用由于数据库不兼容导致报错,就会把该应用记录下来,并且提取新版本的数据库和制作一个数据库替换的脚本,然后在把软件升级包上传到服务器上时,在DD中注明本次升级有数据不兼容的错误和记录应用的名称,并且在软件升级包中把新版本的数据库和操作脚本放进去。当客户端设备发起升级时,下载DD文件后,解析DD中这个字段,记录要更新数据库的应用名称。当升级包下载完成后,把里面的新版本数据库和操作脚本提取出来,在完成升级后,执行操作脚本,操作脚本包含替换新数据库、把原来的数据导入到新数据库中等动作。

[0062] 实施例二

[0063] 与实施例一相对应,本发明实施例提供一种客户端,如图5所示,包括:

[0064] 信息获取模块510,用于获取软件升级时存在数据库兼容问题的应用;

[0065] 兼容处理模块520,用于当软件升级后,将各应用的原数据库内的数据拷贝到预先获取的与升级版本兼容的新版数据库中,并将原数据库删除。

[0066] 可选地,本实施例中,信息获取模块510,通过接收服务器侧下发的指示消息,根据所述指示消息获取升级时存在数据库兼容问题的应用。

[0067] 其中,服务器下发指示消息的方式包括但不限于为:服务器通过将指示消息封装在软件升级包中,实现对指示消息的下发;或者,服务器将指示消息以独立消息的方式下发。

[0068] 其中,以独立消息的方式下发时,优选地,将存在数据库兼容问题的应用信息通过fumo协议报文中的DD文件发送。也就是说,在服务器与客户端进行升级前的会话时,服务器将存在数据库兼容问题的应用添加在DD文件中,以实现对存在数据库兼容问题的应用进行下发。

[0069] 可选地,本实施例中,兼容处理模块520,在软件升级后,提取服务器侧下发的与各所述应用对应且兼容升级版本的新版数据库和操作脚本信息,根据所述操作脚本的操作指示,将各所述应用的原数据库内的数据拷贝到对应的新版数据库中,并将原数据库删除。也就是说,服务器侧在下发新版数据库信息时,还携带一个执行脚本,以告知客户端按照执行脚本的操作指示对存在数据库兼容问题的应用进行处理。该处理方式中,由于具体的操作已经在操作脚本中标注,所以客户端只要按操作脚本执行即可,实现了在对客户端最小改动的前提下,解决升级数据库兼容问题。

[0070] 其中,服务器下发新版数据库和操作脚本信息的方式包括但不限于为:服务器通过将新版数据库和操作脚本信息封装在软件升级包中,实现对新版数据库和操作脚本信息的下发;或者,服务器将新版数据库和操作脚本信息以独立消息的方式下发。

[0071] 综上所述,本实施例中通过将存在数据库不兼容的具体应用告知客户端,使得客户端在升级后能够进行新版数据库的替换以及用户数据的复制动作,做到了升级但不破坏用户数据,很好的解决了升级后数据库不兼容的问题。

[0072] 实施例三

[0073] 本发明实施例提供一种服务器,如图6所示,包括:

[0074] 测试模块610,用于利用待发布的软件升级包进行升级测试,得到软件升级时存在数据库兼容问题的应用,并将得到的应用信息发送至客户端;

[0075] 处理模块620,用于针对软件升级时存在数据库兼容问题的各应用,提取对应的新版数据库,并将所述新版数据库信息发送至客户端。

[0076] 优选地,本实施例中,处理模块620,在提取对应的新版数据库时,还制作操作脚本,并将所述操作脚本协同所述新版数据库信息一同发送至客户端;其中,所述操作脚本用以指导客户端利用新版数据库进行数据兼容处理。

[0077] 进一步地,本实施例中,测试模块610可以但不限于将得到的应用信息封装在软件升级包中发送至所述客户端;或者,将得到的应用信息以独立消息的方式发送至所述客户端;

[0078] 进一步地,本实施例中,处理模块620可以但不限于将提取的新版数据库信息封装在软件升级包中发送至所述客户端;或者,将提取的新版数据库信息以独立消息的方式发送至所述客户端。

[0079] 实施例四

[0080] 本发明实施例提供一种基于数据兼容的软件升级系统,所述系统包括实施例二所述的客户端,以及实施例三所述的服务器,因此本实施例也能实现相应的有益技术效果,由于前文已经进行了详细的说明,所以此处不再赘述。

[0081] 上述说明示出并描述了本发明的优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

附图:





0 0
原创粉丝点击