本技术实施例涉及计算机,尤其涉及一种差分包的下载方法及服务器。
背景技术:
1、电子设备可以从服务器获取软件更新包,来升级电子设备中应用程序(app)的版本。目前,为了减少软件更新包的传输对网络带宽的占用,节省电子设备下载软件更新包的下载时间及下载流量,app的版本更新都是采用增量升级的方式。其中,增量升级是指利用差分包升级应用程序,该差分包也可以称为增量包。差分包主要包括电子设备中的低版本安装包与服务器中高版本安装包之间的差异数据。
2、服务器存储有app的最新版本的安装包、历史版本的安装包及已生成的差分包。示例性的,响应于接收到电子设备的查询请求,若服务器未存储有该查询请求所请求的差分包,服务器可以根据查询请求生成差分包。之后,服务器可以存储该差分包并将差分包的下载路径发送给电子设备。电子设备可以通过下载路径获取差分包,并使用差分包进行升级。
3、由于app的种类不断增加,app升级速度逐渐提升,app的版本也越来越多;并且不同用户的升级习惯及升级频率也不同,导致差分包的数量越来越多,差分包对服务器存储空间的占用也急剧增加。
技术实现思路
1、本技术实施例提供一种差分包的下载方法及服务器,用于节省服务器中差分包的存储空间。
2、为达到上述目的,本技术的实施例采用如下技术方案:
3、第一方面,提供一种差分包的下载方法。该方法应用于服务器,该方法包括:服务器接收来自第一电子设备的第一查询请求,第一查询请求用于请求下载第一app的第一差分包;若服务器已生成第一差分包,则向第一电子设备指示第一差分包的第一下载地址;若服务器未生成第一差分包,则生成第一记录;其中,第一记录用于记录第一查询请求所请求的第一差分包;服务器获取第一时间段内由服务器生成的第一记录的数量;其中,第一时间段包括服务器接收到第一查询请求的当前时刻前的预设时长;或者,第一时间段包括第一时刻到服务器接收到第一查询请求的当前时刻之间的时间段;或者,第一时间段为预设时间段;若第一记录的数量大于第一阈值,则生成第一记录所记录的第一差分包,并在第二下载地址存储第一差分包。
4、本技术中,服务器在接收到电子设备发送的第一查询请求之后,若服务器已生成该第一查询请求所请求的第一差分包,服务器可以向电子设备指示该第一差分包的第一下载地址,电子设备可以通过第一下载地址下载第一差分包。若服务器未生成有该第一差分包,服务器可以生成第一记录,第一记录用于记录第一查询请求所请求的第一差分包。服务器可以获取在接收到查询请求的当前时刻之前预设时长(第一时间段)内,服务器生成第一记录的数量,或者,服务器可以获取第一时刻至接收到查询请求的当前时刻(第一时间段)内,服务器生成第一记录的数量,或者服务器可以获取预设时间段(第一时间段)内,服务器生成第一记录的数量。之后,服务器可以判断第一时间段内服务器生成第一记录的数量是否大于第一阈值。若第一时间段内服务器生成第一记录的数量大于第一阈值,说明第一时间段内请求下载第一差分包的第一查询请求的数量大于第一阈值,也能说明第一时间段内请求下载第一差分包的电子设备的数量较多。此时,服务器可以生成第一记录所记录的第一差分包,进而满足大多数用户的下载需求。即本技术中,服务器可以根据用户对第一差分包的需求程度,生成需求程度高的第一差分包,满足大部分用户的需求的同时节省存储第一差分包的空间。
5、在第一方面的一种可能的实现方式中,第一时间段包括当前时刻前的预设时长;或者,第一时间段包括第一时刻到当前时刻之间的时间段。即服务器可以在接收到第一查询请求时,获取第一时间段内第一记录的数量,及时生成第一记录所记录的第一差分包。
6、具体的,若第一记录的数量大于第一阈值,则服务器生成第一记录所记录的第一差分包,之后,服务器还可以向第一电子设备指示第一差分包的第二下载地址。本技术中,若服务器未生成有第一差分包,服务器可以获取在接收到查询请求的当前时刻前的预设时长(第一时间段)内,或者服务器可以获取第一时刻至接收到查询请求的当前时刻(第一时间段)内,服务器生成第一记录的数量。并在第一记录的数量大于第一阈值时,生成第一记录所记录的第一差分包。之后,服务器可以向电子设备指示第一差分包的第二下载地址。电子设备可以通过第二下载地址下载第一差分包。如此,服务器可以在接收到第一查询请求之后,且服务器未生成有第一差分包时。服务器可以及时获取第一时间段内生成第一记录的数量,并且在第一记录的数量大于第一阈值时,及时生成第一差分包。
7、在第一方面的一种可能的实现方式中,第一时间段为预设时间段。服务器可以在接收到第一查询请求之后,先向第一电子设备指示全量包的第三下载地址。之后,获取预设时间段内生成第一记录的数量,进而,根据第一记录的生成数量生成第一记录所记录的第一差分包。之后,响应于第二电子设备的第二查询请求,该第二查询请求也请求获取第一差分包时,服务器可以直接向第二电子设备指示第一差分包的第二下载地址。
8、具体的,若服务器未生成第一差分包,则向第一电子设备指示第一app的全量包的第三下载地址。接收来自第二电子设备的第二查询请求,第二查询请求用于请求下载第一app的第一差分包。服务器已生成第一差分包,向第二电子设备指示第一差分包的第二下载地址。
9、在第一方面的一种可能的实现方式中,若第一记录的生成数量大于第一阈值,服务器可以先将该第一记录标记为待生成差分包的记录。服务器接收到第三电子设备发送的第三查询请求,该第三查询请求请求获取第一差分包时,服务器再生成第一记录所记录的差分包。
10、具体的,若第一记录的数量大于第一阈值,则标记第一记录为待生成差分包的记录。接收来自第三电子设备发送的第三查询请求,第三查询请求用于请求下载第一app的第一差分包。服务器未生成第一差分包,但第一记录标记为待生成差分包的记录,则生成第一记录所记录的第一差分包,并在第二下载地址存储第一差分包。
11、在第一方面的一种可能的实现方式中,若第一时间段内第一记录的生成数量小于第一阈值,服务器可以根据m个第一时间段内每个第一时间段内第一记录的生成数量,进一步评估是否生成第一记录所记录的第一差分包。
12、具体的,若第一记录的数量小于第一阈值,则获取m个第一时间段内每个第一时间段内生成的第一记录的数量。其中,m个第一时间段具有相同的时长。若m个第一时间段内至少有m个第一时间段内第一记录的数量均大于第二阈值,则生成第一记录所记录的第一差分包,并在第四下载地址存储第一差分包。其中,m、m为大于1的整数,第一阈值大于第二阈值。
13、在第一方面的一种可能的实现方式中,若第一时间段内第一记录的生成数量小于第一阈值,服务器可以根据m个第一时间段内每个第一时间段内第一记录的第一置信度,进一步评估是否生成第一记录所记录的第一差分包。
14、具体的,若第一记录的数量小于第一阈值,则获取m个第一时间段内每个第一时间段内生成的第一记录的数量。其中,m个第一时间段具有相同的时长。若m个第一时间段内第一记录的第一置信度大于预设置信度,则生成第一记录所记录的第一差分包,并在第四下载地址存储第一差分包。第一置信度=m/m。m为m个第一时间段中生成第一记录的数量大于第二阈值的第一时间段的数量。其中,m、m为大于1的整数。
15、在第一方面的一种可能的实现方式中,服务器还可以根据一段时间内的第一查询请求,删除下载频率较低的第一差分包,进一步节省服务器存储第一差分包的存储空间。本技术中,若服务器已生成第一差分包,则生成第二记录,第二记录用于记录第一查询请求所请求的第一差分包。获取n个第一时间段内每个第一时间段内生成的第二记录的数量,其中,n个第一时间段具有相同的时长。若n个第一时间段内至少有n个第一时间段内第二记录的数量均小于第三阈值,则删除第二记录所记录的第一差分包,其中n、n为大于1的整数。
16、在第一方面的一种可能的实现方式中,服务器可以根据n个第一时间段内每个第一时间段内第二记录的第二置信度,进一步评估是否删除成第二记录所记录的第一差分包。
17、具体的,若服务器已生成第一差分包,则生成第二记录,第二记录用于记录第一查询请求所请求的第一差分包。;获取n个第一时间段内每个第一时间段内生成的第二记录的数量。其中,n个第一时间段具有相同的时长。若n个第一时间段内第二记录的第二置信度大于第二预设置信度,删除第二记录所记录的第一差分包。其中,第二置信度=n/n,n为n个第一时间段中生成第二记录的数量小于第三阈值的第一时间段的数量。其中n、n为大于1的整数
18、第二方面,提供一种服务器,服务器包括:存储器、通信模块和一个或多个处理器;存储器、通信模块与处理器耦合;其中,通信模块用于与电子设备交互,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得服务器执行如下步骤:接收来自第一电子设备的第一查询请求,第一查询请求用于请求下载第一app的第一差分包;若服务器已生成第一差分包,则向第一电子设备指示第一差分包的第一下载地址;若服务器未生成第一差分包,则生成第一记录;其中,第一记录第一查询请求所请求的第一差分包;服务器获取第一时间段内由服务器生成的第一记录的数量;其中,第一时间段包括服务器接收到第一查询请求的当前时刻前的预设时长;或者,第一时间段包括第一时刻到服务器接收到第一查询请求的当前时刻之间的时间段;或者,第一时间段为预设时间段;若第一记录的数量大于第一阈值,则生成第一记录所记录的第一差分包,并在第二下载地址存储第一差分包。
19、结合第二方面,在一种可能的设计方式中,第一时间段包括当前时刻前的预设时长;或者,第一时间段包括第一时刻到当前时刻之间的时间段;当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:在若第一记录的数量大于第一阈值,则生成第一记录所记录的第一差分包之后,向第一电子设备指示第一差分包的第二下载地址。
20、结合第二方面,在一种可能的设计方式中,第一时间段为预设时间段;当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若服务器未生成第一差分包,则向第一电子设备指示第一app的全量包的第三下载地址;接收来自第二电子设备的第二查询请求,第二查询请求用于请求下载第一app的第一差分包;服务器已生成第一差分包,向第二电子设备指示第一差分包的第二下载地址。
21、结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一记录的数量大于第一阈值,则标记第一记录为待生成差分包的记录;接收来自第三电子设备发送的第三查询请求,第三查询请求用于请求下载第一app的第一差分包;服务器未生成第一差分包,但第一记录标记为待生成差分包的记录,则生成第一记录所记录的第一差分包,并在第二下载地址存储第一差分包。
22、结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一记录的数量小于第一阈值,则获取m个第一时间段内每个第一时间段内生成的第一记录的数量,其中,m个第一时间段具有相同的时长;若m个第一时间段内至少有m个第一时间段内第一记录的数量均大于第二阈值,则生成第一记录所记录的第一差分包,并在第四下载地址存储第一差分包,其中,m、m为大于1的整数,第一阈值大于第二阈值。
23、结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一记录的数量小于第一阈值,则获取m个第一时间段内每个第一时间段内生成的第一记录的数量,其中,m个第一时间段具有相同的时长;若m个第一时间段内第一记录的第一置信度大于预设置信度,则生成第一记录所记录的第一差分包,并在第四下载地址存储第一差分包,第一置信度=m/m,m为m个第一时间段中生成第一记录的数量大于第二阈值的第一时间段的数量。
24、结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若服务器已生成第一差分包,则生成第二记录,第二记录用于记录第一查询请求所请求的第一差分包;获取n个第一时间段内每个第一时间段内生成的第二记录的数量,其中,n个第一时间段具有相同的时长;若n个第一时间段内至少有n个第一时间段内第二记录的数量均小于第三阈值,则删除第二记录所记录的第一差分包,其中n、n为大于1的整数。
25、结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若服务器已生成第一差分包,则生成第二记录,第二记录用于记录第一查询请求所请求的第一差分包;获取n个第一时间段内每个第一时间段内生成的第二记录的数量,其中,n个第一时间段具有相同的时长;若n个第一时间段内第二记录的第二置信度大于第二预设置信度,删除第二记录所记录的第一差分包,其中,第二置信度=n/n,n为n个第一时间段中生成第二记录的数量小于第三阈值的第一时间段的数量。
26、第三方面,本技术提供一种芯片系统,该芯片系统可以应用于包括存储器的服务器。该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。该接口电路用于从上述存储器接收信号,并向处理器发送该信号,该信号包括存储器中存储的计算机指令。当处理器执行该计算机指令时,服务器执行如第一方面及其任一种可能的设计方式的方法。
27、第四方面,本技术提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令。当计算机指令在服务器上运行时,使得该服务器执行如第一方面及其任一种可能的设计方式的方法。
28、第五方面,本技术提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面及其任一种可能的设计方式的方法。
29、可以理解地,上述第二方面的服务器、第三方面的芯片系统,第四方面的计算机可读存储介质,第五方面的计算机程序产品所能达到的有益效果,可参考如第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。