软件数据储存、升级方法、装置、设备和存储介质制造方法及图纸

技术编号:21798589 阅读:41 留言:0更新日期:2019-08-07 10:22
本申请实施例提供了一种软件数据储存、升级方法、装置、设备和存储介质,以减少软件版本升级过程中对资源的消耗。所述的软件数据储存方法包括:针对软件,确定第一版本的安装包和第二版本的安装包的差异内容,其中,所述第一版本为第二版本的升级版本;创建所述差异内容的快照数据;依据所述差异内容的快照数据,对所述软件的第一版本进行存储。能够减少对重复数据的存储,减少对服务端存储空间的占用,减少资源的消耗。

Software Data Storage and Upgrade Method, Device, Equipment and Storage Media

【技术实现步骤摘要】
软件数据储存、升级方法、装置、设备和存储介质
本申请涉及计算机
,特别是涉及一种软件数据存储方法和装置,一种软件升级方法和装置,一种服务器、一种终端设备以及一种存储介质。
技术介绍
随着终端技术的不断发展,用户的生活越来越离不开终端设备,如通过平板电脑看书、看视频、玩游戏,通过手机线上、线下购物等。相应的,终端设备中可以安装各种软件程序如应用程序(Application,APP),辅助用户执行所需的各种操作。软件程序安装在终端设备后,也会不断的迭代更新,以更好的提供功能。在软件程序进行升级时,可以采用全量升级方式,即下载整个安装包进行软件升级,这样有些数据在新、旧版本中是重复的,造成了资源的浪费。因此还可以采用增量升级方式,即服务器会把旧版本的安装包和新版本的安装包进行二进制比较,得到对应的差分包。终端设备获取到差分包后,采用差分包和本地旧版本的安装包合并,得到新版本的安装包,然后按照该新版本的安装包。但是,采用增量升级方式时,服务器端需要为每个差异版本生成差分包,版本越高,需要生成的差分包越多,消耗时间,维护版本会越来越复杂,存储空间也会越来越大。
技术实现思路
本申请实施例所要解决的技术问题是提供一种软件数据存储方法,以减少软件版本升级过程中对资源的消耗。相应的,本申请实施例还提供了一种软件数据存储装置、一种软件升级方法和装置、一种服务器、一种终端设备和一种存储介质,用以保证上述方法的实现及软件。为了解决上述问题,本申请实施例公开了软件数据存储方法,包括:针对软件,确定第一版本的安装包和第二版本的安装包的差异内容,其中,所述第一版本为第二版本的升级版本;创建所述差异内容的快照数据;依据所述差异内容的快照数据,对所述软件的第一版本进行存储。本申请实施例还公开了一种软件的升级方法,包括:接收升级请求,所述升级请求包括版本信息;依据所述版本信息,确定快照数据;依据所述快照数据获取差异内容,生成对应的升级包并发送所述升级包,其中,所述差异内容依据软件不同版本的安装包确定。本申请实施例还公开了一种软件的升级方法,包括:发送升级请求,所述升级请求包括软件的版本信息;获取所述升级请求对应的升级包,其中,所述升级包包括:所述软件至少两个不同版本的安装包的差异内容的快照数据;在所述软件的安装包对应的存储位置写入所述升级包的数据。本申请实施例还公开了一种软件的升级方法,包括:检测软件对应已升级版本的安装包出现设定问题后,确定软件升级前的版本;确定所述安装包中已升级版本对应升级数据的存储位置,以及所述升级前的版本对应的数据;将所述升级前的版本对应的数据回滚到对应存储位置,得到升级前的版本的安装包。本申请实施例还公开了一种软件数据存储装置,包括:差异确定模块,用于针对软件,确定第一版本的安装包和第二版本的安装包的差异内容,其中,所述第一版本为第二版本的升级版本;快照创建模块,用于创建所述差异内容的快照数据;存储模块,用于依据所述差异内容的快照数据,对所述软件的第一版本进行存储。本申请实施例还公开了一种软件的升级装置,包括:请求接收模块,用于接收升级请求,所述升级请求包括版本信息;快照确定模块,用于依据所述版本信息,确定快照数据;安装包生成模块,用于依据所述快照数据获取差异内容,生成对应的升级包并发送所述升级包,其中,所述差异内容依据软件不同版本的安装包确定。本申请实施例还公开了一种软件的升级装置,包括:请求发送模块,用于发送升级请求,所述升级请求包括软件的版本信息;升级包获取模块,用于获取所述升级请求对应的升级包,其中,所述升级包包括:所述软件至少两个不同版本的安装包的差异内容的快照数据;升级模块,用于在所述软件的安装包对应的存储位置写入所述升级包的数据。本申请实施例还公开了一种软件的升级装置,包括:版本查询模块,用于检测软件对应已升级版本的安装包出现设定问题后,确定软件升级前的版本;数据获取模块,用于确定所述安装包中已升级版本对应升级数据的存储位置,以及所述升级前的版本对应的数据;数据回滚模块,用于将所述升级前的版本对应的数据回滚到对应存储位置,得到升级前的版本的安装包。本申请实施例还公开了一种服务器,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的软件数据存储方法。本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中一个或多个所述的软件数据存储方法。本申请实施例还公开了一种服务器,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的软件的升级方法。本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中一个或多个所述的软件的升级方法。本申请实施例还公开了一种终端设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的软件数据存储方法。本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中一个或多个所述的软件数据存储方法。本申请实施例还公开了一种终端设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的软件数据存储方法。本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中一个或多个所述的软件数据存储方法。本申请实施例还公开了一种用于终端设备的操作系统,包括:升级请求单元,发送升级请求,所述升级请求包括软件的版本信息;升级单元,升级包获取模块,用于获取所述升级请求对应的升级包,其中,所述升级包包括:所述软件至少两个不同版本的安装包的差异内容的快照数据;在所述软件的安装包对应的存储位置写入所述升级包的数据。与现有技术相比,本申请实施例包括以下优点:在本申请实施例中,可确定软件第一版本的安装包和第二版本的安装包的差异内容,其中,所述第一版本为第二版本的升级版本,然后依据所述差异内容创建差异内容的快照数据,再依据所述差异内容的快照数据,对所述软件的第一版本进行存储,从而减少对重复数据的存储,减少对服务端存储空间的占用,减少资源的消耗。附图说明图1是本申请实施例的一种软件管理示意图;图2是本申请实施例中存储一款软件各版本数据的示意图;图3是本申请实施例中软件升级示意图;图4是本申请实施例中软件各版本快照示意图;图5是本申请实施例中软件的全量安装包处理示意图;图6是本申请实施例中软件升级回滚的示意图;图7是本申请的一种软件数据存储方法实施例的步骤流程图;图8是本申请实施例中软件升级存储示意图;图9是本申请的一种软件升级方法实施例中服务端的步骤流程图;图10是本申请的一种软件升级方法实施例终端设备侧的步骤流程图;图11是本申请实施例中软件升级中数据迁移示意图;图12本申请的一种软件版本回退方法实施例的步骤流程图;图13是本申请实施例中一种示例的软件系统架构示意图;本文档来自技高网...

