CN111258612B - 一种应用的升级方法及装置 - Google Patents
一种应用的升级方法及装置 Download PDFInfo
- Publication number
- CN111258612B CN111258612B CN202010111009.5A CN202010111009A CN111258612B CN 111258612 B CN111258612 B CN 111258612B CN 202010111009 A CN202010111009 A CN 202010111009A CN 111258612 B CN111258612 B CN 111258612B
- Authority
- CN
- China
- Prior art keywords
- file
- downloaded
- file list
- list
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种应用的升级方法及装置,所述方法包括:从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;根据所述已下载文件清单从预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;根据所述已下载文件和所述未下载文件升级所述应用。所述装置用于执行上述方法。本发明实施例提供的应用的升级方法及装置,提高了应用升级的效率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种应用的升级方法及装置。
背景技术
随着计算机技术的快速发展,出现了各种各样的应用,为了完善应用的功能,会不断对应用版本进行升级。
在应用版本升级时,可以先发布正式版本,正式版本发布后和正式版本投产之间的几天时间内,往往会有正式版本的补丁版本发布,导致在应用版本升级时需要重新下载整个正式版本的补丁版本,下载时间较长,影响正常的业务,特别是对于金融行业的应用,补丁较多且对应用的实时性要求较高。
发明内容
针对现有技术中的问题,本发明实施例提供一种应用的升级方法及装置,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种应用的升级方法,包括:
从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;
根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;
根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;
根据所述已下载文件清单从所述预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;
根据所述已下载文件和所述未下载文件升级所述应用。
另一方面,本发明提供一种应用的升级装置,包括:
第一下载单元,用于从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;
第一获得单元,用于根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;
第二获得单元,用于根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;
第三获得单元,用于根据所述已下载文件清单从所述预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;
升级单元,用于根据所述已下载文件和所述未下载文件升级所述应用。
再一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述应用的升级方法的步骤。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述应用的升级方法的步骤。
本发明实施例提供的应用的升级方法及装置,能够从服务器下载第一下载文件清单,根据第一下载文件清单和应用的运行目录的文件,获得第一待下载文件清单,根据第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据第一待下载文件清单和已下载文件清单,获得未下载文件清单,根据已下载文件清单从预下载文件目录获得已下载文件,并根据未下载文件清单从服务器获得未下载文件,根据已下载文件和未下载文件升级应用,能够减少应用升级时下载升级文件的时间,提高了应用升级的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明第一实施例提供的应用的升级方法的流程示意图。
图2是本发明第二实施例提供的应用的升级方法的流程示意图。
图3是本发明第三实施例提供的应用的升级方法的流程示意图。
图4是本发明第四实施例提供的应用的升级方法的流程示意图。
图5是本发明第五实施例提供的应用部署流程示意图。
图6是本发明第六实施例提供的预下载流程示意图。
图7是本发明第七实施例提供的应用升级流程示意图。
图8是本发明第八实施例提供的应用+的升级装置的结构示意图。
图9是本发明第九实施例提供的应用的升级装置的结构示意图。
图10是本发明第十实施例提供的应用的升级装置的结构示意图。
图11是本发明十一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的研究背景进行简单说明。金融行业的应用补丁较多,正式版本发布后和正式版本投产之间的几天时间内,往往有正式版本的补丁版本发布。金融行业的很多应用实时性要求较高,为了避免对正常业务的影响,提供给应用的升级时间有限。为了缩短应用的升级时间,本发明实施例提供一种应用的升级方法,能够提高应用升级下载速率和应用正式版本的升级效率。其中,本发明实施例中应用是指安装在客户端上的程序,能够实现设定的功能。
在应用的正式版本发布之后,可以提前3-5天将所述应用的正式版本预先部署到服务器,并标记为预下载版本。所述服务器对所述应用的预下载版本进行分析,形成所述应用的预下载版本的第一类文件清单,所述第一类文件清单包括文件名称、最后修改时间、文件大小和文件内容特征值;如果所述应用的预下载版本包括较大的文件,例如文件大小大于预设值,对大于预设值的文件进行分片分析,将大于预设值的文件拆分为多个文件分片,每个文件分片的大小小于所述预设值,形成所述应用的预下载版本的第二类文件清单,所述第二类文件清单包括文件名称、最后修改时间、文件大小、分片大小、分片序号和分片内容特征值。所述应用的预下载版本的下载文件清单包括第一类文件清单和/或第二类文件清单。可理解的是,如果所述应用的预下载版本是压缩包,可以先解压缩,对解压后的文件进行分析。
所述应用的正式版本投产时,将投产的正式版本部署到所述服务器,标记为投产版本。所述服务器对所述应用的投产版本进行分析,生成所述应用的投产版本的第一类文件清单,所述第一类文件清单包括文件名称、最后修改时间、文件大小和文件内容特征值;如果所述应用的投产版本包括较大的文件,例如文件大小大于预设值,对大于预设值的文件进行分片分析,将大于预设值的文件拆分为多个文件分片,每个文件分片的大小小于所述预设值,形成所述应用的投产版本的第二类文件清单,所述第二类文件清单包括文件名称、最后修改时间、文件大小、分片大小、分片序号和分片内容特征值。所述应用的投产版本的下载文件清单包括第一类文件清单和/或第二类文件清单。可理解的是,如果所述应用的投产版本是压缩包,可以先解压缩,对解压后的文件进行分析。其中,所述预设值根据实际需要进行设置,比如64KB,本发明实施例不做限定。
图1是本发明第一实施例提供的应用的升级方法的流程示意图,如图1所示,本发明实施例提供的应用的升级方法,包括:
S101、从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;
具体地,客户端在发现应用需要升级时,可以从服务器下载第一下载文件清单,所述第一下载文件清单是所述应用的投产版本的下载文件清单,所述第一下载文件清单中是所述应用升级所需要下载的文件。其中,所述客户端包括但不限于台式机、手机、平板电脑等电子设备。
例如,所述客户端可以向服务器发送所述应用的版本检查更新请求,所述服务器接收到所述应用的版本检查更新请求之后,如果判断出所述应用存在需要更新的投产版本,那么向所述客户端发送所述应用的投产版本的下载文件清单,所述客户端可以下载所述应用的投产版本的下载文件清单,作为所述第一下载文件清单。
S102、根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;
具体地,所述客户端在下载完所述第一下载文件清单之后,可以将所述第一下载文件清单与所述应用的运行目录的文件进行比较,获得所述第一下载文件清单和所述应用的运行目录的文件的所有差异文件的文件清单,形成第一待下载文件清单。其中,所述第一待下载文件清单可以包括所述第一类文件清单和/或所述第二类文件清单。
例如,所述客户端将所述应用的运行目录的文件的文件名称、最后修改时间和文件大小和所述第一下载文件清单中的文件名称、最后修改时间和文件大小进行比较,如果第一下载文件清单中的文件名称在所述应用的运行目录的文件中不存在,那么该文件名称对应的文件为差异文件;如果第一下载文件清单中的文件名称、最后修改时间和文件大小与所述应用的运行目录的一个文件的文件名称、最后修改时间和文件大小都相同,那么该文件相同;如果第一下载文件清单中的文件名称与所述应用的运行目录的一个文件的文件名称相同,但最后修改时间或文件大小不同,那么继续比较所述应用的运行目录的文件的文件内容特征值和所述第一下载文件清单的相同文件名称对应的文件内容特征值,如果上述两个文件内容特征值不同,那么对应的文件为所述差异文件;如果上述两个文件内容特征值相同,那么对应的文件相同。
当所述第一下载文件清单包括第二类文件清单时,所述客户端在比较所述第一下载文件清单与所述应用的运行目录的文件时,如果所述第二类文件清单中的文件名称与所述应用的运行目录的一个文件的文件名称相同,但最后修改时间或者文件大小不同,那么所述客户端将上述一个文件进行分片分析,获得上述一个文件的分片大小、分片序号和分片内容特征值,然后再将上述一个文件的分片大小、分片序号和分片内容特征值与所述第二类文件清单中相同文件名称对应的分片大小、分片序号和分片内容特征值进行比较,如果分片大小、分片序号和分片内容特征值三项中有任何一项不同,那么所述第二类文件清单包括的分片序号对应的分片文件在所述应用的运行目录中不存在,所述客户端会将所述应用的运行目录中不存在的分片文件对应的文件名称、最后修改时间、文件大小、分片大小、分片序号和分片内容特征值添加到所述第一待下载文件清单的第二类文件清单中。
S103、根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;
具体地,所述客户端在获得所述第一待下载文件清单之后,可以将所述第一待下载文件清单与预下载文件目录的文件进行比较,获得已下载文件清单,所述已下载文件清单对应的文件是已经下载到所述与下载文件目录中的文件的文件清单。所述客户端在获得所述已下载文件清单之后,可以根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单,可以从所述第一待下载文件清单中去除已下载文件清单,所述第一待下载文件剩余的文件清单,即构成了所述未下载文件清单,所述未下载文件清单是所述客户端需要从所述服务器上下载的文件。
S104、根据所述已下载文件清单从所述预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;
具体地,所述客户端在获得所述已下载文件清单和所述未下载文件清单之后,根据所述已下载文件清单从所述预下载文件目录获得已下载文件清单对应的文件,获得已下载文件。并根据所述未下载文件清单从所述服务器下载所述未下载文件清单对应的文件,获得未下载文件。
S105、根据所述已下载文件和所述未下载文件升级所述应用。
具体地,所述客户端在获得所述已下载文件和所述未下载文件之后,可以将所述已下载文件和所述未下载文件存储到投产版本目录中,合并得到完整的增量升级文件,然后将增量升级文件拷贝到所述应用的运行目录中替换需要升级的文件,从而完成对所述应用的升级。
本发明实施例提供的应用的升级方法,从服务器下载第一下载文件清单,根据第一下载文件清单和应用的运行目录的文件,获得第一待下载文件清单,根据第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据第一待下载文件清单和已下载文件清单,获得未下载文件清单,根据已下载文件清单从预下载文件目录获得已下载文件,并根据未下载文件清单从服务器获得未下载文件,根据已下载文件和未下载文件升级应用,能够减少应用升级时下载升级文件的时间,提高了应用升级的效率。此外,减少了应用升级时下载升级文件需要的流量。
图2是本发明第二实施例提供的应用的升级方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,本发明实施例提供的应用的升级方法还包括:
S201、在从所述服务器下载所述第一下载文件清单之前,从所述服务器下载第二下载文件清单,所述第二下载文件清单是所述应用的预下载版本的下载文件清单;
具体地,在所述服务器部署所述应用的预下载版本之后,所述客户端在从所述服务器下载所述第一下载文件清单之前,可以从所述服务器下载第二下载文件清单,所述第二下载文件清单是所述应用的预下载版本的下载文件清单。
S202、根据所述第二下载文件清单和所述预下载文件目录的文件,获得所述第二待下载文件清单;
具体地,所述客户端在下载获得所述第二下载文件清单之后,可以将所述第二下载文件清单与所述预下载文件目录的文件进行比较,获得所述第二下载文件清单和所述预下载文件目录的文件的所有差异文件的文件清单,并将所有差异文件的文件清单对应的文件中未从所述服务器下载过的文件的文件清单,作为所述第二待下载文件清单。其中,所述第二待下载文件清单可以包括所述第一类文件清单和/或所述第二类文件清单。
S203、根据所述第二待下载文件清单从所述服务器下载所述第二待下载文件清单对应的文件并存储到所述预下载文件目录。
具体地,所述客户端在获得所述第二待下载文件清单之后,可以根据所述第二待下载文件清单从所述服务器下载所述第二待下载文件清单对应的文件,并将获得的所述第二待下载文件清单对应的文件存储到所述预下载文件目录中,所述预下载文件目录存储有所述应用升级的到预下载版本所需的升级文件。通过所述第二待下载文件清单包括的第二类文件清单,对于需要下载的大文件,只需要下载大文件的部分分片文件,而无需下载整个大文件,能够减少下载所需要的时间。
图3是本发明第三实施例提供的应用的升级方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,所述对比所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单包括:
S1031、若判断获知所述第一待下载文件清单对应的文件与所述预下载文件目录的文件存在相同的文件,则将所有相同的文件对应的文件清单作为所述已下载文件清单;
具体地,所述客户端会将所述第一待下载文件清单与所述预下载文件目录的文件进行比较,如果发现所述第一待下载文件清单对应的文件和所述第二待下载文件清单对应的文件中存在相同的文件,那么将所有相同的文件对应的文件清单作为所述已下载文件清单。可理解的是,所有相同的文件对应的文件清单为所述第一待下载文件清单的一部分。
例如,在判断所述第一待下载文件清单对应的文件与所述预下载文件目录的文件是否存在相同的文件时,判断所述第一待下载文件清单对应的a文件与所述预下载文件目录的b文件是否相同时,可以先比较a文件和b文件的文件名称、最后修改时间和文件大小,如果a文件和b文件的文件名称不同,那么这a文件和b文件是不同的文件,如果a文件和b文件的文件名称、最后修改时间和文件大小都相同,那么a文件和b文件是相同的文件,如果a文件和b文件的文件名称相同,但a文件的最后修改时间与b文件的最后修改时间不同或a文件的文件大小与b文件的文件大小不同,那么继续比较a文件和b文件的文件内容特征值,如果a文件和b文件的文件内容特征值相同,那么a文件和b文件是相同的文件,如果a文件和b文件的文件内容特征值不同,那么a文件和b文件是不同的文件。
S1032、从所述第一待下载文件清单中去除所述已下载文件清单,获得所述未下载文件清单。
具体地,所述客户端在获得所述已下载文件清单之后,可以将所述已下载文件清单从所述第一待下载文件清单中去除,所述第一待下载文件清单中剩余的文件清单可以构成所述未下载文件清单。其中,所述未下载文件清单可以包括第一类文件清单和/或第二类文件清单。通过所述未下载文件清单包括的第二类文件清单,对于需要升级的大文件,只需要下载大文件的部分分片文件,而无需下载整个大文件,能够减少下载升级文件所需要的时间。
在上述各实施例的基础上,进一步地,所述第一下载文件清单包括第一类文件清单和/或第二类文件清单,所述第一类文件清单包括文件名称、最后修改时间、文件大小和文件内容特征值,所述第二类文件清单包括文件名称、最后修改时间、文件大小、分片大小、分片序号和分片内容特征值。其中,文件内容特征值例如为循环冗余校验(CyclicRedundancy Check,简称CRC)值。所述第一类文件清单和第二类文件清单用于确定需要应用需要下载的升级文件。
下面以应用Y的升级过程为例,来说明本发明实施例提供的应用的升级方法的具体实现过程。
先在应用Y正式投产日之前N(N≥3)日部署应用Y的预下载版本到服务器,供客户端预先下载到本地存储到预下载目录,然后在投产日部署应用Y的投产版本到服务器,客户端优先从预下载目录获取升级文件,再从服务器下载剩余升级文件,完成应用Y的版本升级,图4是本发明第四实施例提供的应用的升级方法的流程示意图,如图4所示,应用Y升级的具体处理流程如下:
第一步、应用Y正式投产日之前N日部署应用Y的预下载版本到服务器,具体流程详见应用Y的应用部署流程;
第二步、客户端对应用Y的预下载版本进行预下载,具体流程详见客户端对应用Y的预下载流程;
第三步、在应用Y的投产日将应用Y的投产版本部署到服务器,具体流程详见应用Y的应用部署流程;
第四步、客户端升级应用Y,具体流程详见客户端对应用Y的应用升级流程。
图5是本发明第五实施例提供的应用部署流程示意图,如图5所示,本发明实施例提供的应用Y的应用部署流程如下:
第一步、接收部署指令,判断部署指令是预下载版本部署指令还是投产版本部署指令;如果是预下载版本部署指令,那么进入第二步;如果是投产版本部署指令,那么进入第四步;
第二步、将发布的应用Y的正式版本部署到服务器的预下载版本目录;
第三步、将发布的应用Y的正式版本标记为预下载版本。
第四步、将投产的应用Y的正式版本部署到服务器的投产版本目录;
第五步、将投产的应用Y的正式版本标记为投产版本。
第六步、判断应用Y的版本包是否为压缩包,如果是压缩包,进入到第七步;如果不是压缩包,进入到第八步;其中,应用Y的版本包为应用Y的预下载版本或者应用Y的投产版本;
第七步、解压缩应用Y的版本包,获得应用Y的版本文件;
第八步、遍历应用Y的版本文件,并计算版本文件中每个文件的文件内容特征值;
第九步、生成第一类文件清单,所述第一类文件清单包括文件名称、最后修改时间、文件大小和文件内容特征值等信息;
第十步、判断应用Y的版本文件中每个文件大小是否大于预设值;如果大于预设值,那么进入第十一步;如果不大于预设值,那么进入到第十二步。
第十一步、计算文件的分片和分片内容特征值,获得文件的分片大小、分片序号和分片内容特征值,作为文件的分片结果;
第十二步、判断是否完成应用Y的版本文件中所有文件的大小比较,如果完成,那么进入到第十三步;如果没有完成,那么回到第十步。
第十三步、根据各个文件的分片结果,生成第二类文件清单,并根据所述第一类文件清单和所述第二类文件清单,建立所述应用的预下载版本的下载文件清单。其中,所述第二类文件清单包括文件名称、最后修改时间、文件大小、分片大小、分片序号和分片内容特征值。
图6是本发明第六实施例提供的预下载流程示意图,如图6所示,客户端对应用Y的预下载流程如下:
第一步、客户端从服务器下载应用Y的预下载版本的下载文件清单,作为第二下载文件清单;
第二步、客户端将第二下载文件清单与应用Y的预下载文件目录下的所有文件进行比较,如果判断出有不同的文件,那么进入到第三步;如果文件完全相同,那么结束本流程。
第三步、客户端根据第二下载文件清单和应用Y的预下载文件目录的文件,获得第二待下载文件清单;
第四步、客户端从服务器下载第二待下载文件清单对应的文件到客户端的预下载文件目录,并合并得到对应的完整文件。
图7是本发明第七实施例提供的应用升级流程示意图,如图7所示,客户端对应用Y的应用升级流程如下:
第一步、客户端从服务器下载应用Y的投产版本的下载文件清单,作为第一下载文件清单;
第二步、客户端将第一下载文件清单与应用Y的运行目录下的所有文件进行比较,如果判断出有不同的文件,那么进入到第三步;如果判断出文件完全相同,那么结束本流程。
第三步、客户端根据第一下载文件清单和应用Y的运行目录的文件,获得第一待下载文件清单;
第四步、客户端根据第一待下载文件清单和应用Y的预下载文件目录的文件,如果判断出有相同的文件,那么将所有相同的文件对应的文件清单作为已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;
第五步、客户端根据已下载文件清单从应用Y的预下载文件目录拷贝已下载文件清单对应的文件到投产版本目录中,作为已下载文件;客户端根据未下载文件清单从服务器下载未下载文件清单对应的文件到投产版本目录中,作为未下载文件。
第六步、客户端将已下载文件和未下载文件进行合并,得到完整的增量升级文件;
第七步、客户端将增量升级文件拷贝到应用Y的运行目录,替换对应的文件,完成对应用Y的升级。
图8是本发明第八实施例提供的应用的升级装置的结构示意图,如图8所示,本发明实施例提供的应用的升级装置包括第一下载单元801、第一获得单元802、第二获得单元803、第三获得单元804和升级单元805,其中:
第一下载单元801用于从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;第一获得单元802用于根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;第二获得单元803用于根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;第三获得单元804用于根据所述已下载文件清单从所述预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;升级单元805用于根据所述已下载文件和所述未下载文件升级所述应用。
具体地,在发现应用需要升级时,第一下载单元801可以从服务器下载第一下载文件清单,所述第一下载文件清单是所述应用的投产版本的下载文件清单,所述第一下载文件清单中是所述应用升级所需要下载的文件。
在下载完所述第一下载文件清单之后,第一获得单元802可以将所述第一下载文件清单与所述应用的运行目录的文件进行比较,获得所述第一下载文件清单和所述应用的运行目录的文件的所有差异文件的文件清单,形成第一待下载文件清单。其中,所述第一待下载文件清单可以包括所述第一类文件清单和/或所述第二类文件清单。
在获得所述第一待下载文件清单之后,第二获得单元803可以将所述第一待下载文件清单与预下载文件目录的文件进行比较,获得已下载文件清单,所述已下载文件清单对应的文件是已经下载到所述与下载文件目录中的文件的文件清单。第二获得单元803在获得所述已下载文件清单之后,可以根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单,可以从所述第一待下载文件清单中去除已下载文件清单,所述第一待下载文件剩余的文件清单,即构成了所述未下载文件清单,所述未下载文件清单是所述客户端需要从所述服务器上下载的文件对应的文件清单。
在获得所述已下载文件清单和所述未下载文件清单之后,第三获得单元804根据所述已下载文件清单从所述预下载文件目录获得已下载文件清单对应的文件,获得已下载文件。并根据所述未下载文件清单从所述服务器下载所述未下载文件清单对应的文件,获得未下载文件。
在获得所述已下载文件和所述未下载文件之后,升级单元805可以将所述已下载文件和所述未下载文件存储到投产版本目录中,合并得到完整的增量升级文件,然后将增量升级文件拷贝到所述应用的运行目录中替换需要升级的文件,从而完成对所述应用的升级。
本发明实施例提供的应用的升级装置,从服务器下载第一下载文件清单,根据第一下载文件清单和应用的运行目录的文件,获得第一待下载文件清单,根据第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据第一待下载文件清单和已下载文件清单,获得未下载文件清单,根据已下载文件清单从预下载文件目录获得已下载文件,并根据未下载文件清单从服务器获得未下载文件,根据已下载文件和未下载文件升级应用,能够减少应用升级时下载升级文件的时间,提高了应用升级的效率。此外,减少了应用升级时下载升级文件需要的流量。
图9是本发明第九实施例提供的应用的升级装置的结构示意图,如图9所示,在上述各实施例的基础上,进一步地本发明实施例提供的应用的升级装置还包括第二下载单元806、第四获得单元807和存储单元808,其中:
第二下载单元806用于在从所述服务器下载所述第一下载文件清单之前,从所述服务器下载第二下载文件清单,所述第二下载文件清单是所述应用的预下载版本的下载文件清单;第四获得单元807用于根据所述第二下载文件清单和所述预下载文件目录的文件,获得所述第二待下载文件清单;存储单元808用于根据所述第二待下载文件清单从所述服务器下载所述第二待下载文件清单对应的文件并存储到所述预下载文件目录。
具体地,在所述服务器部署所述应用的预下载版本之后,第二下载单元806在从所述服务器下载所述第一下载文件清单之前,可以从所述服务器下载第二下载文件清单,所述第二下载文件清单是所述应用的预下载版本的下载文件清单。
在下载获得所述第二下载文件清单之后,第四获得单元807可以将所述第二下载文件清单与所述预下载文件目录的文件进行比较,获得所述第二下载文件清单和所述预下载文件目录的文件的所有差异文件的文件清单,并将所有差异文件的文件清单对应的文件中未从所述服务器下载过的文件的文件清单,形成所述第二待下载文件清单。其中,所述第二待下载文件清单可以包括所述第一类文件清单和/或所述第二类文件清单。
在获得所述第二待下载文件清单之后,存储单元808可以根据所述第二待下载文件清单从所述服务器下载所述第二待下载文件清单对应的文件,并将获得的所述第二待下载文件清单对应的文件存储到所述预下载文件目录中,所述预下载文件目录存储有所述应用升级的到预下载版本所需的升级文件。通过所述第二待下载文件清单包括的第二类文件清单,对于需要下载的大文件,只需要下载大文件的部分分片文件,而无需下载整个大文件,能够减少下载所需要的时间。
图10是本发明第十实施例提供的应用的升级装置的结构示意图,如图10所示,在上述各实施例的基础上,进一步地,第二获得单元803包括判断子单元8031和去除子单元8032,其中:
判断子单元8031用于在判断获知所述第一待下载文件清单对应的文件与所述预下载文件目录的文件存在相同的文件之后,将所有相同的文件对应的文件清单作为所述已下载文件清单;去除子单元8032用于从所述第一待下载文件清单中去除所述已下载文件清单,获得所述未下载文件清单。
具体地,判断子单元8031将所述第一待下载文件清单与所述预下载文件目录的文件进行比较,如果发现所述第一待下载文件清单对应的文件和所述第二待下载文件清单对应的文件中存在相同的文件,那么将所有相同的文件对应的文件清单作为所述已下载文件清单。可理解的是,所有相同的文件对应的文件清单为所述第一待下载文件清单的一部分。
具体地,在获得所述已下载文件清单之后,去除子单元8032可以将所述已下载文件清单从所述第一待下载文件清单中去除,所述第一待下载文件清单中剩余的文件清单可以构成所述未下载文件清单。其中,所述未下载文件清单可以包括第一类文件清单和/或第二类文件清单。通过所述未下载文件清单包括的第二类文件清单,对于需要升级的大文件,只需要下载大文件的部分分片文件,而无需下载整个大文件,能够减少下载升级文件所需要的时间。
在上述各实施例的基础上,进一步地,所述第一下载文件清单包括第一类文件清单和/或第二类文件清单,所述第一类文件清单包括文件名称、最后修改时间、文件大小和文件内容特征值,所述第二类文件清单包括文件名称、最后修改时间、文件大小、分片大小、分片序号和分片内容特征值。所述第一类文件清单和第二类文件清单用于确定需要应用需要下载的升级文件。
本发明实施例提供的应用的升级装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图11是本发明十一实施例提供的电子设备的实体结构示意图,如图11所示,该电子设备可以包括:处理器(processor)1101、通信接口(Communications Interface)1102、存储器(memory)1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信。处理器1101可以调用存储器1103中的逻辑指令,以执行如下方法:从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;根据所述已下载文件清单从所述预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;根据所述已下载文件和所述未下载文件升级所述应用。
此外,上述的存储器1103中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;根据所述已下载文件清单从所述预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;根据所述已下载文件和所述未下载文件升级所述应用。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;根据所述已下载文件清单从所述预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;根据所述已下载文件和所述未下载文件升级所述应用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用的升级方法,其特征在于,包括:
从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;
根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;
根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;根据所述已下载文件清单从所述预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;
根据所述已下载文件和所述未下载文件升级所述应用;
其中,所述根据所述已下载文件和所述未下载文件升级所述应用包括:
将所述已下载文件和所述未下载文件存储到投产版本目录中,合并得到完整的增量升级文件,然后将增量升级文件拷贝到所述应用的运行目录中替换需要升级的文件。
2.根据权利要求1所述的方法,其特征在于,还包括:
在从所述服务器下载所述第一下载文件清单之前,从所述服务器下载第二下载文件清单,所述第二下载文件清单是所述应用的预下载版本的下载文件清单;
根据所述第二下载文件清单和所述预下载文件目录的文件,获得第二待下载文件清单;
根据所述第二待下载文件清单从所述服务器下载所述第二待下载文件清单对应的文件并存储到所述预下载文件目录。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单包括:
若判断获知所述第一待下载文件清单对应的文件与所述预下载文件目录的文件存在相同的文件,则将所有相同的文件对应的文件清单作为所述已下载文件清单;
从所述第一待下载文件清单中去除所述已下载文件清单,获得所述未下载文件清单。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一下载文件清单包括第一类文件清单和/或第二类文件清单,所述第一类文件清单包括文件名称、最后修改时间、文件大小和文件内容特征值,所述第二类文件清单包括文件名称、最后修改时间、文件大小、分片大小、分片序号和分片内容特征值。
5.一种应用的升级装置,其特征在于,包括:
第一下载单元,用于从服务器下载第一下载文件清单,所述第一下载文件清单是应用的投产版本的下载文件清单;
第一获得单元,用于根据所述第一下载文件清单和所述应用的运行目录的文件,获得第一待下载文件清单;
第二获得单元,用于根据所述第一待下载文件清单和预下载文件目录的文件,获得已下载文件清单,并根据所述第一待下载文件清单和所述已下载文件清单,获得未下载文件清单;
第三获得单元,用于根据所述已下载文件清单从所述预下载文件目录获得已下载文件,并根据所述未下载文件清单从所述服务器获得未下载文件;
升级单元,用于根据所述已下载文件和所述未下载文件升级所述应用;
其中,所述升级单元具体用于将所述已下载文件和所述未下载文件存储到投产版本目录中,合并得到完整的增量升级文件,然后将增量升级文件拷贝到所述应用的运行目录中替换需要升级的文件。
6.根据权利要求5所述的装置,其特征在于,还包括:
第二下载单元,用于在从所述服务器下载所述第一下载文件清单之前,从所述服务器下载第二下载文件清单,所述第二下载文件清单是所述应用的预下载版本的下载文件清单;
第四获得单元,用于根据所述第二下载文件清单和所述预下载文件目录的文件,获得第二待下载文件清单;
存储单元,用于根据所述第二待下载文件清单从所述服务器下载所述第二待下载文件清单对应的文件并存储到所述预下载文件目录。
7.根据权利要求5所述的装置,其特征在于,所述第二获得单元包括:
判断子单元,用于在判断获知所述第一待下载文件清单对应的文件与所述预下载文件目录的文件存在相同的文件之后,将所有相同的文件对应的文件清单作为所述已下载文件清单;
去除子单元,用于从所述第一待下载文件清单中去除所述已下载文件清单,获得所述未下载文件清单。
8.根据权利要求5至7任一项所述的装置,其特征在于,所述第一下载文件清单包括第一类文件清单和/或第二类文件清单,所述第一类文件清单包括文件名称、最后修改时间、文件大小和文件内容特征值,所述第二类文件清单包括文件名称、最后修改时间、文件大小、分片大小、分片序号和分片内容特征值。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010111009.5A CN111258612B (zh) | 2020-02-24 | 2020-02-24 | 一种应用的升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010111009.5A CN111258612B (zh) | 2020-02-24 | 2020-02-24 | 一种应用的升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258612A CN111258612A (zh) | 2020-06-09 |
CN111258612B true CN111258612B (zh) | 2023-09-08 |
Family
ID=70952883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010111009.5A Active CN111258612B (zh) | 2020-02-24 | 2020-02-24 | 一种应用的升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258612B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111787093B (zh) * | 2020-06-29 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 应用管理方法、应用管理装置、相关设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026464A (zh) * | 2006-02-25 | 2007-08-29 | 宇龙计算机通信科技(深圳)有限公司 | 无线终端的无线升级方法和无线升级系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2014CN04930A (zh) * | 2011-12-01 | 2015-09-18 | Tencent Tech Shenzhen Co Ltd |
-
2020
- 2020-02-24 CN CN202010111009.5A patent/CN111258612B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026464A (zh) * | 2006-02-25 | 2007-08-29 | 宇龙计算机通信科技(深圳)有限公司 | 无线终端的无线升级方法和无线升级系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111258612A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10423585B2 (en) | Method and device for making differential upgrade package, and method and device for system differential upgrading | |
CN106897103B (zh) | 一种移动端网络游戏版本快速热更新的方法 | |
CN105760184B (zh) | 一种加载组件的方法和装置 | |
CN109445827B (zh) | 一种游戏更新的方法及装置、电子设备、存储介质 | |
CN109766114B (zh) | 一种补丁文件的处理方法和装置 | |
CN106371881B (zh) | 一种用于服务器内程序版本更新的方法和系统 | |
CN110543324B (zh) | 一种应用程序的插件增量更新方法及装置 | |
CN110535776B (zh) | 网关限流方法、装置、网关、系统及存储介质 | |
WO2017016479A1 (zh) | 一种文件下载方法和装置 | |
CN111258612B (zh) | 一种应用的升级方法及装置 | |
WO2019041891A1 (zh) | 升级包的生成方法及装置 | |
CN108197204B (zh) | 文件处理方法及装置 | |
CN107391303B (zh) | 数据处理方法、装置、系统、服务器及计算机存储介质 | |
US20170141922A1 (en) | Incremental upgrade method and system for file | |
CN103559063A (zh) | 应用程序的更新方法、系统及应用程序系统和参数据配置系统 | |
CN113535226B (zh) | 应用下载方法、终端、服务器、计算机设备以及存储介质 | |
CN114710407A (zh) | 分布式系统软件版本升级方法及装置 | |
CA2847393A1 (en) | Deployment of software across an enterprise system | |
CN105912357B (zh) | 一种混合应用的启动方法及装置 | |
CN111736889B (zh) | 版本增量文件获取方法及装置 | |
CN113609526A (zh) | 一种操作系统的升级方法、装置及设备 | |
CN108228226B (zh) | 硬链接的差分方法、装置及相应终端 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
CN113127359A (zh) | 一种测试数据的获得方法及装置 | |
CN115408047B (zh) | 一种版本发布方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |