一种c/s系统结构的软件系统更新方法
【技术领域】
[0001]本发明涉及一种软件系统更新方法,具体涉及的是一种C/S系统结构的软件系统更新方法。
【背景技术】
[0002]在客户端软件升级中,经常遇到数据库的结构发生变化需要迀移,配置文件结构发生变化需要迀移,文件存储结构发生变化需要迀移。数据库变更之后通常遇到如下情况:数据库结构发生增删、数据库数据需要移动、数据库数据需要更改、以及以上几种情况的混合;配置文件结构变更之后通常遇到如下情况:配置文件结构发生增删、配置文件数据需要移动、配置文件据需要更改、以及以上几种情况的混合。
[0003]而在软件更新发布中,由于软件结构相对稳定的原因,即数据库、配置文件、文件存储结构相对稳定,因此基本采用覆盖文件的方式去进行功能的升级。这种升级相对来说是一种相当理想的方式,但而很多时候这种理想方式并非我们所能遇到的。如:在现实生活中软件程序由于存在有脱机运行的功能,进而导致用户在使用过程中不一定联机而及时获得升级版本,因此造成了用户使用中需要升级时,该软件程序可能已经历经了若干个版本的情况。
[0004]对于设计成熟的软件来说,大规模的发布更新甚至导致库结构、配置文件异构的情况几乎很少出现,如果有且仅有一个发布版本存在,软件更新通常相对简单。但在相对更大规模的产品线而言,当软件程序已经历经了若干个版本的情况下,则会存在数据库、配置文件异构的情况。
【发明内容】
[0005]本发明的目的在于解决更新过程中数据库结构新旧不一致,导致数据库、配置文件异构的问题;提供一种解决上述问题的一种C/S系统结构的软件系统更新方法。
[0006]为达到上述目的,本发明的技术方案如下:
一种C/S系统结构的软件系统更新方法,包括以下步骤:
(1)启动客户端,并启动客户端升级查询请求;
(2)服务器查询客户端的版本范围,并根据该版本范围查询出适合的最新更新版本;确认是否更新,如果更新则进入下一步,如果不更新则进入客户端操作平台;
(3)客户端根据服务器查询结果查询出最新更新版本的下载地址,并确认是否下载,如果确认下载则进行下一步,如果不下载则返回到客户端操作平台;
(4)下载最新更新版本的更新包、更新程序,并保存该文件;
(5)关闭客户端,启动更新程序,从而实现客户端的更新操作。
[0007]升级是一个过程,它针对特定的版本做特定的操作以达成新文件替换老文件,老数据老配置进行结构化变更的一个操作。本发明采用渐近的方式帮助老程序进行更新,即针对特定版本范围指定升级到特定版本,升级完成后再向指定版本升级的方式来一步一步将客户手中的软件升级到最新版本,使软件的升级更为稳妥,保证用户数据、文件的延续性和完整性;该方式使客户端软件具有脱机应用功能,即可应用在较长时间内客户端不会连接网络的应用升级场景中。尽管采用本发明的升级方法可能使更老的版本需要多次升级才能到最新版本,但是少去了某个版本针对老版本的更新方式的维护开销。
[0008]上述特定版本范围是指:该版本范围内软件版本的数据库结构、配置文件结构、文件存储结构未发生过变化。
[0009]进一步,所述步骤(4)的更新包中包含数据库结构、配置文件结构、需要更新的其他文件的压缩包;所述步骤(4)中的更新程序为针对特定版本范围进行更新操作的应用程序。
[0010]更进一步,所述步骤(5)中客户端的更新操作过程包括:
数据库迀移,配置文件迀移,文件存储结构迀移,文件的增删与复制替换。
[0011]为了达到最好的更新效果,所述更新包结构设计为包含两个目录:update和file;Update目录中放置数据库脚本与其他用于指导的配置更新文件。
[0012]优选地,所述数据库迀移过程为:采用数据库脚本形式写入数据库所有变更,更新程序对数据库脚本予以执行。
[0013]优选地,所述配置文件迀移过程为:将变更后的文件内容保存于更新包对应位置,根据配置更新文件,对于需要变更或迀移的字段用更新程序进行修改并替换当前客户端中配置文件。
[0014]本发明与现有技术相比,具有以下优点及有益效果:
1、本发明采用渐近式升级的方式,一步一步将客户手中的软件升级到最新版本,有效保证用户数据、文件的延续性和完整性;
2、通过本发明的升级方式有效使软件的升级更为稳妥,尽管可能更老的版本要多次升级才能到最新版本,但是少去了某个版本针对老版本的更新方式的维护开销。
【具体实施方式】
[0015]下面结合实施例,对本发明作进一步地详细说明,但本发明的实施方式不限于此。实施例
[0016]—种C/S系统结构的软件系统更新方法,包括常规整个客户端的升级过程,SP: 首先,通过当前客户端版本Vl请求获得可升级的最高版本V2;
其次,获取V2的更新程序、更新包下载地址,并下载更新程序与更新包;
最后,使用更新程序对当前客户端版本Vl进行升级,即实现数据库迀移、配置文件迀移、文件存储结构迀移、文件的增删与复制替换。
[0017]上述升级过程中,该更新程序:用于对当前版本进行更新的程序包,该程序包为针对特定版本范围进行更新操作的应用程序;该更新包:包含新数据库结构、配置文件结构、需要更新的其他文件的压缩包。
[0018]特定版本范围的范围值为:该范围内软件版本的数据库结构、配置文件结构、文件存储结构未发生过变化。
[0019]通过将上述更新程序放置于服务器上,即可为特定版本范围的客户端升级到指定的版本,进而实现渐近式升级的目的,一步一步有效将客户手中的软件升级到最新版本。
[0020]一种C/S系统结构的软件系统更新方法的具体过程为:
(1)启动客户端,并启动客户端升级查询请求;
(2)服务器查询客户端的版本范围,并根据该版本范围查询出适合的最新更新版本;确认是否更新,如果更新则进入下一步,如果不更新则进入客户端操作平台;
(3)客户端根据服务器查询结果查询出最新更新版本的下载地址,并确认是否下载,如果确认下载则进行下一步,如果不下载则返回到客户端操作平台;
(4)下载最新更新版本的更新包、更新程序,并保存该文件;
(5)关闭客户端,启动更新程序,从而实现客户端的更新操作;
该更新操作过程包括:
数据库迀移,配置文件迀移,文件存储结构迀移,文件的增删与复制替换。
[0021]即采用数据库脚本形式写入数据库所有变更,更新程序对数据库脚本予以执行。将变更后的文件内容保存于更新包对应位置,根据配置更新文件,对于需要变更或迀移的字段用更新程序进行修改并替换当前客户端中配置文件。
[0022]上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而作出的变化,均应属于本发明的保护范围之内。
【主权项】
1.一种C/S系统结构的软件系统更新方法,其特征在于,包括以下步骤: (1)启动客户端,并启动客户端升级查询请求; (2)服务器查询客户端的版本范围,并根据该版本范围查询出适合的最新更新版本;确认是否更新,如果更新则进入下一步,如果不更新则进入客户端操作平台; (3)客户端根据服务器查询结果查询出最新更新版本的下载地址,并确认是否下载,如果确认下载则进行下一步,如果不下载则返回到客户端操作平台; (4)下载最新更新版本的更新包、更新程序,并保存该文件; (5)关闭客户端,启动更新程序,从而实现客户端的更新操作。2.根据权利要求1所述的一种C/S系统结构的软件系统更新方法,其特征在于,所述步骤(4)的更新包中包含数据库结构、配置文件结构、需要更新的其他文件的压缩包;所述步骤(4)中的更新程序为针对特定版本范围进行更新操作的应用程序。3.根据权利要求2所述的一种C/S系统结构的软件系统更新方法,其特征在于,所述步骤(5)中客户端的更新操作过程包括: 数据库迀移,配置文件迀移,文件存储结构迀移,文件的增删与复制替换。4.根据权利要求3所述的一种C/S系统结构的软件系统更新方法,其特征在于,所述更新包中包含两个目录:update和file;Update目录中放置数据库脚本与其他用于指导的配置更新文件。5.根据权利要求4所述的一种C/S系统结构的软件系统更新方法,其特征在于,所述数据库迀移过程为:采用数据库脚本形式写入数据库所有变更,更新程序对数据库脚本予以执行。6.根据权利要求4所述的一种C/S系统结构的软件系统更新方法,其特征在于,所述配置文件迀移过程为:将变更后的文件内容保存于更新包对应位置,根据配置更新文件,对于需要变更或迀移的字段用更新程序进行修改并替换当前客户端中配置文件。
【专利摘要】本发明公开的是一种C/S系统结构的软件系统更新方法,解决了更新过程中数据库结构新旧不一致,导致数据库、配置文件异构的问题。本发明包括:(1)启动客户端,并启动客户端升级查询请求;(2)服务器查询客户端的版本范围,并查询出适合的最新更新版本;确认是否更新,如果更新则进入下一步,如果不更新则进入客户端操作平台;(3)查询出最新更新版本的下载地址,并确认是否下载,如果确认下载则进行下一步,如果不下载则返回到客户端操作平台;(4)下载最新更新版本的更新包、更新程序,并保存;(5)关闭客户端,启动更新程序实现客户端的更新。本发明具有有效保证更新后用户数据、文件的延续性和完整性的优点。
【IPC分类】G06F9/445
【公开号】CN105677425
【申请号】CN201610016258
【发明人】连接力, 黄冠铭
【申请人】四川文轩教育科技有限公司
【公开日】2016年6月15日
【申请日】2016年1月12日