CN114257598B - 资源下载方法、装置、存储介质及电子设备 - Google Patents
资源下载方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114257598B CN114257598B CN202111553042.4A CN202111553042A CN114257598B CN 114257598 B CN114257598 B CN 114257598B CN 202111553042 A CN202111553042 A CN 202111553042A CN 114257598 B CN114257598 B CN 114257598B
- Authority
- CN
- China
- Prior art keywords
- domain name
- downloading
- target
- queue
- url
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种资源下载方法、装置、存储介质及电子设备,属于信息技术领域,所述方法包括:在目标域名所包括的各个URL地址中,确定处于下载中状态的URL地址的第一数量;将对应所述目标域名的预设数量阈值与所述第一数量进行比较,根据比较结果确定第二数量;在所述第二数量符合预设条件的情况下,根据所述第二数量,在所述目标域名所包括的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源。通过设置预设数量阈值,限制目标域名同时处于下载状态的URL地址数量,使得在同一时间针对该域名的服务器的访问请求数量能够得到限制,避免了因为请求数量过高对该目标域名指向的服务器造成影响,减小资源下载对该域名的影响。
Description
技术领域
本公开涉及信息技术领域,具体地,涉及一种资源下载方法、装置、存储介质及电子设备。
背景技术
如今我们已经进入了大数据时代,随着互联网行业迅猛发展,各种信息每年以指数级增长,数据已经成为必不可少的部分,为了方便获取的网络数据,常常采用资源采集程序以下载获取各个网站中的资源。
然而,对被采集的网站来说,一定时间内接收大量请求可能导致服务器崩溃等问题,对网站的使用造成巨大影响,因此,这类网站往往会设置例如访问频率上限以避免访问请求过多。对于资源采集方来说,下载部分设置有访问频率的上限的网站中的资源时,可能会因为下载请求量过大导致被该网站的服务器屏蔽,进而无法获取到所需的数据。
发明内容
为了解决相关技术中存在的问题,本公开的目的是提供一种资源下载方法、装置、存储介质及电子设备。
为了实现上述目的,本公开第一方面提供一种资源下载方法,包括:
在目标域名所包括的各个URL地址中,确定处于下载中状态的URL地址的第一数量;
将对应所述目标域名的预设数量阈值与所述第一数量进行比较,根据比较结果确定第二数量;
在所述第二数量符合预设条件的情况下,根据所述第二数量,在所述目标域名所包括的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源。
可选地,所述确定目标域名下处于下载中状态的URL地址的第一数量包括:
确定下载队列中属于所述目标域名的URL地址的数量,得到所述第一数量,其中,所述下载队列用于存放处于下载中状态的URL地址;
在针对所述下载队列中的任一URL地址的资源下载完成后,从所述下载队列删除该URL地址。
可选地,所述根据所述第二数量,从所述目标域名下的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源,包括:
从域名队列中获取所述第二数量的所述目标域名下的URL地址作为所述目标URL地址,其中,所述域名队列用于存放处于待下载状态的URL地址;
将所述目标URL地址加入到所述下载队列中,并从所述目标URL地址下载资源,以及从所述域名队列中删除所述目标URL地址。
可选地,所述方法还包括:
在监听到所述域名队列加入了新的待下载域名的URL地址的情况下,将所述新的待下载域名作为所述目标域名,并将所述域名队列中的所述新的待下载域名的URL地址作为所述目标域名下的处于待下载状态的URL地址。
可选地,所述方法还包括:
在针对所述下载队列中的任一URL地址的资源下载完成,且所述域名队列中对应该URL地址的待下载域名存在处于待下载状态的URL地址的情况下,将对应该URL地址的待下载域名作为所述目标域名。
可选地,所述方法还包括:
在所述下载队列中任一域名下的URL地址被删除或者存在新增URL地址的情况下,在统计队列中更新对应该域名的处于下载中状态的URL地址的数量;
所述确定下载队列中属于所述目标域名的URL地址的数量,包括:
从所述统计队列中获取所述目标域名下处于下载中状态的URL地址的第一数量。
可选地,所述方法还包括:
通过第一线程监听所述域名队列;
创建与所述域名队列中的每一待下载域名的一一对应的第二线程,其中,各所述第二线程均为所述域名队列的消费线程;
在将所述域名队列中的任一待下载域名作为所述目标域名时,通过对应该待下载域名的第二线程执行所述确定目标域名下处于下载中状态的URL地址的第一数量,至所述根据所述第二数量,从所述目标域名下的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源的步骤。
本公开第二方面提供一种资源下载装置,所述装置包括:
第一确定模块,用于在目标域名所包括的各个URL地址中,确定处于下载中状态的URL地址的第一数量;
第二确定模块,用于将对应所述目标域名的预设数量阈值与所述第一数量进行比较,根据比较结果确定第二数量;
下载模块,用于在所述第二数量符合预设条件的情况下,根据所述第二数量,在所述目标域名所包括的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源。
本公开第三方面提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面任一项所述方法的步骤。
本公开第四方面提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面任一项所述方法的步骤。
通过上述技术方案,通过设置预设数量阈值,限制目标域名同时处于下载状态的URL地址数量,以分别下载URL地址中的资源,且限定下载中URL地址数量的方式使得在同一时间针对该域名的服务器的访问请求数量能够得到限制,避免了因为请求数量过高对该目标域名指向的服务器造成影响,减小资源下载对该域名正常访问的影响。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种资源下载方法的流程图;
图2是根据一示例性实施例示出的一种资源下载系统的示意图;
图3是根据一示例性实施例示出的一种资源下载方法的交互图;
图4是根据一示例性实施例示出的一种资源下载装置的框图;
图5是根据一示例性实施例示出的一种电子设备的框图;
图6是根据一示例性实施例示出的另一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据一示例性实施例示出的一种资源下载方法的流程图,该方法的执行主体可以是个人终端,也可以是服务器,本公开对此不做限定,如图1所示,该方法包括步骤:
S101、在目标域名所包括的各个URL地址中,确定处于下载中状态的URL地址的第一数量。
本领域技术人员可以理解的是,该目标域名可以是指采集程序将要从中获取资源的域名。
举例说明:目标域名所对应的网站可以是用于展示企业登记信息、股权变更信息等信息的官方网站,在该官方网站中可以打开多个企业页面并查看对应企业的相关信息。每个企业页面可以对应为目标域名所包括的一个URL地址。在采集程序采集该官方网站的资源时,需要依次采集各个企业页面中的信息。即,在采集程序获取目标域名的资源时,需要依次下载目标域名所包括的各个URL地址的资源。
S102、将对应所述目标域名的预设数量阈值与所述第一数量进行比较,根据比较结果确定第二数量。
S103、在所述第二数量符合预设条件的情况下,根据所述第二数量,在所述目标域名所包括的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源。
其中,预设数量阈值可以是根据该域名指向的服务器能承受的最大同时请求数量确定的,例如,某域名能够承受同时访问服务器站点的连接数为100,则可以设置对应该域名的预设数量阈值小于100。
另外,上述预设条件可以是第二数量大于零,可以理解的是,针对任意域名,域名下的处于下载状态中的URL地址的数量通常是小于对应的预设数量阈值的,因此该预设条件也可以是不等于零。在一些可能的实施方式中,还可以设置预设条件为该第二数量大于预设阈值,具体的预设条件可以根据不同的实际需求确定,本公开对此不做限定。
在本公开实施例中,通过设置预设数量阈值,限制目标域名同时处于下载状态的URL地址数量,使得在同一时间针对该域名的服务器的访问请求数量能够得到限制,避免了因为请求数量过高对该目标域名指向的服务器造成影响,减小资源下载对该域名的影响。
在一些可选地实施例中,所述确定目标域名下处于下载中状态的URL地址的第一数量包括:
确定下载队列中属于所述目标域名的URL地址的数量,得到所述第一数量,其中,所述下载队列用于存放处于下载中状态的URL地址;
在针对所述下载队列中的任一URL地址的资源下载完成后,从所述下载队列删除该URL地址。
进一步,所述根据所述第二数量,从所述目标域名下的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源,包括:
从域名队列中获取所述第二数量的所述目标域名下的URL地址作为所述目标URL地址,其中,所述域名队列用于存放处于待下载状态的URL地址;
将所述目标URL地址加入到所述下载队列中,并从所述目标URL地址下载资源,以及从所述域名队列中删除所述目标URL地址。
其中,下载队列可以是redis消息队列,下载队列中的每一条消息至少包括一个URL地址的数据,下载队列可以是供下载单元消费的消息队列,该下载单元可以通过消费该下载队列中的消息,以下载该消息中的URL地址对应的资源,在该下载单元消费完成该消息后,该下载队列能够自动删除该消息。
另外,域名队列也可以是redis消息队列,域名队列可以是某个生产者线程创建的针对某个种子地址获取到的准备下载的域名消息队列,该队列中的每一条消息均包括了至少一条准备下载的URL地址的数据,该至少一条准备下载的URL地址对应的域名信息可以是相同的,即该消息可以包括准备下载的域名以及该域名下的至少一条URL地址。
采用上述方案,设计下载队列以及域名队列,并通过消费域名队列中的消息获取URL地址,通过消费该下载队列中的消息以下载资源,能够较好地支持断点运行,可以有效避免网络连接断开导致一些资源无法下载到的问题。
在又一些可选地实施例中,所述方法还包括:
在监听到所述域名队列加入了新的待下载域名的URL地址的情况下,将所述新的待下载域名作为所述目标域名,并将所述域名队列中的所述新的待下载域名的URL地址作为所述目标域名下的处于待下载状态的URL地址。
其中,域名队列中的消息名可以包括域名信息,可以是通过监听域名队列的消息中的消息名来确定该域名队列中是否加入了新的待下载域名的URL地址。
采用上述方案,通过监听域名队列,并将最新加入该队列的域名作为目标域名,可以及时发现并调度该域名,并能够更快地让该域名下的URL地址进入下载状态。
在另一些可选地实施例中,所述方法还包括:
在针对所述下载队列中的任一URL地址的资源下载完成,且所述域名队列中对应该URL地址的待下载域名存在处于待下载状态的URL地址的情况下,将对应该URL地址的待下载域名作为所述目标域名。
采样本方案,通过在一个URL地址下载完成后,将目标域名设为该URL地址对应的域名,能够及时地将该域名下的待下载域名投入下载队列中。
在一些可选地实施例中,所述方法还包括:
在所述下载队列中任一域名下的URL地址被删除或者存在新增URL地址的情况下,在统计队列中更新对应该域名的处于下载中状态的URL地址的数量;
所述确定下载队列中属于所述目标域名的URL地址的数量,包括:
从所述统计队列中获取所述目标域名下处于下载中状态的URL地址的第一数量。
其中,统计队列也可以是redis消息队列,在统计队列中更新对应该域名的处于下载中状态的URL地址的数量可以是向该统计队列中发送队列消息实现的,例如,确定统计队列中新增了N个目标域名下的URL地址后,则可以向该统计队列中发送N条对应该目标域名的第一消息,确定统计队列中被删除了M个目标域名下的URL地址后,则可以向该统计队列中发送M条对应该目标域名的第二消息,从所述统计队列中获取所述目标域名下处于下载中状态的URL地址的第一数量可以是通过一个消费者线程消费该统计队列中的第一消息以及第二消息,并采用redis hash队列自增、自减命令得到的结果实现的。
采用上述方案,通过设计统计队列,并基于统计队列来统计该目标域名的处于下载状态的URL地址的第一数量,抛弃了内存中加减的方式,更加支持分布式系统,有效的保证了下载队列中各个域名下的下载中的URL地址数量。
在一些可选地实施例中,所述方法还包括:
通过第一线程监听所述域名队列;
创建与所述域名队列中的每一待下载域名的一一对应的第二线程,其中,各所述第二线程均为所述域名队列的消费线程;
在将所述域名队列中的任一待下载域名作为所述目标域名时,通过对应该待下载域名的第二线程执行所述确定目标域名下处于下载中状态的URL地址的第一数量,至所述根据所述第二数量,从所述目标域名下的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源的步骤。
采用本方案,通过创建多线程,一个第一线程监听域名队列变化,其余第二线程监听对应的域名下的URL地址的下载状态,充分利用处理器资源,不仅能够及时地发现新增的待下载域名以及待下载URL地址,还可以及时地将待下载URL地址投入下载,保证了资源下载的效率,还能够保证不会对下载的服务器造成过量请求。
为了使得本领域技术人员更理解本公开提供的技术方案,本公开提供如图2所示的根据一示例性实施例示出的一种资源下载系统20,如图2所示,该系统包括,调度单元211、下载单元212、统计单元213、域名队列221、下载队列222以及统计队列223,其中,该资源下载系统可以通过调度单元、下载单元以及统计单元之间的基于域名队列、下载队列以及统计队列的信息交互以实现上述资源下载方法的步骤,例如,通过调度单元消费域名队列中的消息以实现从所述目标URL地址下载资源。其中,上述的第一线程以及第二线程可以是通过该调度单元创建的用于执行上述方法中的部分步骤的线程。
基于图2所示的资源下载系统20,本公开还提供如图3所示的根据一示例性实施例示出的一种资源下载方法的另一流程图,如图3所示,该方法包括步骤:
S301、通过调度单元211创建第一线程,通过第一线程监听域名队列221。
S302、在第一线程监听到域名队列221加入了新的待下载域名的URL地址的情况下,通过调度单元创建该待下载域名对应的第二线程。
S303、将该域名作为目标域名,通过第二线程确定该域名下处于下载中状态的URL地址的第一数量。
S304、通过第二线程计算对应该目标域名的预设数量阈值与第一数量之间的差值,得到第二数量。
S305、通过第二线程消费该域名队列中的消息,得到该目标域名的待下载URL地址。
S306、通过该第二线程根据第二数量从所述目标域名下的处于待下载状态的URL地址中,确定目标URL地址。
其中,目标URL地址可以包括第二数量的URL地址信息。
S307、通过该第二线程根据该目标URL地址生成下载消息投入下载队列222中。
S308、通过该第二线程根据该目标URL地址生成第一消息发送至统计队列223。
S309、通过下载单元212消费下载队列中的下载消息,以根据下载消息中的URL地址信息下载目标URL地址中的资源。
S310、在下载单元212完成目标URL地址中任意一个URL地址中的资源下载完成的情况下,通过下载单元212根据该URL地址生成第二消息发送至统计队列223中。
S311、通过统计单元213消费统计队列223中的消息,以得到目标域名下的处于下载中状态的URL地址的第一数量,并将该第一数量发送至调度单元211。
基于相同的发明构思,图4是根据一示例性实施例示出的一种资源下载装置的框图,该装置40包括:
第一确定模块41,用于在目标域名所包括的各个URL地址中,确定处于下载中状态的URL地址的第一数量;
第二确定模块42,用于根据对应所述目标域名的预设数量阈值与所述第一数量之间的差值,确定第二数量;
下载模块43,用于根据所述第二数量,从所述目标域名下的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源。
可选地,第一确定模块41具体用于:
确定下载队列中属于所述目标域名的URL地址的数量,得到所述第一数量,其中,所述下载队列用于存放处于下载中状态的URL地址;
在针对所述下载队列中的任一URL地址的资源下载完成后,从所述下载队列删除该URL地址。
可选地,所述下载模块43具体用于:
从域名队列中获取所述第二数量的所述目标域名下的URL地址作为所述目标URL地址,其中,所述域名队列用于存放处于待下载状态的URL地址;
将所述目标URL地址加入到所述下载队列中,并从所述目标URL地址下载资源,以及从所述域名队列中删除所述目标URL地址。
可选地,所述装置40还包括:
第一监听模块,用于在监听到所述域名队列加入了新的待下载域名的URL地址的情况下,将所述新的待下载域名作为所述目标域名,并将所述域名队列中的所述新的待下载域名的URL地址作为所述目标域名下的处于待下载状态的URL地址。
可选地,所述装置40还包括:
第三确定模块,用于在针对所述下载队列中的任一URL地址的资源下载完成,且所述域名队列中对应该URL地址的待下载域名存在处于待下载状态的URL地址的情况下,将对应该URL地址的待下载域名作为所述目标域名。
可选地,所述装置40包括:
更新模块,用于在所述下载队列中任一域名下的URL地址被删除或者存在新增URL地址的情况下,在统计队列中更新对应该域名的处于下载中状态的URL地址的数量;
所述第一确定模块41具体用于:
从所述统计队列中获取所述目标域名下处于下载中状态的URL地址的第一数量。
可选地,所述装置40还包括:
第二监听模块,用于通过第一线程监听所述域名队列;
创建模块,用于创建与所述域名队列中的每一待下载域名的一一对应的第二线程,其中,各所述第二线程均为所述域名队列的消费线程;
下载子模块,用于在将所述域名队列中的任一待下载域名作为所述目标域名时,通过对应该待下载域名的第二线程执行所述确定目标域名下处于下载中状态的URL地址的第一数量,至所述根据所述第二数量,从所述目标域名下的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源的步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种电子设备500的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的资源下载方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如URL地址、收发的消息等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的资源下载方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的资源下载方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的资源下载方法。
图6是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以被提供为一服务器。参照图6,电子设备600包括处理器622,其数量可以为一个或多个,以及存储器632,用于存储可由处理器622执行的计算机程序。存储器632中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器622可以被配置为执行该计算机程序,以执行上述的资源下载方法。
另外,电子设备600还可以包括电源组件626和通信组件650,该电源组件626可以被配置为执行电子设备600的电源管理,该通信组件650可以被配置为实现电子设备600的通信,例如,有线或无线通信。此外,该电子设备600还可以包括输入/输出(I/O)接口658。电子设备600可以操作基于存储在存储器632的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的资源下载方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器632,上述程序指令可由电子设备600的处理器622执行以完成上述的资源下载方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的资源下载方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种资源下载方法,其特征在于,包括:
确定在目标域名所包括的各个URL地址中处于下载中状态的URL地址的第一数量,处于下载中状态的URL地址为多个域名分别包括的URL地址,所述目标域名为所述多个域名中的一个域名;
计算对应所述目标域名的预设数量阈值与所述第一数量之间的差值,得到第二数量;
在所述第二数量符合预设条件的情况下,根据所述第二数量,在所述目标域名所包括的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源。
2.根据权利要求1所述的方法,其特征在于,所述确定在目标域名所包括的各个URL地址中处于下载中状态的URL地址的第一数量包括:
确定下载队列中属于所述目标域名的URL地址的数量,得到所述第一数量,其中,所述下载队列用于存放处于下载中状态的URL地址;
在针对所述下载队列中的任一URL地址的资源下载完成后,从所述下载队列删除该URL地址。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二数量,从所述目标域名下的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源,包括:
从域名队列中获取所述第二数量的所述目标域名下的URL地址作为所述目标URL地址,其中,所述域名队列用于存放处于待下载状态的URL地址;
将所述目标URL地址加入到所述下载队列中,并从所述目标URL地址下载资源,以及从所述域名队列中删除所述目标URL地址。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在监听到所述域名队列加入了新的待下载域名的URL地址的情况下,将所述新的待下载域名作为所述目标域名,并将所述域名队列中的所述新的待下载域名的URL地址作为所述目标域名下的处于待下载状态的URL地址。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在针对所述下载队列中的任一URL地址的资源下载完成,且所述域名队列中对应该URL地址的待下载域名存在处于待下载状态的URL地址的情况下,将对应该URL地址的待下载域名作为所述目标域名。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述下载队列中任一域名下的URL地址被删除或者存在新增URL地址的情况下,在统计队列中更新对应该域名的处于下载中状态的URL地址的数量;
所述确定下载队列中属于所述目标域名的URL地址的数量,包括:
从所述统计队列中获取所述目标域名下处于下载中状态的URL地址的第一数量。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
通过第一线程监听所述域名队列;创建与所述域名队列中的每一待下载域名的一一对应的第二线程,其中,各所述第二线程均为所述域名队列的消费线程;
在将所述域名队列中的任一待下载域名作为所述目标域名时,通过对应该待下载域名的第二线程执行所述确定在目标域名所包括的各个URL地址中处于下载中状态的URL地址的第一数量;计算对应所述目标域名的预设数量阈值与所述第一数量之间的差值,得到第二数量;以及,所述在所述第二数量符合预设条件的情况下,根据所述第二数量,在所述目标域名所包括的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源的步骤。
8.一种资源下载装置,其特征在于,所述装置包括:
第一确定模块,用于确定在目标域名所包括的各个URL地址中处于下载中状态的URL地址的第一数量,处于下载中状态的URL地址为多个域名分别包括的URL地址,所述目标域名为所述多个域名中的一个域名;
第二确定模块,用于计算对应所述目标域名的预设数量阈值与所述第一数量之间的差值,得到第二数量;
下载模块,用于在所述第二数量符合预设条件的情况下,根据所述第二数量,在所述目标域名所包括的处于待下载状态的URL地址中,确定目标URL地址,并从所述目标URL地址下载资源。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111553042.4A CN114257598B (zh) | 2021-12-17 | 2021-12-17 | 资源下载方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111553042.4A CN114257598B (zh) | 2021-12-17 | 2021-12-17 | 资源下载方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257598A CN114257598A (zh) | 2022-03-29 |
CN114257598B true CN114257598B (zh) | 2023-07-04 |
Family
ID=80795682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111553042.4A Active CN114257598B (zh) | 2021-12-17 | 2021-12-17 | 资源下载方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257598B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5432203B2 (ja) * | 2011-03-31 | 2014-03-05 | 富士通フロンテック株式会社 | 資源配付システム |
CN103209407B (zh) * | 2013-04-15 | 2018-11-20 | 百度在线网络技术(北京)有限公司 | 移动终端中应用程序的下载管理方法、系统和移动终端 |
CN106713395B (zh) * | 2015-11-17 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 数据下载方法和装置 |
CN112751930B (zh) * | 2020-12-30 | 2022-11-25 | 平安普惠企业管理有限公司 | 文件下载控制方法、装置、计算机设备和存储介质 |
CN113452553A (zh) * | 2021-06-18 | 2021-09-28 | 上海艾拉比智能科技有限公司 | 一种内容分发网络流量限制方法及系统 |
-
2021
- 2021-12-17 CN CN202111553042.4A patent/CN114257598B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114257598A (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515912A (zh) | 日志处理方法、装置、计算机装置及计算机可读存储介质 | |
CN113094136A (zh) | 页面显示控制方法、装置、存储介质及电子设备 | |
US11206673B2 (en) | Priority control method and data processing system | |
US9223672B1 (en) | Method and system for providing error repair status data to an application user | |
CN110955438A (zh) | 一种小程序的性能监控方法、装置、设备及存储介质 | |
CN112395337A (zh) | 一种数据导出方法和装置 | |
CN112860720B (zh) | 一种存储容量的更新方法以及装置 | |
CN114257598B (zh) | 资源下载方法、装置、存储介质及电子设备 | |
CN110309028B (zh) | 监控信息获取方法、服务监控方法、装置及系统 | |
US9740587B2 (en) | Distributing power usage data for low-level components of a computing device to subscribing programs | |
CN114090268B (zh) | 容器管理方法及容器管理系统 | |
CN112434242B (zh) | 应用程序下载渠道的统计方法、装置、服务器及存储介质 | |
CN115248735A (zh) | 一种日志数据输出控制方法、装置、设备及存储介质 | |
CN111475291A (zh) | 一种数据处理方法、系统、服务器及介质 | |
CN112463616A (zh) | 一种面向Kubernetes容器平台的混沌测试方法和装置 | |
CN113779122A (zh) | 导出数据的方法和装置 | |
CN112953810A (zh) | 一种网络请求的处理方法和装置 | |
CN113468127A (zh) | 数据缓存方法、装置、介质及电子设备 | |
CN114500485B (zh) | 一种数据处理方法和装置 | |
CN111949472A (zh) | 一种记录应用日志的方法及装置 | |
CN115840604B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN111163088B (zh) | 消息处理方法、系统、装置及电子设备 | |
CN110262756B (zh) | 用于缓存数据的方法和装置 | |
CN118585188A (zh) | 一种处理页面信息的方法和装置 | |
CN109542542A (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 |