【技术保护点】
1.一种软件数据存储方法,其特征在于,包括:针对软件,确定第一版本的安装包和第二版本的安装包的差异内容,其中,所述第一版本为第二版本的升级版本;创建所述差异内容的快照数据;依据所述差异内容的快照数据,对所述软件的第一版本进行存储。

【技术特征摘要】
1.一种软件数据存储方法,其特征在于,包括:针对软件,确定第一版本的安装包和第二版本的安装包的差异内容,其中,所述第一版本为第二版本的升级版本;创建所述差异内容的快照数据;依据所述差异内容的快照数据,对所述软件的第一版本进行存储。2.根据权利要求1所述的方法,其特征在于,所述针对软件,确定第一版本的安装包和第二版本的安装包的差异内容,包括:针对软件,读取第一版本的安装包和第二版本的安装包的差异内容;将所述差异内容写入物理地址对应的内存空间中,并确定所述差异内容的逻辑地址。3.根据权利要求2所述的方法,其特征在于,确定所述差异内容的逻辑地址,包括:按照所述差异内容确定至少一个区间的逻辑地址,将所述逻辑地址和差异内容对应的物理地址关联。4.根据权利要求3所述的方法,其特征在于,所述创建差异内容的快照数据,包括:确定所述差异内容所在的至少一个区间,创建所述差异内容所在区间对应的快照数据。5.根据权利要求4所述的方法,其特征在于,所述创建所述差异内容所在区间对应的快照数据,包括:确定所述差异内容所在区间对应的快照编号,并将所述快照编号和所述差异内容所在区间对应的逻辑地址关联,生成快照数据。6.根据权利要求4所述的方法,其特征在于,所述依据所述差异内容的快照数据,对所述软件的第一版本进行存储,包括:在所述软件的第一版本的索引中记录所述快照编号。7.一种软件的升级方法,其特征在于,包括:接收升级请求,所述升级请求包括版本信息;依据所述版本信息,确定快照数据;依据所述快照数据获取差异内容,生成对应的升级包并发送所述升级包,其中,所述差异内容依据软件不同版本的安装包确定。8.根据权利要求7所述的方法,其特征在于,所述版本信息包括:安装版本的版本号;所述差异内容为升级版本和所述安装版本的差异内容。9.根据权利要求8所述的方法,其特征在于,所述依据所述版本信息,确定快照数据,包括:依据升级版本的版本号和安装版本的版本号,确定版本差值;依据所述版本差值获取对应的快照数据。10.根据权利要求9所述的方法,其特征在于,所述依据所述版本差值获取对应的快照数据,包括:若所述版本差值为1,则从所述软件的升级版本的索引中查询快照编号。11.根据权利要求9所述的方法,其特征在于,所述依据所述版本差值获取对应的快照数据,包括:若版本差值大于1,则从所述升级版本的版本号开始,查询到目标版本的版本号,从升级版本的索引到目标版本的索引中依次查询快照编号,其中,所述目标版本的版本号与所述安装版本的版本号的版本差值为1。12.根据权利要求10或11所述的方法,其特征在于,所述依据所述快照数据获取差异内容,生成对应的升级包,包括:依据所述快照编号确定对应区间的逻辑地址;依据所述逻辑地址确定所述差异内容的物理地址,从所述物理地址中获取数据;采用获取的数据和快照编号生成对应的升级包。13.根据权利要求7所述的方法,其特征在于,还包括:接收针对全量安装包的数据请求;依据全量安装包对应的版本号,采用各版本对应的快照数据构成全量安装包。14.根据权利要求13所述的方法,其特征在于,所述依据全量安装包的版本号,采用各版本对应的增量的快照数据构成全量安装包,包括:从所述全量安装包的版本号开始查询到设定版本,从所述全量安装包对应版本的索引到所述设定版本的索引中依次获取快照数据的快照编号;依据所述快照编号确定对应区间的逻辑地址,依据所述逻辑地址确定物理地址;从所述物理地址中获取数据,生成全量安装包。15.一种软件的升级方法,其特征在于,包括:发送升级请求,所述升级请求包括软件的版本信息;获取所述升级请求对应的升级包,其中,所述升级包包括:所述软件至少两个不同版本的安装包的差异内容的快照数据;在所述软件的安装包对应的存储位置写入所述升级包的数据。16.根据权利要求15所述的方法,其特征在于,所述在所述软件的安装包对应的存储位置写入所述升级包的数据,包括:依据所述快照数据,确定快照编号对应的区间;从所述软件的安装包中查找所述区间对应的存储位置,将所述升级包中对应数据写入到所述存储位置。17.根据权利要求16所述的方法,其特征在于,将所述升级包中对应数据写入到所述存储位置之前,还包括:按照所述区间申请存储位置,将所述区间对应存储位置上所述安装包的数据复制到申请的存储位置中。18.根据权利要求16所述的方法,其特征在于,还包括:若所述软件的安装包不具有所述快照编号对应的区间,则申请所述区间对应的存储位置;将所述升...

【专利技术属性】
技术研发人员:高峰叶崴吴伟
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1