一种软件系统更新框架的制作方法

文档序号:11949631阅读:195来源:国知局

本发明涉及软件系统技术领域,特别是一种软件系统更新框架。



背景技术:

软件的发展十分迅速,一个版本可能在一周之内就需要被替代,这种版本快速迭代已经成为常态。

软件提供商在提供软件系统给最终用户使用之后,可能在最初的一段时间里经常需要对系统进行BUG修复、数据库修改、功能新增等一系列的更新操作。一般的软件提供商实现更新操作的方法有:

方法一:远程到最终用户的生产环境手动进行系统更新。

方法二:对每个用户的更新操作都制作一个更新包,并分别发送给各个用户,然后手把手教会每一个用户去更新自己的软件系统。

以上方法虽然都可以解决软件系统的更新,但是存在如下弊端:

1、更新过程繁琐,软件系统提供商需要维护每一个系统用户的更新升级,如果用户量很大,这个过程是不可接受的;

2、用户体验差,用户在使用软件系统的过程中可能需要频繁的进行软件更新,并且这个过程用户自己不可控。

为了降低软件提供商的软件更新繁琐过程,同时提高最终用户的体验度,需要一种新的软件系统更新框架,以解决前述的问题。



技术实现要素:

本发明解决的技术问题在于提出一种软件系统更新框架,可以降低软件提供商的软件更新繁琐过程,同时提高最终用户的体验度。

本发明解决上述技术问题的技术方案是,所述的框架包括前端模块、后台服务、FTP服务器和特征文件;

所述的前端模块用于与系统用户的交互,主要实现软件系统的版本展现,提供接口给系统用户触发系统版本更新过程;

所述的后台服务主要实现扫描并下载软件系统升级包,执行系统版本更新,特征文件的维护;

所述的特征文件是指一个特定的普通文件,前端模块和后台服务都会定时读取或者写入该文件里面的指定字段,两者通过这些指定字段实现信息的交互;

所述的FTP服务器只是一个存储更新包的典型代表,也可以是云盘;用于存放软件系统更新包,并接收后台服务的扫描和下载。

所述的版本展现包括显示软件系统当前版本信息,是否有最新版本可供升级等;

所述的触发系统版本更新过程是指用户向后台服务模块发送了升级更新软件系统的请求。

所述的软件系统升级包是一个指定格式的包文件,该文件里面包含有软件系统更新升级所需要的所有文件,以及一个自动安装脚本和一个软件更新脚本文件。

所述的执行系统版本更新是指接收前端用户发送的系统更新请求并执行上述软件更新脚本文件。

所述的特征文件维护主要包括:

后台服务发现有软件系统新版本时,则下载更新包并修改特征文件中的state字段为downloaded,并将新版本的版本号等信息记录到特征文件相应字段;

前端模块扫描特征文件发现state字段为downloaded,则展示系统可更新,并同时展示新的版本信息;

前端模块当用户进行了更新升级操作后,触发事件将特征文件的state字段修改为ready;

后台服务接收前端模块的系统更新请求、读取特征文件的state字段并判断,若为ready则执行更新脚本,更新之后修改特征文件中的state字段为restarted,同时修改其他相应字段。

本发明方案的有益效果如下:

1、提供一种简单而通用的框架,用以实现软件系统更新的简单化,降低软件提供商的软件更新繁琐过程,同时提高软件系统最终用户的体验度。

2、本发明的框架适用于几乎所有的软件系统,对于现有软件系统只需要进行简单的扩展即可实现。

附图说明

下面结合附图对本发明进一步说明:

图1为本发明的模块图。

具体实施方式

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

请参见图1,为本发明实施例所提供的一种软件系统更新框架的模块图。本发明在实现过程中设计了一个软件系统升级包的格式如下:

typ包类型_cut客户代号_ver包版本_md5校验码.zip

其中,包类型可以是不用的软件系统子模块,如门户,实现端等等;客户代号则是代表每一个软件系统的最终用户;包版本是指该升级包的版本号,可以以时间标识;md5校验码用于更新包的完整性校验。

更新升级包里面包含自动安装脚本,如install.sh,用户环境下载升级包后会自动执行该脚本。

软件系统提供商针对特定用户指定好升级更新包之后,将其上传到FTP服务器等存储池进行存放。

同时本发明在实现过程中设计了一个包含如下类似内容的特征文件:

version=20160112

date=20160112

type=portal

state=restarted

needrestart=0

用户环境运行的后台服务定时扫描FTP服务器,若发现存在适用于本地的软件更新包则下载。下载更新包后执行更新包里面的install.sh脚本,该脚本负载修改特征文件的相应字段,例如修改state=downloaded,视更新包特性修改needrestart=1等。

前端模块在用户进入到系统更新页面时会触发一个事件,该事件读取特征文件的state字段,若为downloaded,则表示存在新的更新包,事件会进一步读取特征文件的其他字段(如是否需要重启服务字段needrestart)并返回到页面进行展示,以提示用户可以进行软件系统的更新操作。

用户点击软件更新并向后台服务发送请求,该过程会触发修改特征文件的state字段为ready。

后台服务在扫描特征文件的状态字段为ready后则执行更新升级包中的自动升级脚本,如update.sh,完成用户软件系统的更新升级。升级脚本视不同用户不同更新包而不同,升级脚本执行成功后会修改特征文件中的state字段为restarted,以便被前端模块读取展示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1