CN116774949A - 一种资源包的存储方法及服务器 - Google Patents

一种资源包的存储方法及服务器 Download PDF

Info

Publication number
CN116774949A
CN116774949A CN202311055836.7A CN202311055836A CN116774949A CN 116774949 A CN116774949 A CN 116774949A CN 202311055836 A CN202311055836 A CN 202311055836A CN 116774949 A CN116774949 A CN 116774949A
Authority
CN
China
Prior art keywords
server
local area
area network
resource
app
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.)
Granted
Application number
CN202311055836.7A
Other languages
English (en)
Other versions
CN116774949B (zh
Inventor
李前国
杨颂
刘仁清
周璇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311055836.7A priority Critical patent/CN116774949B/zh
Publication of CN116774949A publication Critical patent/CN116774949A/zh
Application granted granted Critical
Publication of CN116774949B publication Critical patent/CN116774949B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例涉及计算机技术领域,尤其涉及一种资源包的存储方法及服务器,能够缩短电子设备下载资源包的时长。该方法应用于第一服务器,第一服务器用于生成资源包,并在至少一个第二服务器中存储资源包。该方法包括:接收来自第一电子设备的第一查询请求,第一查询请求用于请求下载第一APP的第一资源包,第一资源包为第一APP的安装包或者差分包,第一查询请求中还包括第一电子设备接入的第一局域网的标识;若第一局域网对应的第二服务器中未存储第一APP的第一资源包,则生成第一记录;获取第一时间段内生成的第一记录的数量;若第一记录的数量大于第一阈值,则在第一局域网对应的第二服务器中存储第一APP的第一资源包。

Description

一种资源包的存储方法及服务器
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种资源包的存储方法及服务器。
背景技术
电子设备可以从服务器获取资源包,来升级电子设备中应用程序(Application,APP)的版本或者在电子设备中安装APP。资源包可以是APP的软件安装包或者APP的软件升级包。例如,电子设备显示应用商店APP的应用安装界面,响应于用户点击目标APP的安装按钮,电子设备可以向位于云侧的服务器发送请求一,该请求一用于请求获取目标APP的软件安装包。响应于接收到该请求一,位于云侧的服务器可以向手机发送目标APP的软件安装包的下载地址。该下载地址对应一台内容分发网络服务器(Content Delivery Network,CDN)。其中,CDN服务器是位于互联网各个网络节点中的服务器。位于云侧的服务器与多个CDN服务器连接,其主要作用是在用户访问网站时,根据用户的地理位置和网络状况,自动选择距离用户最近的服务器节点,从而实现快速的内容分发和访问加速。
电子设备在接收到云侧的服务器发送的下载地址之后,电子设备可以通该下载地址从对应的CDN服务器上下载目标APP的软件安装包。
调查发现,由于软件安装包或者软件升级包的数据量过大,电子设备下载软件安装包或者软件升级包的时长占电子设备安装应用或者电子设备升级应用的时长的70%以上。也就是说,电子设备安装APP或升级APP的时长中,超过70%的时长都花费在电子设备从CDN服务器中下载安装包或者升级包。这就导致用户升级或安装APP的耗时非常长,影响用户的使用体验。
发明内容
本申请实施例提供一种资源包的存储方法及服务器,用于解决电子设备下载资源包耗时长的问题。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供一种资源包的存储方法,应用于第一服务器。第一服务器用于生成资源包,并在至少一个第二服务器中存储资源包。该方法包括:第一服务器接收来自第一电子设备的第一查询请求,第一查询请求用于请求下载第一APP的第一资源包,第一资源包为第一APP的安装包或者差分包,第一查询请求中还包括第一电子设备接入的第一局域网的标识;若第一局域网对应的第二服务器中未存储第一APP的第一资源包,则第一服务器生成第一记录;其中,第一记录用于记录接入第一局域网的电子设备所请求的第一资源包;每个第二服务器对应一个或多个局域网;之后,第一服务器获取第一时间段内生成的第一记录的数量;其中,第一时间段包括第一服务器接收到第一查询请求的当前时刻前的预设时长;或者,第一时间段包括第一时刻到服务器接收到第一查询请求的当前时刻之间的时间段;或者,第一时间段为预设时间段;若第一记录的数量大于第一阈值,则第一服务器在第一局域网对应的第二服务器中存储第一APP的第一资源包。
本申请中,第一服务器接收到电子设备发送的第一查询请求,若第一服务器识别电子设备接入的第一局域网对应的第二服务器中存储有第一资源包,第一服务器可以向电子设备指示第二服务器的第一下载地址,电子设备可以通过该第一下载地址从第二服务器中下载第一资源包。若第一服务器识别电子设备接入的第一局域网对应的第二服务器中未存储有第一资源包,服务器可以生成第一记录。第一记录用于记录第一资源包的信息以及电子设备所接入的第一局域网的信息。之后,第一服务器获取在接收到查询请求的当前时刻之前预设时长(第一时间段)内,第一服务器生成第一记录的数量,或者,第一服务器可以获取第一时刻至接收到查询请求的当前时刻(第一时间段)内,第一服务器生成第一记录的数量,或者第一服务器可以获取预设时间段(第一时间段)内,第一服务器生成第一记录的数量。之后,第一服务器可以判断第一时间段内第一服务器生成第一记录的数量是否大于第一阈值。若第一时间段内第一服务器生成第一记录的数量大于第一阈值,说明第一时间段内请求下载第一资源包的第一查询请求的数量大于第一阈值,也能说明第一时间段内接入第一局域网的电子设备对第一资源包的需求程度高。此时,第一服务器可以将第一资源包存储在第一局域网对应的第二服务器中,进而满足大多数用户的下载需求。即本申请中,第一服务器可以根据第一局网内的用户对第一资源包的需求程度,将需求程度高的第一资源包存储在第一局域网对应的第二服务器中,满足大部分用户的需求,缩短用户下载资源包的时长,提高用户下载资源包的效率,同时节省第二服务器存储第一资源包的空间。
在第一方面一种可能的实现方式中,第一服务器可以将资源包存储在多个第二服务器中。多个服务器可以对应与多个门店设置。例如,多个第二服务器可以与多个门店一一对应。每个门店可以包括一个或多个局域网。一个或多个局域网可以对应一个第二服务器。例如,每个门店可以包括一个局域网,每个门店包括与局域网对应的第二服务器。或者,多个门店共用一个第二服务器,即多个局域网对应一个第二服务器,其中,这多个门店的地址位置在一定距离范围内。又例如,每个门店可以包括多个局域网,每个门店包括与多个局域网对应的第二服务器。或者,多个门店共用一个第二服务器,即多个局域网对应一个第二服务器。
在第一方面一种可能的实现方式中,若第一局域网对应的第二服务器中存储有第一APP的第一资源包,第一服务器可以向第一电子设备指示第一局域网对应的第二服务器的第一下载地址。
在第一方面一种可能的实现方式中,第一时间段包括当前时刻前的预设时长;或者,第一时间段包括第一时刻到当前时刻之间的时间段。即第一服务器可以在接收到第一查询请求之后,及时将第一资源包存储在第一局域网对应的第二服务器中。
具体的,若第一记录的数量大于第一阈值,则在第一局域网对应的第二服务器中存储第一APP的第一资源包之后,第一服务器向第一电子设备指示第二服务器的第一下载地址。本申请中,若第二服务器未存储第一资源包,第一服务器可以获取在接收到查询请求的当前时刻前的预设时长(第一时间段)内,或者服务器可以获取第一时刻至接收到查询请求的当前时刻(第一时间段)内,服务器生成第一记录的数量。并在第一记录的数量大于第一阈值时,将第一资源包存储在第一局域网对应的第二服务器中。之后,第一服务器可以向电子设备指示第一差分包的第一下载地址。电子设备可以通过第一下载地址下载第一资源包。如此,第一服务器可以在接收到第一查询请求之后,且第二服务器未存储第一资源包时。第一服务器可以及时获取第一时间段内生成第一记录的数量,并且在第一记录的数量大于第一阈值时,及时将第一资源包存储在第一局域网对应的第二服务器中。
在第一方面一种可能的实现方式中,第一时间段为预设时间段。第一服务器可以在接收到第一查询请求之后,先向第一电子设备指示第一资源包的第二下载地址。其中,第二下载地址对应存储有第一资源包的其他第二服务器。之后,获取预设时间段内生成第一记录的数量,进而,根据第一记录的生成数量,将第一资源包存储在第一局域网对应的第二服务器中。之后,响应于接入第一局域网的第二电子设备的第二查询请求,该第二查询请求也请求获取第一资源包时,服务器可以直接向第二电子设备指示第一资源包的第一下载地址。
具体的,若第一局域网对应的第二服务器中未存储有第一APP的第一资源包,则向第一电子设备指示第一资源包的第二下载地址。其中,第二下载地址对应存储有第一资源包的第二服务器,存储有第一资源包的第二服务器与第一局域网对应的第二服务器不同。之后,第一服务器接收来自接入第一局域网的第二电子设备的第二查询请求,第二查询请求用于请求下载第一APP的第一资源包。第一局域网对应的第二服务器中存储有第一APP的第一资源包,服务器向第二电子设备指示第一局域网对应的第二服务器的第一下载地址。
在第一方面的一种可能的实现方式中,若第一记录的生成数量大于第一阈值,第一服务器可以先将该第一记录标记为待存储资源包的记录。第一服务器接收到接入第一局域网的第三电子设备发送的第三查询请求,该第三查询请求请求获取第一资源包时,第一服务器再将第一资源包存储在第一局域网对应的第二服务器中。
具体的,若第一记录的数量大于第一阈值,则标记第一记录为待存储资源包的记录。接收来自接入第一局域网的第三电子设备发送的第三查询请求,第三查询请求用于请求下载第一APP的第一资源包。响应于第三查询请求,若第一局域网对应的第二服务器中未存储第一资源包存储在,但第一记录标记为待存储资源包的记录。则在第一局域网对应的第二服务器中存储第一APP的第一资源包。
在第一方面的一种可能的实现方式中,若第一时间段内第一记录的生成数量小于第一阈值,第一服务器可以根据M个第一时间段内每个第一时间段内第一记录的生成数量,进一步评估是否将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。
具体的,若第一记录的数量小于第一阈值,则获取M个第一时间段内每个第一时间段内生成的第一记录的数量,其中,M个第一时间段具有相同的时长。若M个第一时间段内至少有m个第一时间段内生成第一记录的数量均大于第二阈值,则在第一局域网对应的第二服务器中存储第一APP的第一资源包。其中,M、m为大于1的整数,第一阈值大于第二阈值。
在第一方面的一种可能的实现方式中,若第一时间段内第一记录的生成数量小于第一阈值,第一服务器可以根据M个第一时间段内第一记录的第一置信度,进一步评估是否将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。
具体的,若第一记录的数量小于第一阈值,则获取M个第一时间段内每个第一时间段内生成的第一记录的数量,其中,M个第一时间段具有相同的时长。若M个第一时间段内第一记录的第一置信度大于第一预设置信度,则在第一局域网对应的第二服务器中存储第一APP的第一资源包。第一置信度=m/M。m为M个第一时间段中生成第一记录的数量大于第二阈值的第一时间段的数量。
在第一方面的一种可能的实现方式中,第一服务器还可以根据一段时间内的第一查询请求,删除第二服务器中下载频率较低的第一资源包,进一步节省第二服务器存储第一资源分包的存储空间。本申请中,若第一局域网对应的第二服务器中已存储第一APP的第一资源包,则生成第二记录,第二记录用于记录接入第一局域网的电子设备所请求的第一资源包。获取N个第一时间段内每个第一时间段内生成的第二记录的数量,其中,N个第一时间段具有相同的时长。若N个第一时间段内至少有n个第一时间段内生成第二记录的数量均小于第三阈值,则删除第二服务器中的第一资源包,其中,N、n为大于1的整数。
在第一方面的一种可能的实现方式中,第一服务器可以根据N个第一时间段内每个第一时间段内第二记录的第二置信度,删除第二服务器中下载频率较低的第一资源包,进一步节省第二服务器存储第一资源分包的存储空间。本申请中,若第一局域网对应的第二服务器中已存储第一APP的第一资源包,则生成第二记录,第二记录用于记录接入第一局域网的电子设备所请求的第一资源包。获取N个第一时间段内每个第一时间段内生成的第二记录的数量,其中,N个第一时间段具有相同的时长。若N个第一时间段内第二记录的第二置信度大于第二预设置信度,则删除第二服务器中的第一资源包。其中,第二置信度=n/N。n为N个第一时间段中生成第二记录的数量小于第三阈值的第一时间段的数量。其中,N、n为大于1的整数。
第二方面,提供一种服务器,服务器包括:存储器、通信模块和一个或多个处理器;存储器、通信模块与处理器耦合;其中,通信模块用于与电子设备交互,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得服务器执行如下步骤:第一服务器接收来自第一电子设备的第一查询请求,第一查询请求用于请求下载第一APP的第一资源包,第一资源包为第一APP的安装包或者差分包,第一查询请求中还包括第一电子设备接入的第一局域网的标识;若第一局域网对应的第二服务器中未存储第一APP的第一资源包,则第一服务器生成第一记录;其中,第一记录用于记录接入第一局域网的电子设备所请求的第一资源包;每个第二服务器对应一个或多个局域网;之后,第一服务器获取第一时间段内生成的第一记录的数量;其中,第一时间段包括第一服务器接收到第一查询请求的当前时刻前的预设时长;或者,第一时间段包括第一时刻到服务器接收到第一查询请求的当前时刻之间的时间段;或者,第一时间段为预设时间段;若第一记录的数量大于第一阈值,则第一服务器在第一局域网对应的第二服务器中存储第一APP的第一资源包。
结合第二方面,在一种可能的设计方式中,至少一个第二服务器包括多个第二服务器,多个第二服务器对应于多个门店设置,多个第二服务器与多个门店一一对应,每个门店包括一个或多个局域网。
结合第二方面,在一种可能的设计方式中,上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一局域网对应的第二服务器中存储有第一APP的第一资源包,则向第一电子设备指示第一局域网对应的第二服务器的第一下载地址。
结合第二方面,在一种可能的设计方式中,第一时间段包括当前时刻前的预设时长;或者,第一时间段包括第一时刻到当前时刻之间的时间段;当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:在若第一记录的数量大于第一阈值,则在第一局域网对应的第二服务器中存储第一APP的第一资源包之后,向第一电子设备指示第二服务器的第一下载地址。
结合第二方面,在一种可能的设计方式中,第一时间段为预设时间段;当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一局域网对应的第二服务器中未存储有第一APP的第一资源包,则向第一电子设备指示第一资源包的第二下载地址;其中,第二下载地址对应存储有第一资源包的第二服务器,存储有第一资源包的第二服务器与第一局域网对应的第二服务器不同;接收来自接入第一局域网的第二电子设备的第二查询请求,第二查询请求用于请求下载第一APP的第一资源包;第一局域网对应的第二服务器中存储有第一APP的第一资源包,服务器向第二电子设备指示第一局域网对应的第二服务器的第一下载地址。
结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一记录的数量大于第一阈值,则标记第一记录为待存储资源包的记录;接收来自接入第一局域网的第三电子设备发送的第三查询请求,第三查询请求用于请求下载第一APP的第一资源包;响应于第三查询请求,若第一局域网对应的第二服务器中未存储第一资源包存储在,但第一记录标记为待存储资源包的记录,则在第一局域网对应的第二服务器中存储第一APP的第一资源包。
结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一记录的数量小于第一阈值,则获取M个第一时间段内每个第一时间段内生成的第一记录的数量,其中,M个第一时间段具有相同的时长;若M个第一时间段内至少有m个第一时间段内生成第一记录的数量均大于第二阈值,则在第一局域网对应的第二服务器中存储第一APP的第一资源包,其中,M、m为大于1的整数,第一阈值大于第二阈值。
结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一记录的数量小于第一阈值,则获取M个第一时间段内每个第一时间段内生成的第一记录的数量,其中,M个第一时间段具有相同的时长;若M个第一时间段内第一记录的第一置信度大于第一预设置信度,则在第一局域网对应的第二服务器中存储第一APP的第一资源包,第一置信度=m/M,m为M个第一时间段中生成第一记录的数量大于第二阈值的第一时间段的数量。
结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一局域网对应的第二服务器中已存储第一APP的第一资源包,则生成第二记录,第二记录用于记录接入第一局域网的电子设备所请求的第一资源包;获取N个第一时间段内每个第一时间段内生成的第二记录的数量,其中,N个第一时间段具有相同的时长;若N个第一时间段内至少有n个第一时间段内生成第二记录的数量均小于第三阈值,则删除第二服务器中的第一资源包,其中,N、n为大于1的整数。
结合第二方面,在一种可能的设计方式中,当上述计算机指令被处理器执行时,使得电子设备还执行以下步骤:若第一局域网对应的第二服务器中已存储第一APP的第一资源包,则生成第二记录,第二记录用于记录接入第一局域网的电子设备所请求的第一资源包;获取N个第一时间段内每个第一时间段内生成的第二记录的数量,其中,N个第一时间段具有相同的时长;若N个第一时间段内第二记录的第二置信度大于第二预设置信度,则删除第二服务器中的第一资源包,其中,第二置信度=n/N,n为N个第一时间段中生成第二记录的数量小于第三阈值的第一时间段的数量。
第三方面,本申请提供一种芯片系统,该芯片系统可以应用于包括存储器的服务器。该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。该接口电路用于从上述存储器接收信号,并向处理器发送该信号,该信号包括存储器中存储的计算机指令。当处理器执行该计算机指令时,服务器执行如第一方面及其任一种可能的设计方式的方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令。当计算机指令在服务器上运行时,使得该服务器执行如第一方面及其任一种可能的设计方式的方法。
第五方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面及其任一种可能的设计方式的方法。
可以理解地,上述第二方面的服务器、第三方面的芯片系统,第四方面的计算机可读存储介质,第五方面的计算机程序产品所能达到的有益效果,可参考如第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为相关技术提供的一种资源包下载系统的架构示意图;
图2为相关技术提供的一种资源包下载系统的架构示意图;
图3为相关技术提供的一种资源包的下载方法的流程示意图;
图4为本申请实施例提供的一种资源包下载系统的架构示意图;
图5为本申请实施例提供的一种资源包的下载方法的流程示意图;
图6为本申请实施例提供的另一种资源包的下载方法的流程示意图;
图7为本申请实施例提供的一种服务器存储资源包的方法示意图;
图8为本申请实施例提供的另一种资源包的下载方法的流程示意图;
图9为本申请实施例提供的一种手机与服务器内部模块交互示意图;
图10为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
电子设备可以从服务器获取软件更新包或安装包,来升级或安装应用程序(APP)。电子设备中的APP可以包括电子设备自带的系统APP、以及用户自行下载到电子设中的第三方APP,系统APP可以包括联系人APP、以及设置APP等;第三方APP可以包括:社交类APP、银行类APP、视频类APP等。
以电子设备从服务器获取软件更新包为例,图1为相关技术中一种更新包下载系统的架构示意图。该更新包下载系统可以包括位于云侧的服务器、电子设备(例如手机)、以及内容分发网络服务器(Content Delivery Network,CDN)。其中,云侧的服务器可以与多个CDN服务器连接。多个CDN服务器可以是部署在互联网多个节点上的服务器,其主要作用是在用户访问网站时,位于云侧的服务器根据用户的地理位置和网络状况,自动选择距离用户最近的CDN服务器节点为下载节点,从而实现快速的内容分发和访问加速。
图1中的手机可以接收用户的第一操作,第一操作用于触发手机向服务器发送查询请求。第一操作例如可以是用户在应用市场APP,点击第一APP的更新按钮。如图1所示,手机显示第一界面,该第一界面可以是应用市场APP的应用更新界面。该第一界面显示多个APP的图标、以及APP的名称、当前版本及待升级版本、以及待升级版本的大小。示例性的,开发者将APP的最新安装包上传至服务器之后,服务器可以向手机推送更新消息,更新消息包括最新版本及最新版本的大小。手机响应于接受到该更新消息生成更新提示,该更新提示可以显示在第一界面中。在另一些实施例中,手机的主界面(也称为桌面)可以包括多个APP的图标,一个APP的版本有更新时服务器可以通知到手机,手机可以在对应APP的图标上显示更新标记。例如,手机系统有更新时设置应用的图标上可以显示更新标记。手机响应于用户对设置应用的相关操作,可以请求更新系统。
应理解,手机也可以自动向服务器发送查询请求。例如,当用户设置手机在连接Wi-Fi后自动更新APP时,手机可以在连接Wi-Fi后,自动向服务器发送查询请求。或者,当用户设置手机在固定时刻自动更新APP时,手机可以在固定时刻自动向服务器发送查询请求。
查询请求可以用于查询服务器是否已生成有第一APP的差分包。查询请求例如可以包括第一APP的名称、第一APP的当前版本、第一APP的待升级版本。如图1中,查询请求可以是APP1、V8.8、V8.9。
常规的升级方式可以包括增量升级及全量升级。如图1中,手机可以向位于云侧的服务器发送查询请求。服务器可以向手机发送全量包的下载地址。该下载地址对应一台CDN服务器。手机在接收到上述下载地址之后,手机就可以从该下载地址对应的CDN服务器中下载完整的新版本的安装包(APK),然后用新版本的安装包,覆盖升级电子设备中低版本的安装包。这样的升级方式可以称为全量升级。例如,待升级的APP的当前版本为V1.0,电子设备从CDN服务器获取到V3.0版本的安装包,电子设备用V3.0版本的安装包升级该APP。
手机也可以向位于云侧的服务器发送查询请求,请求获取差分包。响应于接收到查询请求,服务器可以向手机发送差分包的下载地址。该下载地址对应一台CDN服务器。手机在接收到上述下载地址之后,手机就可以从该下载地址对应的CDN服务器中下载新版本的安装包与电子设备中低版本的安装包的差分包,然后用该差分包再升级APP。这样的升级方式可以称为增量升级。其中,差分包也可以称为增量包。差分包主要包括低版本安装包与高版本之间的差异数据,差分包的大小一般小于完整的安装包,所以利用差分包升级能够节省电子设备下载时间及下载流量。例如,待升级的APP的当前版本为V1.0,电子设备从CDN服务器获取差分包D13,该差分包D13以包括V1.0版本与V3.0版本之间的差异数据。电子设备将差分包D13与APP的当前版本V1.0结合,就可以得到V3.0版本的安装包。
下面结合图2及图3介绍相关技术提供的一种下载资源包的方法。
如图2所示,位于云侧的服务器可以包括资源服务模块、分发服务模块,位于云侧的服务器可以连接数据库或者部署有数据库。图2中,通常,开发者将APP的最新安装包上传至服务器中的资源服务模块之后,运营人员可以审核开发者上传的APP的最新安装包。在审核通过之后,服务器中的差分服务模块可以生成差分包。服务器可以将差分包及全量包的信息存储在数据库中,上述信息可包括差分包及安装包的版本信息、名称信息以及下载地址等信息。服务器可以将差分包及全量包存储在部署在各个互联网节点中的CDN服务器上。
终端例如手机可以包括接收模块、查询模块、下载模块、安装更新模块。上述模块相互交互,使得手机可以从服务器中下载资源包,并使用资源包升级或者安装APP。该资源包可以是差分包或者全量包。
具体的,接收模块接收用户的第一操作,第一操作用于触发手机向服务器发送查询请求。查询请求用于请求第一APP的资源包,该资源包可以是全量包或者差分包。该第一操作,例如可以是用户点击图1中第一界面上APP1的升级按钮。或者,用户点击图1中第二界面上APP1的安装按钮。
以资源包是差分包为例,查询模块向服务器发送查询请求。响应于接收到查询请求,服务器中的分发服务模块可以获取查询请求所请求的差分包的下载地址及相关信息,并向手机发送该下载地址。响应于接收到该下载地址,下载模块可以向下载地址对应的第一CND服务器发送下载请求。响应于接收到下载请求,第一CND服务器向手机发送差分包。在差分包下载完成之后,下载模块可以触发增量计算模块(图2中未示出)计算差分包的大小,确定所下载的差分包的大小是否正确。在确定下载的差分包的大小是正确的之后,触发合成模块(图2中未示出)将差分包与手机中的当前版本的安装包合成,得到待升级版本的安装包。安装更新模块可以对待升级版本的安装包进行校验,并在校验合格之后,升级第一APP。在一些实施例中,若增量计算模块确定下载的差分包的大小不正确的之后,可以触发查询模块再次向服务器发送查询请求。
图3为相关技术提供的一种下载资源包的流程示例图。图3中,资源包可以是差分包或者全量包。
在S301,手机向服务器发送查询请求。
在S302,响应于接收到该查询请求,服务器识别是否生成有查询请求所请求的资源包。
服务器识别生成有所请求的资源包,服务器可以执行图3的S303。
在S303,服务器识别生成有所请求的资源包,服务器向手机发送资源包的下载地址。
在S304,响应于接收到资源包的下载地址,手机向该下载地址对应的CDN服务器发送下载请求。该下载请求请求下载存储在该CDN服务器中的第一APP的资源包。
在S305,内容发布网络服务器向手机发送第一APP的资源包。
在S306,响应于接收到第一APP的资源包,手机使用该资源包升级或安装第一APP。
服务器识别未生成有查询请求所请求的差分包,服务器可以执行图3中的S307。
在S307,服务器识别服务器没有生成有查询请求所请求的资源包,服务器生成资源包并将资源包存储在CDN服务器中。
位于云侧的服务器可以与多个CDN服务器连接,位于云侧的服务器可以将资源包随机存储在一个或多个CDN服务器中。
在S308,服务器向手机发送资源包的下载地址。
在S309,响应于接收到资源包的下载地址,手机向该下载地址对应的CDN服务器发送下载请求。该下载请求请求下载存储在该CDN服务器中的第一APP的资源包。
在S3010,内容发布网络服务器向手机发送第一APP的资源包。
在S3011,响应于接收到第一APP的资源包,手机使用该资源包升级或安装第一APP。
图3中,这两台CDN服务器可以是同一台CND服务器或者是两台不同的服务器。
由于全量包或差分包资源较大,下载全量包或差分包的耗时需要占整个APP安装更新的70%左右。也就是说,在升级APP时,70%的耗时都是下载全量包或者下载差分包。当用户在升级更新多个APP时,下载耗时更加明显,影响了用户体验。
调查发现,用户一般会在购买电子产品的购物场所试运行电子设备,并使用购物场所的网络,打开电子设备中的应用商店进行APP的安装与更新。例如,响应于用户点击无线Wi-Fi开关,电子设备可以自动连接购物场所的公共Wi-Fi或者响应于用户输入Wi-Fi密码,电子设备可连接购物场所的公共Wi-Fi。这样,电子设备可以使用Wi-Fi自动或者响应于用户触发,进行APP的安装或升级更新。
因此,本申请将CND服务器部署在购物场所的局域网中,这样由于电子设备与CDN服务器在同一个局域网内,电子设备下载全量包或者差分包的效率大幅提升,从而提升用户的满意度。
局域网是局部地区形成的一个区域网络,用于将有限地理范围内的计算机及网络设备相互连接在一起,构成一个单位或部门所有的计算机网络。局域网具有组建简单、维护方便、传输效率高、出错率低、网络延时小等优先。特别是,局域网的传输速率一般可以达到100MB/S以上,高速局域网的传输速率卡达到1000MB/S以上。而通常互联网的传输速率为10MB/S之内,局域网的传输速率远高于互联网。因此,手机从处于同一局域网的CDN服务器下载全量包或差分包的下载时间会大大减少。
如图4所示,第一服务器即生成资源包的服务器,第一服务器可以位于云侧。第二服务器即用于存储资源包的服务器,该第二服务器例如可以是前文中的CDN服务器。从图4可以看出,第一服务器可以与多个第二服务器通信,第一服务器可以将资源包存储在多个第二服务器中。多个第二服务器对应多个门店设置。例如,多个第二服务器可以与多个门店一一对应。每个门店可以包括一个或多个局域网。一个或多个局域网可以对应一个第二服务器。例如,每个门店可以包括一个局域网,每个门店包括与局域网对应的第二服务器。或者,多个门店共用一个第二服务器,即多个局域网对应一个第二服务器,其中,这多个门店的地址位置在一定距离范围内。又例如,每个门店可以包括多个局域网,每个门店包括与多个局域网对应的第二服务器。或者,多个门店共用一个第二服务器,即多个局域网对应一个第二服务器
门店可以理解为售卖电子设备的店面,或者,门店可以是包括售卖电子设备的店面的购物场所。例如,门店可以为某品牌手机专卖店或者包括该专卖店的商场。其中,电子设备可以是手机、平板电脑、个人笔记本电脑、智能穿戴设备等等。每一台第二服务器可以位于一个门店中即多个第二服务器与多个门店一一对应。如图4中,第二服务器1与门店1对应,第二服务器2与门店2对应,第二服务器3与门店3对应。其中,对应可以理解为第二服务器可以接入门店的局域网,第二服务器可以通过门店的局域网与第一服务器及电子设备通信。门店可以包括一个或多个局域网。如图4所示,门店3部署有一个局域网3,第二服务器3可以接入该局域网3,进而通过局域网3与第一服务器及电子设备通信。门店1部署有局域网1a及局域网1b,第二服务器1可以接入局域网1a或者局域网1b,进而通过局域网1a或者局域网1b与第一服务器及电子设备通信。第二服务器可以位于门店中,或者位于包括门店的购物场所中,或者位于距离门店或购物场所一定范围的地址位置处。应理解,多个第二服务器中还包括不与门店对应的第二服务器,如图4中的第二服务器4。例如,该第二服务器可以位于互联网的某个网络节点处。下面结合图4介绍一下本方案。
在S0,第一服务器将资源包存储在多个第二服务器中。
如图4所示,第一服务器将资源包分别存储在第二服务器1、第二服务器2、第二服务器3、第二服务器4中。
在S1,接入局域网3的电子设备向第一服务器发送查询请求,该查询请求例如请求获取第一APP的资源包。
在S2,第一服务器将与局域网3对应的第二服务器3的下载地址发送给电子设备。
在S3,响应于接受到该下载地址,电子设备向第二服务3发送下载请求。
在S4,响应于接收到下载请求,第二服务器3向电子设备发送资源包。
由于接入局域网3的电子设备与第二服务器3位于同一个局域网中,且局域网的传输速率较高。因此,该电子设备下载资源包的耗时较少。
但是,随着APP的种类不断增加,以及APP版本的不断更新,相应的差分包及全量包的数量也急剧增加,差分包及全量包所需的存储空间也急剧增加。若将资源包全部存储在与第二服务器中,例如将资源包全部存储在与门店对应的服务器中,虽然能够提升电子设备的下载速率,但是资源包会占用第二服务器大量的存储空间。
进一步的,为了节省第二服务器的存储空间,同时节省用户下载资源包的时长提高下载效率,本申请实施例提供一种资源包的存储方法及服务器。服务器可以是第一服务器,第一服务器可以生成资源包,并将资源包存储在多个第二服务器中。第一服务器在收到电子设备发送的第一查询请求后,若电子设备所接入第一局域网对应的第二服务器未存储第一资源包,第一服务器会生成第一查询请求对应的第一记录。第一服务器还会获取第一记录在第一时间段内(如第一时刻至当前时刻或者当前时刻之前的预设时长内)的生成数量。若第一记录在第一时间段的生成数量超过第一阈值,第一服务器将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。
第一记录在第一时间段内的生成数量,相当于接入第一局域网的电子设备在第一时间段内发送的第一查询请求的数量,能够反映出接入第一局域网的电子设备对第一记录所记录的第一资源包的需求程度。第一服务器第一记录在第一时间段内的生成数量时,将第一资源包存储在第一局域网对应的第二服务器中,即在接入第一局域网的电子设备对第一记录所记录的第一资源包的需求程度高时,第一电子设备才将第一资源包存储在第一局域网对应的第二服务器中。如此,不仅能够满足用户的下载需求,并且能够缩短用户下载第一资源包的时长,提高下载效率。同时,由于只在第二服务器中存储用户需求程度高的第一下载资源,能够节省第二服务器的存储空间。
下面结合附图,以电子设备是手机为例,介绍本申请实施例提供的一种资源包的存储方法及服务器。图5为本申请实施例提供的一种资源包的存储方法的流程示意图。
在S501,手机向第一服务器发送第一查询请求。
手机可以连接门店的第一局域网,手机可以通过门店的第一局域网向第一服务器发送第一查询请求。
例如,如图1所示,手机可以显示应用商场APP的第一界面,该第一界面可以包括多个手机中未安装的APP的图标及安装按钮。其中,安装按钮用于触发手机安装对应的APP。示例性的,响应于用于点击APP1的安装按钮,手机可以向第一服务器发送用于获取APP1的安装包的查询请求。
手机还可以显示应用商城的第二界面,该第二界面包括多个手机中以安装的APP的图标及升级按钮。其中,升级按钮用于触发手机升级对应的APP。示例性的,响应于用户点击APP1的升级按钮,手机可以向第一服务器发送获取用于APP1差分包的查询请求。
或者,手机可以自动向第一服务器发送第一查询请求,详见前文介绍,此处暂不赘述。
第一查询请求用于请求获取第一APP的第一资源包。其中,第一APP的资源包可以是第一APP的安装包,或者第一APP的差分包。示例性的,第一查询请求可以用于请求第一APP的最新的安装包。
第一查询请求请求获取第一APP的安装包,第一查询请求可以包第一APP的标识,该标识例如可以是第一APP的名称或第一APP的唯一编码等标识信息。一个第一APP对应唯一个标识。在一些实施例中,第一查询请求中还可以包括渠道标识,第一查询请求具体还用于请求获取包括该渠道信息的安装包。
第一查询请求请求获取第一APP的安装包,第一查询请求可以包第一APP的标识、第一APP的当前版本。在一些实施例中,第一查询请求还可以包括第一APP的待升级版本。在一些实施例中,第一查询请求若未携带第一APP的待升级版本,服务器默认将服务器中已有的第一APP的最新版本作为第一APP的待升级版本。在一些实施例中,第一APP的当前版本及待升级版本中还可以包括渠道标识,渠道标识指示第一APP的差分包由该标识所标记的渠道下载得来。
第一查询请求还可以包括手机已连接的第一局域网的标识。该标识例如可以是IP地址及网掩码。服务器可以根据第一查询请求中的IP地址及子网掩码,确定发送该第一查询请求的手机所连接的第一局域网。
互联网协议地址(Internet Protocol Address,IP地址)是IP协议提供的一种统一的是格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,如此来屏蔽物理地址的差异。IP通信协议预留了部分IP地址段供局域网中的设备使用。例如,预留了部分IP地址段,例如可以包括IP地址段:10.0.0.0-10.255.2.55.255、IP地址段:172.16.0.0-172.31.2.55.255、IP地址段:192.168.0.0-192.168.2.55.255。
IP地址可以是一个32位的进制数,通常用点分十进制表示。例如,192.168.0.1,对应的二进制就是11000000 10101000 00000000 00000001。
子网掩码和IP地址可以标识出一个局域网,具体的,将子网掩码与IP地址做与计算,可以得到该IP地址所在的局域网的网络地址。
例如,将IP地址192.168.0.1与子网掩码255.255.255.0转化为二进制,IP地址11010000.10101000.00000000.00000001,将子网掩码转为二进制11111111.11111111.11111111.00000000,进行AND运算之后,得到11000000.10101000.00000000.00000000,转化为是十进制后为192.168.0.0,该地址为IP地址所在的局域网的网络地址。
多个终端位于同一个局域网中时,多个终端的IP地址所在的局域网的网络地址是一致的。也就是说,服务器接收到手机发送的IP地址及子网掩码之后,根据IP地址及子网掩码能够确定出该IP地址所在的局域网的网络地址。处于同一个局域网中的多个终端的IP地址可是不同的,其子网掩码是相同的,且根据不同的IP地址及子网掩码确定出的局域网的网络地址是同一个。例如,将IP地址192.168.0.254与子网掩码255.255.255.0进行AND运算,得到该IP地址的所属的网络地址为192.168.0.0。可见,IP地址192.168.0.1与IP地址192.168.0.254属于同一个局域网中。例如,将IP地址192.168.1.254与子网掩码255.255.255.0进行AND运算,得到该IP地址的所属的网络地址为192.168.1.0。可见,IP地址与IP地址192.168.0.254不属于同一个局域网中。
示例性的,网络地址192.168.1.0、子网掩码255.255.255.0的局域网中,可以用的IP地址有254个。即可以连接254个电子设备,254个电子设备的IP地址在192.168.1.1-192.168.1.254之间。具体的,IP地址192.168.1.1表示该IP地址应对应的电子设备所在的网络为192.168.1.0,该电子设备具体为该局域网中编号为1的电子设备。
在S502,响应于接收到第一查询请求,服务器识别第一局域网对应的第二服务器中是否存储有第一资源包。
示例性的,服务器可以先根据第一查询请求携带的第一局域网的标识,识别出与第一局域网对应的第二服务器。进而,识别该第二服务器中是否存储有第一资源包。
例如,服务器首先确定发送给查询请求的手机所连接的第一局域网。服务器可以将查询请求中的IP地址及子网掩码进行AND运算,得到第一局域网的网络地址。之后,服务器可以查询与在该网络地址对应的第二服务器中是否存储有第一APP的资源包。
示例性的,服务器可以存储已部署的第二服务器、网络地址以及存储在第二服务器中的安装包之间的映射关系。该映射关系例如可以如表1所示。如表1所示,一个第一局域网可以与一个第二服务器对应,如表1中的第二服务器一与第二服务器2。第二服务器1可以接入网络地址为192.168.0.0的局域网中,通过该局域网与手机通信。一个第二服务器还可以与多个第一局域网对应,如表1中的第二服务器3。第二服务器3可以与两个第一局域网对应,第二服务器可以接入其中一个第一局域网与手机通信。接入这两个第一局域网中任意一个第一局域网的手机可以向第一服务器发送第一查询请求,第一服务器基于第一局域网与第二服务器之间的对应关系,确定出对应的第二服务器。
表1
如表1中,表1记录有局域网的网络地址,以及与该网络地址中对应的第二服务器之间的映射关系、以及存储在第二服务器中的资源包与第二服务器之间的映射关系。例如,表1还记录有存储在每台第二服务器中的资源包的标识,其中,资源包的标识包括安装包的标识及差分包的标识。安装包的标识可以是安装包的名称,例如,表1中apk1可以是安装包的标识,apk2-A为包括渠道标识的安装包标识,该渠道标识指示安装包apk2-A适用于渠道A,该安装包包括渠道A的相关信息。例如,表1中差分包标识D13指示该差分包为版本V1.0至版本V3.0间的差分包。差分包标识D23-A指示该差分包为版本V2.0-A至版本V3.0-A间的差分包,其中,A为渠道标识,指示该差分包适用于渠道A,该差分包包括渠道A的相关信息。
服务器接收到第一查询请求之后,可以先识别第一查询请求所请求的资源包的类型,例如,识别出第一查询请求所具体请求的是第一APP的安装包或者第一APP的差分包。示例性的,第一查询请求只包括第一APP的名称,服务器识别第一查询请求请求获取第一APP的安装包。第一查询请求包括第一APP的名称及第一APP当前的版本,服务器识别第一查询请求请求获取第一APP的差分包。
在识别出第一查询请求具体请求的第一资源包的类型之后,服务器可以进一步识别发送该第一查询请求的手机所连接第一局域网。示例性的,服务器可以基于第一查询请求所携带的IP地址及子网掩码,识别出发送该第一查询请求的手机所连接的第一局域网。之后,服务器可以识别与第一局域网对应的第一CND服务器上是否存储有第一资源包。
可选的,若第一服务器识别出与第一局域网对应的第二服务器中未存储第一资源包。第一服务器可以执行S503。
在S503,若第一服务器识别到与第一局域网对应的第二服务器中存储有第一资源包,第一服务器可以向手机指示第一资源包的第一下载地址。
该第一下载地址为与第二服务器(即与第一局域网对应的第二服务器)对应的下载地址。例如,第一服务器可以向手机发送第一下载地址。
第一下载地址例如可以包括第二服务器的IP地址、资源包所在的目录及第一资源包的标识。例如,第一资源包可以是安装包,第一下载地址可以是192.168.0.5/data/share/APP1.apk。其中,192.168.0.5为第二服务器的IP地址,data/share为该第二服务器中安装包所在的目录,APP1.apk为安装包的标识。
在S504,响应于接收到第一下载地址,手机向第二服务器发送下载请求。
该下载请求用于请求下载存储在第二服务器中的第一资源包。
在S505,响应于接收到下载请求,第二服务器向手机发送第一资源包。
在S506,响应于接收到第一资源包,手机使用第一资源包升级或安装第一应用程序。
若第一服务器识别出与第一局域网对应的第二服务器中未存储第一资源包。第一服务器可以执行S507。
在一些实施例中,发送第一查询请求的手机所连接的第一局域网内对应的第二服务器。服务器在基于第一局域网的网络地址查找与其对应的第二服务器时,若识别到该第一局域网没有对应的第二服务器,手机也可以执行S507。
在S507,若第一服务器识别到第一局域网对应的第二服务器未存储有第一APP的第一资源包,第一服务器生成第一记录。
若第一服务器确定与第一局域网对应的第二服务器没有存储有第一APP的第一资源包,第一服务器还可以将这次的第一查询请求记录下来,以便于确定是否将第一APP的第一资源包存储在第二服务器中。
或者,第一服务器识别到第一局域网没有与之对应的第二服务器。第一服务器也可以将这次的第一查询请求记录下来,以便于确定是否要部署与第一局域网对应的第二服务器。
第一服务器可以根据第一查询请求生成第一记录,第一记录用于记录第一查询请求所请求的第一资源包的信息、以及发送该第一查询请求的手机所连接第一局域网的信息。
示例性的,第一记录可以包括手机所连接的第一局域网的网络标识。其中,该网络标识可以是第一局域网的网络地址,例如前文中的192.168.0.0,或者还可以是第一局域网的唯一编码。一个第一局域网对应一个唯一编码。例如,第一局域网1的网络地址的标识可以是N1,第一局域网2的网络地址的标识可以是N2,…,第一局域网n的网络地址的标识可以是Nn。也就是说,第一记录可以记录发送查询请求的手机所连接的第一局域网的信息,该信息可以是该第一局域网的网络地址,或者该第一局域网的网络地址的唯一编码,该唯一编码用于标记一个第一局域网。
第一记录还可以包括第一资源包的标识。不同的资源包具有不同的标识。例如,资源包的标识可以由APP标识和/或及版本标识组成。例如,安装包的标识可以是APP1.apk,安装包的标识可以包括该安装包的版本,例如,安装包标识可以是APP1_2.0.apk。差分包的标识可以包括APP标识、APP当前版本及APP待升级版本。例如差分包的标识可以是APP1_1.0_3.0.diff。进一步的,可以将差分包的版本标识还简化为D13,该标识指示该差分包是由版本3.0及版本1.0生成的。差分包的标识可以简化为APP1_D13.diff。
进一步的,差分包标识或者安装包标识中还可以包括渠道标识。渠道标识指示该第一资源包只能通过该渠道标识所标记的渠道下载。例如,第一资源包的标识可以是APP1_2.0_A.apk,该标识指示第一资源包为适用于渠道A的安装包,手机只能通过渠道A获取该安装包。第一资源包的标识可以是APP1_1.0_3.0._B.diff,该标识指示第一资源包为适用于渠道B的差分包,手机只能通过渠道B获取该差分包。
可选的,第一记录还可以包括第一标识,第一标识例如可以是N,该标识指示与手机所连接的第一局域网对应的第二服务器上没有存储查询请求所请求的第一资源包。
可选的,第一记录还包括记录与手机所连接的第一局域网是否有对应的第二服务器。例如,第一记录还可以包括第三标识。其中,第三标识用于标记第一局域网没有与其对应的第二服务器,第三标识可以是n。
例如,第一记录可以是APP1.apk、N1、N。该第一记录指示与第一局域网N1对应的第二服务器上没有存储APP1的安装包。或者,第一记录可以是APP1.apk、N1、n。该第一记录指示第一局域网N1没有对应的第二服务器。
又例如,第一记录可以是APP3_3.0.apk、N2、N。该第一记录指示与第一局域网N2对应的第二服务器中没有存储APP3的V3.0版本的安装包。
又例如,第一记录可以是APP1_1.0_4.0.diff、N1、N。该第一记录指示与第一局域网N1对应的第二服务器中没有存储APP1的D14差分包。又例如,第一记录可以是APP4_D13_A.diff、N2、N。该第一记录指示与第一局域网N2对应的第二服务器中没有存储APP3的D13-A差分包。
第一服务器可以保存一段时间内生成的第一记录,例如,第一服务器可以使用数据表保存第一记录。作为一个示例,第一服务器可以以表2的方式保存第一记录。第一服务器不仅会保存生成的第一记录,还会记录这一段时间内第一服务器生成的多条第一记录中每条第一记录的生成数量。其中,一段时间内第一记录的生成数量即为一段时间内生成的第一记录的数量。
例如,第一服务器初次接收到第一查询请求:第一APP的名称(APP1)、IP地址192.168.0.1、子网掩码255.255.255.0。第一服务器确定与手机所连接第一局域网对应的第二服务器中没有存储有第一APP的安装包,第一服务器生成第一记录:APP1.apk、N1、N。其中,N1为第一局域网的网络标识。第一服务器将第一记录保存在表2中,将该第一记录的生成数量设置为1。第一服务器再次接收到第一查询请求后,第一服务器再次生成相同的第一记录。第一服务器查询到已保存有该第一记录,第一服务器可以读取该第一记录的生成数量,并将生成数量加一,将更新后的生成数量保存在表2中。如此,第一服务器可以记录不同的第一查询请求,以及每条第一查询请求的生成数量。
表2
在S508,第一服务器获取第一时间段内生成的第一记录的数量。
其中,上述第一时间段可以包括当前时刻前的预设时长。例如,假设预设时长为12小时,当前时刻为19:05;那么上述第一时间段则可以为由7:05-19:05这段时间。
或者,第一时间段可以为由第一时刻至当前时刻这段时间。例如,第一时刻可以是凌晨00:00,当前时刻是12:00,则第一服务器可以获取凌晨00:00-12:00时间段内,第一服务器生成第一记录的数量。又例如,第一时刻是3月1号中午12:00,当前时刻可以是3月2号上午9:00,则第一服务器可以获取3月1号中午12:00-3月2号上午9:00时间段内,第一服务器生成第一记录的数量。一般为了及时满足用户的下载需求,第一时刻与当前时刻间的时长一般可以是24个小时、或者12个小时、或者8个小时、或者4个小时。
在S509,第一服务器判断第一记录的数量是否大于第一阈值。
其中,第一记录的数量相当于在上述第一时间段内请求获取第一资源包的用户数量。在第一时间段内生成的第一记录的数量大于第一阈值,表示在该第一时间段内请求获取第一资源包的用户较多。也表明大量用户存在使用上述第一资源包安装或更新第一APP的需求。在这种情况下,第一服务器可以将第一资源包存储在与第一局域网对应的第二服务器上,以提升用户下载第一资源包的速率。即第一服务器可以是执行S5010。
若第一记录的数量小于或等于第一阈值,则表示该第一时间段内请求获取第一资源包的用户不多,也表明只有少量用户存在使用上述第一资源包安装或更新第一APP的需求。在这种情况下,第一服务器不需要将第一资源包存储在与第一局域网对应的第二服务器上,以节省第二服务器的存储空间。即第一服务器可以是执行S5015。
在S5010,若第一记录的生成数量大于第一阈值,第一服务器在第一局域网对应的第二服务器中存储第一资源包。
可选的,第一服务器在将第一资源包存储在第一局域网对应的第二服务器中之后,可以向手机指示第一资源包的第一下载地址,手机可以通过第一下载地址下载第一资源包,并使用第一差分包升级或安装第一APP。如,图5中的S5011-S5014所示。
在S5011,第一服务器向手机发送第一下载地址。
在一些实施例中,第一记录所记录的第一局域网中没有与其对应的第二服务器,若该第一记录的生成数量大于第一阈值,说明接入该第一记录所记录的第一局域网中的电子设备对该第一资源包的请求数量大于第一阈值,第一服务器可以生成第一提醒信息,该第一提醒信息用于提醒需要部署一个第二服务器与该第一记录所记录的第一局域网对应。
这样,基于第一提醒信息,运维人员可以部署与第一局域网对应的第二服务器。例如,运维人员可以在该第一局域网中部署第二服务器,第二服务器可以接入该第一局域网,通过该第一局域网与电子设备通信。之后,运维人员可以触发第一服务器将第一记录所记录的第一资源包部署在该第二服务器上。如此,第一服务器再次接收到查询请求,该查询请求请求获取第一记录所记录的第一资源包时,第一服务器就可以直接向手机返回第一下载地址,该第一下载地址对应第二服务器。
在一些实施例中,第一记录所记录的第一局域网中包括与其对应的第二服务器。若第一记录的生成数量大于第一阈值,说明接入第一记录所记录的第一局域网中的电子设备对该第一资源包的请求数量大于第一阈值,也能说明位于接入该第一局域网中的电子设备对该第一资源包有较高的需求。第一服务器可以将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中,并向手机返回第一下载地址,该第一下载地址对应第二服务器。
第一记录所记录的第一资源包可以是全量安装包或者是差分包。例如,第一记录所记录的第一资源包是全量包,第一服务器将全量包存储在第一记录所记录的第一局域网对应的第二服务器,并向手机发送该全量包的第一下载地址。第一下载地址可以包括第二服务器的IP地址,待升级版本的全量包在该第二服务器中的目录以及待升级版本的全量包的名称。第一下载地址例如可以是:192.168.0.5/data/share/APP1_1.0_.apk。其中,192.168.0.5为第二服务器的IP地址,data/share为该第二服务器中待升级版本的全量包所在的目录,APP1_1.0_.apk为待升级版本的全量包的名称。
例如,第一记录所记录的第一资源包是差分包,第一服务器将差分包存储在第一记录所记录的第一局域网对应的第二服务器,并向手机发送该差分包的第一下载地址。第一下载地址可以包括第二服务器的IP地址,差分包在该第二服务器中的目录以及差分包的名称。第一下载地址例如可以是:192.168.0.5/data/share/APP1_1.0_3.0._B.diff。其中,192.168.0.5为第二服务器的IP地址,data/share为该第二服务器中差分包所在的目录,APP1_1.0_3.0._B.diff为差分包的名称。
当第一记录所记录的资源包是差分包时,若第一服务器生成有该差分包,第一服务器可以从存储该差分包的存储地址获取该差分包,并将其另存在第一记录所记录的第一局域网对应的第二服务器中。若第一服务器为未生成有该差分包,第一服务器可以生成该差分包,并将生成的差分包存储在第一记录所记录的第一局域网对应的第二服务器中。
在S5012,手机向第二服务器发送下载请求。
该下载请求请求下载存储在第二服务器中的第一资源包。
在S5013,响应于接收到该下载请求,第二服务器向手机发送第一资源包。
在S5014,响应于接收到第一资源包,手机升级或安装第一应用程序。
可选的,在S5015,若第一服务器判断第一记录的数量小于第一阈值,第一服务器不会将第一资源包存储在第一局域网对应的第二服务器中。但是,第一服务器可以向手机指示该第一资源包的第二下载地址。
在S5015,若第一记录的生成数量小于第一阈值,第一服务器向手机发送第二下载地址。
若第一记录的生成数量小于第一阈值,第一服务器可以向手机发送第二下载地址,该第二下载地址对应存储有第一资源包的第二服务器。也就是说,第一服务器确定手机接入的第一局域网对应的第二服务器上没有存储第一APP的第一资源包,第一服务器确定其他第二服务器上存储有第一APP的第一资源包。第一服务器可以向手机发送第二下载地址,该第二下载地址对应存储有第一资源包的其他第二服务器。示例性的,第一服务器可以根据手机所处的第一局域网的网络地址,确定出手机所处的地址区域。例如,第一服务器可以根据第一局域网的网络地址,确定手机的地理位置。第一服务器根据就近原则将与距离手机较近的第二服务器对应的第二下载地址发送给手机。第二下载地址与第一下载地址类似,此处不再赘述。
也就是说,第一记录的生成数量小于第一阈值,说明电子设备通过连接第一记录所记录的第一局域网向服务器发送第一查询请求的数量小于第一阈值,也能说明连接该第一局域网的电子设备对该第一记录所记录的第一资源包的需求不高。
若第一记录所记录的第一局域网包括对应的第二服务器,为了节省该第二服务器的存储空间,服务器可以先不将第一资源包存储在该第二服务器上。第一服务器可以基于就近原则,将存储有第一资源包的其他第二服务器的第二下载地址发送给手机。其他第二服务器的物理地址可以与第一局域网对应的第二服务器的物理地址较近。这样,手机就可以通过第二下载地址从第二服务器中获取到第一资源包,进而采用获取到的第一资源包进行APP的安装或更新升级。
若第一记录所记录的第一局域网不包括对应的第二服务器,第一服务器也可以先不生成第一提醒信息。也就是说,第一记录的生成数量小于第一阈值,说明连接第一记录所记录的第一局域网的电子设备向第一服务器发送第一查询请求的请求数量小于第一阈值,也能说明接入该第一局域网中的电子设备对第一记录所记录的第一资源包的需求不高。此时,可以先不用部署与第一局域网对应的第二服务器,节省设备开销。第一服务器可以基于就近原则,将存储有第一资源包的其他第二服务器的第二下载地址发送给手机。
当第一记录所记录的第一资源包是差分包时,若第一服务器生成有该差分包,第一服务器基于就近原则将存储该差分包的第二服务器的第二下载地址发送给手机。若第一服务器未生成该差分包,第一服务器可以生成该差分包,并基于就近原则将其存储在其他第二服务器上。或者,若第一服务器未生成该差分包,第一服务器可以基于就近原则,向手机发送存储有待升级版本的全量包的其他第二服务器的第二下载地址。响应于接收到该第二下载地址,手机可以下载待升级版本的全量包,并使用全量包对第一APP进行全量升级。
在S5016,响应于接收到第二下载地址,手机向第二下载地址对应的第二服务器发送下载请求。
在S5017,响应于接收到下载请求,第二下载地址对应的第二服务器向手机发送第一资源包。
在S5018,响应于接收到第一资源包,手机使用第一资源包安装或升级第一应用程序。
第一服务器在识别到发送第一查询请求的手机所连接的第一局域网对应第二服务器未存储有第一资源包时,第一服务器可以生成第一记录,并及时获取由第一时间段(例如,第一一时刻至当前时刻)n,第一服务器生成该第一记录的数量。在第一记录的数量大于第一阈值时,将第一APP的第一资源包存储在第二服务器中,之后,第一服务器向手机发送第一下载地址,便于用户及时下载。或者,在在第一记录的数量大于第一阈值时,生成第一提醒信息,便于运维人员在部署第一局域网对应的第二服务器,并存储第一APP的第一资源包。
第一服务器不仅可以在生成第一记录后,读取第一时间段内第一记录的生成数量。第一服务器还可以在固定的时刻读取第一时间段内第一记录的生成数量。例如,以第一时刻是每天凌晨00:00点为例,第一服务器可以在每天中午12:00点,读取由每天凌晨00:00点-每天中午12:00点,第一记录的生成数量。第一服务器也可以在每天晚上23:00点,读取由每天凌晨00:00点-晚上23:00点第一记录的生成数量。或者,第一服务器可以每隔固定时长,读取第一记录的生成数量。例如,第一服务器可以每隔一个小时,读取一次由每天凌晨00:00点至当前时刻第一记录的生成数量。
或者,第一服务器可以在第一时刻至第二时刻中的任意时刻,读取第一时刻至当前时刻第一记录的生成数量。其中,第二时刻为晚于第一时刻的时刻,第一时刻至第二时刻构成一个第一时间段。当前时刻是第一时间段内,任意时刻。例如,第一时刻是早上06:00点,第二时刻是下午24:00,早上06:00点-下午24:00点为第一时间段。
在第一时间段内的任意时刻,响应于接收到手机查询请求,可以触发第一服务器执行如图5所示的方法。
或者,在第一时间段内任意时刻,响应于接收到手机查询请求,若第一服务器识别到第一局域网对应的第二服务器未存储有第一APP的第一资源包,第一服务器可以向手机发送第二下载地址,并生成第一记录。其中,第二下载地址为存储有第一资源包的其他第二服务器的下载地址。之后,第一服务器可以在预设时刻,再去获取第一时间段内第一记录的生成数量,进而再进行下一步的评估。其中,预设时刻可以是第一时间段内的任意时刻,也可以是第一时间段外的任意时刻。在第一服务器将第一资源包存储在第一局域网对应的第二服务器上之后,第一服务器接收到接入第一局域网的手机二发送的第二查询请求,且第二查询请求请求获取第一APP的第一资源包。此时,第一服务器可以直接向手机二指示第二服务器的第一下载地址,手机二可以直接从第二服务器获取第一资源包。
由于第一时间段内第一记录的生成数量可以反映第一服务器接收第一记录所记录的查询请求的数量,即可以反映手机向第一服务器发送该第一查询请求的数量,也能反映出用户对该第一查询请求所请求的第一APP的第一资源包的需求程度。第一服务器可以获取第一时间段内第一记录的生成数量,若该第一记录的生成数量多,第一服务器将第一资源包存储在第一记录所记录的第一局域网对应的第二服务器中。这样,第一服务器可以基于用户需求程度存储第一资源包,将用户需求程度高的第一资源包,存储在用户所使用的手机所接入的第一局域网对应的第二服务器中。由于手机与第二服务器位于同一个局域网中,或者手机与第二服务器的地理位置较近,这样能够节省手机下载流量,提升手机下载时间,并且能够根据用户的需求程度存储资源包,能够节省第二服务器的存储空间。
第一服务器在将第一记录所记录的第一资源包存储在第二服务器之后,第一服务器还可以将第一记录中的第一标识有N改为第二标识Y。第二标识Y表示第一局域网网对应的第二服务器已存储有第一资源包。示例性的,更新后的第一记录可以如表3所示。
表3
第一服务器可以针对多个第一时间段内第一记录的生成数量,执行如图5所示的方法,按需将第一APP的第一资源包存储在对应的第二服务器中。其中,多个第一时间段与第一时间段的时长可以是相同的。示例性的,早上06:00点-下午24:00点为第一时间段,第二天早上06:00点-下午24:00点为第二个第一时间段、第三天天早上06:00点-下午24:00点为第三个第一时间段。或者,早上06:00点-中午12:00点为第一时间段、中午12:00-下午18:00点为第二个第一时间段、下午18:00-凌晨24:00点为第三个第一时间段等。
第一服务器针对具体一个第一时间段内第一记录的生成数量,执行如图5所示的方法时,若第一记录的生成数量小于第一阈值,第一服务器可以根据第一记录在多个时间段内的生成数量,来确定是否将第一APP的第一资源包存储在对应的第二服务器中。例如,第一服务器在识别到第一记录在第五天早上06:00点-下午24:00点的第一时间段内的生成数量小于第一阈值,之后,第一服务器可以获取第一天早上06:00点-下午24:00点、第二天早上06:00点-下午24:00点、第三天早上06:00点-下午24:00点、第四天早上06:00点-下午24:00点、这四个第一时间段内,生成第一记录的数量,并基于生成第一记录的数量,进一步确定是否要将第一APP的第一资源包存储在第一局域网对应的第二服务器中。
也就是说,若在第一时间段内,第一记录的生成数量未超过第一阈值,第一服务器可以进一步评估将第一APP的第一资源包存储在第一局域网对应的第二服务器中必要性。具体的,第一服务器可获取M个第一时间段内第一记录的生成数量,若M个第一时间段内中至少有m个第一时间段内第一记录的生成数量均大于第二阈值,第一服务器将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。第一阈值大于第二阈值,例如,第一阈值为5000次/天,第二阈值为1000次/天。其中,M、m为大于1的整数。例如M=5,m=3,则5个第一时间段内中至少有3个第一时间段内第一记录的是生成数量大于1000次/天时,第一服务器才将第一APP的第一资源包存储在第一局域网对应的第二服务器中。
第一时间段内第一记录的生成数量超过第一阈值,说明第一记录所记录第一资源包的需求很大,需要尽快满足用户的需求。第一记录的生成数量未超过第一阈值,说明短时间内第一资源包的需求不大。可以根据第一记录的历史生成数量,进一步评估将第一资源包存储在第一局域网对应的第二服务器中的必要性。
第一服务器可以将每个第一时间段内的生成数量小于第一阈值的第一记录,加入待评估记录集中。第一服务器可以使用数据表存储这些第一记录,该数据表例如可以如表4所示。表4保存的是多个第一时间段内,生成数量小于第一阈值的第一记录。例如,表4中第四列保存的是在day1,由第一服务器生成的生成数量小于第一阈值的第一记录。具体的包括第一记录1、第一记录2、第一记录3。
表4
针对第一时间段生成数量小于第一阈值的第一记录,第一服务器可以向后统计在一个周期内,该第一记录在一个周期内的历史生成数量,根据历史生成数量确定是否将第一资源包存储在第一局域网对应的第二服务器中。示例性的,如图6所示,图6为本申请实施例提供的另一种资源包的存储方法的流程示意图。
在S601,若第一记录的生成数量小于第一阈值,第一服务器获取M个第一时间段内每个第一时间段内生成的第一记录的数量。
M个第一时间段构成一个第一周期。例如,第一时间段为一天,第一周期可以是5天或10天。第一时间段为一周,第一周期可以是2周或3周或5周等。第一周期可以包括当前第一时间段及当前第一时间段往前的M-1个第一时间段。或者,第一周期可包括当前第一时间段往前的M个第一时间段。
以第一时间段是一天为例,假设今天为25号,第一周期可以包括21号-25号,或者第一周期可包括20号-24号。
在S602,若M个第一时间段内至少有m个第一时间段内生成第一记录的数量均大于第二阈值,则在第一局域网对应的第二服务器中存储第一APP的第一资源包。
第一服务器可以先读取M个第一时间段内中每个第一时间段内第一记录的生成数量,以第一周期包括当天以及当天之前的4天,总共5天为例。针对第一记录1,第一服务器可读取21号-24号第一记录1的生成数量。例如,第一记录1的生成数量依次为1000次/天、0次/天、2000次/天、3500次/天。第一服务器可以根据21号-24号、以当前第一时间段(25号)的第一记录的生成数量确定是否生成第一记录所记录的第一差分包。
表5
具体的,第一服务器可以依次将每个第一时间段内第一记录的生成数量与第二阈值做比较,并记录生成第一记录的数量大于第二阈值的第一时间段的数量。如表5中,第一周期内,生成第一记录1的数量大于第二阈值的第一时间段的数量是4。
第一服务器可以根据第一周期内生成第一记录的生成数量大于第二阈值的第一时间段的数量,判断是否将第一资源包存储在第一局域网对应的第二服务器中。具体的,第一周期内,生成第一记录的数量大于第二阈值的第一时间段的数量大于m,第一服务器可以将第一APP的第一资源包存储在第一局域网对应的第二服务器中。第一周期内,生产第一记录的数量大于第二阈值的第一时间段的数量小于m,第一服务器不将第一APP的第一资源包存储在第一局域网对应的第一CDN服务器中。
例如,m=4。第一服务器可以将表5中的第二记录1、第二记录2及第二记录4所记录的第一资源包存储在各自所记录的第一局域网对应的第二服务器中。由于在第一周期内,生成第一记录3的数量大于第二阈值的第一时间段的数量为1,小于4,第一服务器可以将第一记录3所记录的APP5的差分包存储在第一局域网N2对应的第二服务器中。在第一周期内,生成第一记录5的数量大于第二阈值的第一时间段的数量为2,小于4,第一服务器可先不将第一记录5所记录的APP5的差分包存储在第一局域网N5对应的第二服务器中。
第一服务器还可以计算第一记录的第一置信度。第一置信度可以为第一周期中生成第一记录的数量大于第二阈值的第一时间段的数量除以第一周期所包括的第一时间段的数量。
示例性的,第一置信度=第一周期内生成的第一记录的数量大于第二阈值的天数/第一周期所包括的总天数。
第一记录的第一置信度大于第一预设置信度,则将该第一记录所记录第一资源包存储第一局域网对应的第二服务器中。第一记录的第一置信度小于第一预设置信度,则不将该第一记录所记录第一资源包存储第一局域网对应的第二服务器中。如表5中,第一记录1-第一记录5的第一置信度依次为4/5、4/5、3/5、5/5、2/5。第一预设置信度可以是4/5。如此,服务器可以将第一记录1、第一记录2、第一记录4所记录的第一资源包存储在各自所记录的第一局域网对应的第二服务中。服务器可以先不将第一记录3及第一记录5所记录资源包,存储在各自所记录的第一局域网对应的第二服务器中。
在一些实施例中,若M个第一时间段内生成第一记录的数量大于第二阈值的第一时间段段的数量小于m,第一服务器可以先不将第一资源包存储在第一局域网对应的第二服务器中。第一服务器可以向手机指示第一资源包的第二下载地址。手机可以通过该第二下载地址下载第一资源包,并使用第一资源包升级或安装第一APP。
在S603,第一服务器向手机发送第一下载地址。
在S604,响应于接收到第一下载地址,手机向第二服务器发送下载请求。
该下载请求用于请求下载存储在第二服务器中的第一资源包。
在S605,响应于接收到下载请求,第二服务器向手机发送第一资源包。
在S606,响应于接收到第一资源包,手机使用第一资源包升级或安装第一应用程序。
也就是说,第一服务器接收手机的第一查询请求,可以触发第一服务器执行如图5中所示的方法。如此,第一服务器在接收到第一查询请求之后,就可以获取第一时间段内生成的第一记录的数量,并在该数量于第一阈值时,进一步根据第一周期内第一记录的生成数量,将满足预设条件的第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。如此,能够及时满足用户的下载需求。
或者,第一服务器还可以在接收到手机的查第一查询请求之后,若第一局域网对应的第二服务器未存储第一资源包时,第一服务器可以只记录该第一查询请求。之后,第一服务器可以在固定时刻,基于第一时刻至该固定时刻(预设时间段)生成第一记录的数量评估是否将第一资源包存储在第一局域网对应的第二服务器中。并在第一记录的生成数量小于第一阈值时,进一步根据第一周期内第一记录的生成数量,将满足预设条件的第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。
或者,第一服务器还可以在预设时刻,针对第一时刻至该固定时刻生成数量小于第一阈值的第一记录,获取第一周期内第一记录的生成数量,并将满足预设条件的第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。该预设时刻可以是当前第一时间段内的任意时刻,或者当前第一时间段外的任意时刻。
示例性的,如图7所示,第一服务器可以在当天,将当天生成数量大于第一阈值的第一记录标记为待存储资源包的记录,并将该第一记录保存在待存储记录集中。针对当天生成数量小于第一阈值的第一记录,将该第一记录加入待评估记录集中。进一步的,针对待评估记录集中的第一记录,获取M天该第一记录的生成数量。若M天中至少有m天第一记录的生成数量大于第二阈值,则将该第一记录标记为待存储资源包的记录,并将该第一记录保存在待存储记录集中。之后,第一服务器接收手机三的第三查询请求,其中,手机三为接入第一局域网的手机,第三查询请求请求获取第一APP的第一资源包,第一服务器就可以将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。之后,第一服务器可以向手机三发送第二服务器的第一下载地址,手机可以通过该第一下载地址从第二服务器中获取第一资源包。
前文介绍了第一服务器根据第一查询请求将查询请求所请求的第一资源包存储在第一局域网对应的第二服务器上的方法。进一步的,第一服务器还可以根据第一查询请求删除第一局域网对应的第二服务器中使用频率较低的资源包,进一步节省第二服务器的存储空间。若第二服务器上存储有第一查询请求所请求的第一资源包,第一服务器也可以记录该第一查询请求,根据该第一查询请求生成第二记录。第一服务器可以根据第二记录确定是否删除该第二服务器中的第一资源包。具体如图8所示,在S502之后,第一服务器可以执行S801。
在S801,若第一局域网对应的第二服务器中已存储第一APP的第一资源包,则生成第二记录。
第二记录用于记录第一查询请求所请求的第一资源包的信息、以及发送该第一查询请求的手机所连接的第一局域网的信息。第二记录与第一记录类似,此处可参考前文对第一记录的介绍。不同的是,第二记录包括第二标识,第二标识例如可以是Y,该第二标识指示手机接入的第一局域网对应的第二服务器中存储有第一资源包。
例如,第一记录可以是APP3.apk、N1、Y。该第一记录指示第一局域网N1对应的第二服务器中存储有APP3的安装包。
又例如,第一记录可以是APP5_D23_A.diff、N2、Y。该第一记录指示第一局域网N2对应的第二服务器中有存储APP5的差分包D23。
在S802,获取N个第一时间段内每个第一时间段内生成的第二记录的数量。
N个第一时间段构成一个第二周期。例如,第一时间段为一天,第二周期可以是5天或10天。第一时间段为一周,第二周期可以是2周或3周或5周等。第二周期可以包括当前第一时间段及当前第一时间段往前的N-1个第一时间段。或者,第二周期可包括当前第一时间段往前的N个第一时间段。
以第一时间段是一天为例,假设今天为25号,第一周期可以包括21号-25号,或者第一周期可包括20号-24号。
第一服务器可以保存第二周期内N个第一时间段内生成的第二记录,例如第一服务器可以使用数据表保存第二记录。作为一个示例,第一服务器可以以表6的方式存储第二记录。第一服务器不仅会存储生成的第二记录,还会记录一段时间内第一服务器生成的多条第二记录中每条第二记录的生成数量。
表6
第一服务器可以先读取N个第一时间段内中每个第一时间段内生成第二记录的数量,以第一周期包括5天为例,针对第一记录1,第一服务器可读取1号-4号生成的第二记录1的数量。例如,第一记录1的生成数量依次为1500次/天、500次/天、800次/天。第一服务器可以根据1号-4号、以当前第一时间段(5号)的第二记录的生成数量确定是否删除第二服务器中的第一资源包。
具体的,第一服务器可以依次将每个第一时间段内第二记录的生成数量与第三阈值做比较,并记录第一记录的生成数量小于第三阈值的第一时间段的数量。其中,第三阈值例如可以是300次/天
在S803,若N个第一时间段内至少有n个第一时间段内生成第二记录的数量均小于第三阈值,则删除第二服务器中的第一资源包。
第一服务器可以根据第二周期内,第二记录的生成数量小于第三阈值的第一时间段的数量判断是否删除第二服务器中的第一资源包。第二周期内,第二记录的生成数量小于第三阈值的第一时间段的数量大于n,第一服务器可以删除第二服务器中的第一资源包。第二周期内,第二记录的生成数量小于第三阈值的第一时间段的数量小于n,不删除第二服务器中的第一资源包。
例如n=3,表6中,由于在第二周期内,第二记录1的生成数量小于第三阈值的第一时间段的数量为0,小于3,第一服务器可先不删除第二服务器中APP3的安装包。由于在第二周期内,第二记录5的生成数量小于第三阈值的第一时间段的数量为5,大于3,第一服务器删除第二服务器中APP7的差分包D35。
第一服务器可以计算第二记录的第二置信度。第二置信度可以为第二周期中生成第二记录的数量小于第三阈值的第一时间段的数量除以第二周期所包括的第一时间段的数量。
示例性的,第二置信度=第二周期内,第二记录的生成数量小于第三阈值的天数/第二周期内的总天数。如表6中,第二记录1-第二记录5的第二置信度依次为:0、3/5、2/5、0、4/5。
之后,第一服务器可以将第一周期内第二记录的第二置信度与预设第二置信度做比较,预设第二置信度可以是3/5。若第一周期内第二记录的置信度小于预设第二置信度,第一服务器不删除第二服务器中的第一资源包。如表6中,第一服务器不将第二记录1、第二记录3、第二记录4所记录的第一资源包从对应的第二服务器中删除。若第一周期内第二记录的置信度大于预设第二置信度,第一服务器将该第二记录所记录的第一资源包从对应的第二服务器中删除。如第一服务器将第二记录2、第二记录5所记录的第一资源包从各自对应的第二服务器中删除。
进一步的,第一服务器可以根据第一服务器记录的查询记录(包括第一记录、第二记录、)以及用户下载第一资源包的统计数据,计算出前文中的第一阈值、第二阈值、以及第一预设置信度。
示例性的,可以将第一服务器处理查询请求的过程看做二分类模型,可以采用混淆矩阵计算,第一阈值、第二阈值、以及第一预设置信度。例如可以获取用户的查询请求,并在一段时间之后,获取用户下载资源包的数据。
例如,第一服务器接收到1000的查询请求中,由600个下载数据下载了查询请求请求获取的第一资源包,第一服务器将第一资源包存储在第一局域网对应的二服务器中,这类查询请求可以为正例(TP)。TP可以表示第一服务器评估需要将查询请求所请求的第一资源包存储在对应的第二服务器上,并且在将该第一资源包相应存储在第二服务器之后,用户下载了第一资源包。
第二服务器存储有其中100个的查询请求请求获取的第一资源包,第一服务器将第一源包的第一下载地址返回给手机之后,用户没有通过第一下载地址下载第一资源包,这类查询请求可以为假正例(FP)。FP可以表示第一服务器评估需要将查询请求所请求的第一资源包存储在对应的第二服务器上,并且在将该第一资源包相应存储在第二服务器上之后,用户并没有下载上述第一资源包。
第二服务器未存储有其中150个的查询请求请求获取的第一资源包,用户也没有下载该第一资源包,这类查询请求可以为负例(TN)。TN可以表示第一服务器评估不需要将查询请求所请求的第一资源包相应存储在第二服务器上,且用户没有下载上述第一资源包。
有150个下载数据下载了查询请求请求获取的第一资源包,但是第一服务器未将查询请求所请求的资源包相应存储在第二服务器上,这类查询请求可以为假负例(FN)。FN可以表示第一服务器评估不需要将查询请求所请求的第一资源包存储在第二服务器上,但用户却通过其他下载地址下载了该第一资源包。
第一服务器基于一下公式分别计算第一阈值、第二阈值、以及第一预设置信度。
第一阈值=1000*(TP/(TP+FN)=100*600/(600+150)=857。
第二阈值=1000*(1-TP/(TP+FN))=1000*(1-600/(600+150))=143。
第一预设置信度=TP/(TP+FP)=600/(600+150)=80%。
第一服务器可以包括分发服务模块、资源服务模块、评估模块。下面结合图9对各个模块进行介绍。
在S901,手机向服务器发送第一查询请求。
在S902,响应于手机发送的第一查询请求的触发,分发服务模块可以查询发送该第一查询请求的手机所连接的第一局域网对应的第二服务器中,是否存储有第一APP的第一资源包。
在S903,若查询到第二服务器存储有第一APP的第一资源包,分发服务模块可以触发第一服务器向手机发送第一资源包的第一下载地址。
在S904,若查询到第二服务器未存储有第一APP的第一资源包,分发服务模块可以触发第一服务器向手机发送第一APP的资源的第二下载地址。同时,分发服务模块可以触发评估模块,评估是否有必要将查询请求所请求的第一资源包存储在第一局域网对应的第二服务器中。
在S905,评估模块首先可以生成该第一查询请求对应的第一记录并保存。
在S906,评估模块获取第一时间段内生成的第一记录的数量。
在S907,若第一记录的生成数量大于第一阈值,评估模块将该第一记录保存在待存储记录集中。例如,评估模块可以将该第一记录标记为待存储资源包的记录。待存储资源包的记录构成一个待存储记录集。
在S908,资源服务模块从待存储记录集中获取第一记录,并将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。例如,资源服务模块可以定期从待存储记录集中获取第一记录,并将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。又例如,资源服务模块可以响应于接入第一局域网的手机发送的第三查询请求的触发,若第三查询请求请求获取第一资源包,分发服务模块可以触发资源服务模块从待存储记录集中获取第一记录,并将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器。
在S909,若第一记录的生成数量小于第一阈值,评估模块将该第一记录保存待评估记录集中。
评估模块可以评估一个时间周期内,该第一记录的生成数量,以进一步评估是否将该第一记录所记录的第一资源包对应存储在第二服务器上。也就是说,响应于接收到手机发送的第一查询请求,服务器中的上述模块可以相互交互,完成S901-S909所示的方法流程。
评估模块可以在固定的时刻,定期评估待评估记录集中的第一记录,以确定是否将该第一记录所记录的第一资源包对应存储在第二服务器上。
在S9010,针对待评估记录集中的第一记录,评估模块获取M个第一时间段内各个第一时间段生成的第一记录的数量。
在S9011,若M个第一时间段内至少有m个第一时间段内所述第一记录的数量均大于第二阈值,评估模块将将第一记录保存在待存储记录集中。
在S9012,资源服务模块从待存储记录集中获取第一记录,并将第一记录所记录的第一资源包存储在第一局域网对应的第二服务器中。
本申请实施例提供的方法可以应用于具备数据处理能力的第一电子设备。上述第一电子可以是位于云侧的服务器。该服务器可以是数据采集服务器、大数据平台或数据处理服务器,也可以是集成有数据采集服务器、大数据平台或数据处理服务器的设备。下面对服务器进行具体说明。可以理解的是,本申请实施例示意的结构并不构成对服务器的具体限定。在另一些实施例中,服务器可以包括比图10中更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图10所示的部件可以以硬件,软件或软件和硬件的组合实现。
如图10所示,服务器(例如本申请实施例中的第一服务器)1000可以包括处理器1001、存储器1002及通信模块1003。处理器1001可用于读取和执行计算机可读指令。具体地,处理器1001可以包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。寄存器是有限存贮容量的高速存贮部件,可用来暂存指令、数据和地址。
具体实现中,处理器1001的硬件架构可以是专用集成电路(applicationspecific Integrated circuit,ASIC)架构、无内锁流水线微处理器 (microprocessorwithout interlocked piped stages, MIPS)架构、ARM(advanced risc machines)架构或者网络处理器(net processor,NP)架构等等。
存储器1002与处理器1001耦合,用于存储各种软件程序和/或多组指令。本申请实施例中,电子设备的数据存储方法除了可以集成在服务器的一个处理器中实现以外,也可以以程序代码的形式存储于服务器的存储器中,由服务器的一个处理器调用服务器的存储器中存储的代码,执行以上方法。
具体实现中,存储器1002可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器1002可以存储操作系统,例如uCOS,VxWorks、RTLinux等嵌入式操作系统。
通信模块1003可用于通过网络建立服务器与其它通信终端之间的通信连接,并用于通过网络收发数据。例如,通信模块1003可以接收手机发送的查询请求。通信模块1003还可以向手机发送差分包或全量包的下载地址。
本申请实施例提供一种服务器,该服务器包括:存储器、通信模块、一个或多个处理器。该存储器用于存储计算机程序代码。通信模块与处理器耦合,用于与电子设备交互。该计算机程序代码包括计算机指令。当处理器执行计算机指令时,服务器可执行上述方法实施例中手机执行的各个功能或者步骤。该服务器的结构可以参考图10所示的服务器1000的结构。
本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当计算机指令在上述服务器(如图10所示的服务器1000)上运行时,使得该服务器执行上述方法实施例中的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例中的各个功能或者步骤。
本申请实施例还提供一种芯片系统,该芯片系统包括至少一个处理器和至少一个接口电路。处理器和接口电路可通过线路互联。例如,接口电路可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路可用于向其它装置(例如处理器)发送信号。示例性的,接口电路可读取存储器中存储的指令,并将该指令发送给处理器。当指令被处理器执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (12)

1.一种资源包的存储方法,其特征在于,应用于第一服务器,所述第一服务器用于生成资源包,并在至少一个第二服务器中存储资源包,所述方法包括:
接收来自第一电子设备的第一查询请求,所述第一查询请求用于请求下载第一APP的第一资源包,所述第一资源包为所述第一APP的安装包或者差分包,所述第一查询请求中还包括所述第一电子设备接入的第一局域网的标识;
若所述第一局域网对应的第二服务器中未存储所述第一APP的所述第一资源包,则生成第一记录;其中,所述第一记录用于记录接入所述第一局域网的电子设备所请求的所述第一资源包;每个第二服务器对应一个或多个局域网;
获取第一时间段内生成的第一记录的数量;其中,所述第一时间段包括所述第一服务器接收到所述第一查询请求的当前时刻前的预设时长;或者,所述第一时间段包括第一时刻到所述服务器接收到所述第一查询请求的当前时刻之间的时间段;或者,所述第一时间段为预设时间段;
若所述第一记录的数量大于第一阈值,则在所述第一局域网对应的第二服务器中存储所述第一APP的所述第一资源包。
2.根据权利要求1所述的方法,其特征在于,所述至少一个第二服务器包括多个第二服务器,所述多个第二服务器对应于多个门店设置,所述多个第二服务器与所述多个门店一一对应,每个门店包括一个或多个局域网。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一局域网对应的第二服务器中存储有所述第一APP的所述第一资源包,则向所述第一电子设备指示所述第一局域网对应的第二服务器的第一下载地址。
4.根据权利要求1所述的方法,其特征在于,所述第一时间段包括所述当前时刻前的预设时长;或者,所述第一时间段包括所述第一时刻到所述当前时刻之间的时间段;
在所述若所述第一记录的数量大于第一阈值,则在所述第一局域网对应的第二服务器中存储所述第一APP的所述第一资源包之后,所述方法还包括:
向所述第一电子设备指示所述第二服务器的第一下载地址。
5.根据权利要求1所述的方法,其特征在于,所述第一时间段为所述预设时间段;所述方法还包括:
若所述第一局域网对应的第二服务器中未存储有所述第一APP的所述第一资源包,则向所述第一电子设备指示所述第一资源包的第二下载地址;其中,所述第二下载地址对应存储有所述第一资源包的第二服务器,存储有所述第一资源包的第二服务器与所述第一局域网对应的第二服务器不同;
在所述第一局域网对应的第二服务器中存储所述第一APP的所述第一资源包之后,所述方法还包括:
接收来自接入所述第一局域网的第二电子设备的第二查询请求,所述第二查询请求用于请求下载所述第一APP的所述第一资源包;
所述第一局域网对应的第二服务器中存储有所述第一APP的所述第一资源包,所述服务器向所述第二电子设备指示所述第一局域网对应的第二服务器的第一下载地址。
6.根据权利要求1所述的方法,其特征在于,所述若所述第一记录的数量大于第一阈值,则在所述第一局域网对应的第二服务器中存储所述第一APP的所述第一资源包,包括:
若所述第一记录的数量大于所述第一阈值,则标记所述第一记录为待存储资源包的记录;
接收来自接入所述第一局域网的第三电子设备发送的第三查询请求,所述第三查询请求用于请求下载所述第一APP的所述第一资源包;
响应于所述第三查询请求,若所述第一局域网对应的第二服务器中未存储所述第一资源包,但所述第一记录标记为所述待存储资源包的记录,则在所述第一局域网对应的第二服务器中存储所述第一APP的所述第一资源包。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
若所述第一记录的数量小于所述第一阈值,则获取M个第一时间段内每个第一时间段内生成的第一记录的数量,其中,所述M个第一时间段具有相同的时长;
若所述M个第一时间段内至少有m个第一时间段内生成所述第一记录的数量均大于第二阈值,则在所述第一局域网对应的第二服务器中存储所述第一APP的所述第一资源包,其中,M、m为大于1的整数,所述第一阈值大于所述第二阈值。
8.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
若所述第一记录的数量小于所述第一阈值,则获取M个第一时间段内每个第一时间段内生成的第一记录的数量,其中,所述M个第一时间段具有相同的时长;
若所述M个第一时间段内所述第一记录的第一置信度大于第一预设置信度,则在所述第一局域网对应的第二服务器中存储所述第一APP的所述第一资源包,所述第一置信度=m/M,m为所述M个第一时间段中生成第一记录的数量大于第二阈值的第一时间段的数量,M、m为大于1的整数。
9.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
若所述第一局域网对应的第二服务器中已存储所述第一APP的所述第一资源包,则生成第二记录,所述第二记录用于记录接入所述第一局域网的电子设备所请求的所述第一资源包;
获取N个所述第一时间段内每个第一时间段内生成的第二记录的数量,其中,所述N个第一时间段具有相同的时长;
若N个第一时间段内至少有n个第一时间段内生成所述第二记录的数量均小于第三阈值,则删除所述第二服务器中的所述第一资源包,其中,N、n为大于1的整数。
10.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
若所述第一局域网对应的第二服务器中已存储所述第一APP的所述第一资源包,则生成第二记录,所述第二记录用于记录接入所述第一局域网的电子设备所请求的所述第一资源包;
获取N个所述第一时间段内每个第一时间段内生成的第二记录的数量,其中,所述N个第一时间段具有相同的时长;
若所述N个第一时间段内所述第二记录的第二置信度大于第二预设置信度,则删除所述第二服务器中的所述第一资源包,其中,所述第二置信度=n/N,n为所述N个第一时间段中生成第二记录的数量小于第三阈值的第一时间段的数量,其中,N、n为大于1的整数。
11.一种服务器,其特征在于,所述服务器包括:存储器、通信模块和一个或多个处理器;所述存储器、所述通信模块与所述处理器耦合;其中,所述通信模块用于与电子设备交互,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述服务器执行如权利要求1-10中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-10中任一项所述的方法。
CN202311055836.7A 2023-08-22 2023-08-22 一种资源包的存储方法及服务器 Active CN116774949B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311055836.7A CN116774949B (zh) 2023-08-22 2023-08-22 一种资源包的存储方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311055836.7A CN116774949B (zh) 2023-08-22 2023-08-22 一种资源包的存储方法及服务器

Publications (2)

Publication Number Publication Date
CN116774949A true CN116774949A (zh) 2023-09-19
CN116774949B CN116774949B (zh) 2023-12-08

Family

ID=87991668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311055836.7A Active CN116774949B (zh) 2023-08-22 2023-08-22 一种资源包的存储方法及服务器

Country Status (1)

Country Link
CN (1) CN116774949B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146107A (zh) * 2007-09-27 2008-03-19 深圳市迅雷网络技术有限公司 一种下载数据的方法及装置
CN103179161A (zh) * 2011-12-23 2013-06-26 华为技术有限公司 一种内容获取方法、装置及网络系统
CN105162720A (zh) * 2015-10-22 2015-12-16 上海新储集成电路有限公司 一种减少数据传输的通信网络及方法
US20160165651A1 (en) * 2014-12-04 2016-06-09 Belkin International, Inc. Associating devices and users with a local area network using network identifiers
US20190104169A1 (en) * 2017-10-03 2019-04-04 Synology Inc. Methods and computer program products for transceiving files through networks and apparatuses using the same
CN110177310A (zh) * 2019-06-28 2019-08-27 三星电子(中国)研发中心 一种内容分发系统和方法
CN112073447A (zh) * 2019-06-11 2020-12-11 北京字节跳动网络技术有限公司 模型文件的下发方法、平台、系统、终端及可读存储介质
CN112685613A (zh) * 2021-01-06 2021-04-20 青岛海尔科技有限公司 一种资源包查询的方法、装置及信息处理系统
CN113055451A (zh) * 2021-03-08 2021-06-29 Oppo广东移动通信有限公司 资源下载方法、装置、电子设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146107A (zh) * 2007-09-27 2008-03-19 深圳市迅雷网络技术有限公司 一种下载数据的方法及装置
CN103179161A (zh) * 2011-12-23 2013-06-26 华为技术有限公司 一种内容获取方法、装置及网络系统
US20160165651A1 (en) * 2014-12-04 2016-06-09 Belkin International, Inc. Associating devices and users with a local area network using network identifiers
CN105162720A (zh) * 2015-10-22 2015-12-16 上海新储集成电路有限公司 一种减少数据传输的通信网络及方法
US20190104169A1 (en) * 2017-10-03 2019-04-04 Synology Inc. Methods and computer program products for transceiving files through networks and apparatuses using the same
CN112073447A (zh) * 2019-06-11 2020-12-11 北京字节跳动网络技术有限公司 模型文件的下发方法、平台、系统、终端及可读存储介质
CN110177310A (zh) * 2019-06-28 2019-08-27 三星电子(中国)研发中心 一种内容分发系统和方法
CN112685613A (zh) * 2021-01-06 2021-04-20 青岛海尔科技有限公司 一种资源包查询的方法、装置及信息处理系统
CN113055451A (zh) * 2021-03-08 2021-06-29 Oppo广东移动通信有限公司 资源下载方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN116774949B (zh) 2023-12-08

Similar Documents

Publication Publication Date Title
CN104885055B (zh) 一种应用数据同步的方法及装置
US10712915B2 (en) Information presentation using a client on a terminal
CN107872523B (zh) 网络数据的加载方法、装置、存储介质及移动终端
CN107896243B (zh) 网络数据加载的加速方法、装置、存储介质及移动终端
KR100468006B1 (ko) 인트라넷 상의 클라이언트 기기를 위한 애플리케이션 제공시스템 및 방법
CN103634386A (zh) 一种客户端应用程序下载应用的方法及装置
CN108540509B (zh) 一种终端浏览器的处理方法、装置及服务器、智能终端
KR100983240B1 (ko) 무선단말기에 어플리케이션을 용이하게 설치하는 방법 및 그 시스템
CN101802808A (zh) 从脚本和其他编程环境访问设备主存的服务
US20110138376A1 (en) Interworking system between user terminal and smart card for executing widget, and method thereof
CN111897564A (zh) 一种应用更新方法及系统
CN105765533A (zh) 用于固件虚拟化的方法和装置
CN110968331A (zh) 应用程序运行的方法和装置
US20110082896A1 (en) Dynamically Updated Web-Enabled and Embedded Contact Address in Communication Devices
CN114327710B (zh) 一种函数管理方法、管理装置、终端设备及可读存储介质
CN113821307B (zh) 一种虚拟机镜像的快速导入方法、装置及设备
CN104335620A (zh) 用于移动电话虚拟复制的系统及方法
CN116774949B (zh) 一种资源包的存储方法及服务器
WO2015003570A1 (en) Data downloading method,device and system thereof
CN108600255B (zh) Mock服务管理方法、装置、计算机设备以及存储介质
CN115878138A (zh) 应用预下载方法、装置、计算机、存储介质
CN111367683A (zh) 一种结果获取方法、装置及设备
CN116800733B (zh) 一种差分包的下载方法及服务器
KR20150029916A (ko) 컴퓨팅 환경 설정 장치 및 방법
CN114185804A (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