CN115473857A - 一种资源分发方法、装置、系统、电子设备及存储介质 - Google Patents

一种资源分发方法、装置、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN115473857A
CN115473857A CN202211117802.1A CN202211117802A CN115473857A CN 115473857 A CN115473857 A CN 115473857A CN 202211117802 A CN202211117802 A CN 202211117802A CN 115473857 A CN115473857 A CN 115473857A
Authority
CN
China
Prior art keywords
distribution
resource
target
target resource
determining
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
CN202211117802.1A
Other languages
English (en)
Other versions
CN115473857B (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202211117802.1A priority Critical patent/CN115473857B/zh
Publication of CN115473857A publication Critical patent/CN115473857A/zh
Application granted granted Critical
Publication of CN115473857B publication Critical patent/CN115473857B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例涉及一种资源分发方法、装置、系统、电子设备及存储介质,资源分发方法包括:获取目标资源信息,目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;根据目标资源信息,确定预分发目标资源的所需时长和允许时长;在确定所需时长和允许时长的比较结果后,确定目标资源的预分发数量;按照预设规则将目标资源预分发至与预分发数量对应的客户端,以使客户端将目标资源进行缓存。由此,本发明提前将目标资源平缓预分发至一定数量的客户端上进行缓存,以提前削减掉CDN的访问突发峰值,降低了CDN的峰值流量,节省了CDN的付费成本。

Description

一种资源分发方法、装置、系统、电子设备及存储介质
技术领域
本发明实施例涉及信息处理技术领域,尤其涉及一种资源分发方法、装置、系统、电子设备及存储介质。
背景技术
随着互联网时代的发展,网站资源越来越多,同时网络用户量越来越多,网站资源访问量巨大,CDN(Content Delivery Network,资源分发网络)的出现有效的缓解了网络带宽和网站压力,随之网站用在CDN服务的成本也在上涨。
目前,相关技术中,通常采用针对流量峰值进行计费的方式进行CDN厂商的付费,即按照当天网络的最大流量进行计费。但当网站有突发资源访问时,就会导致CDN流量短时间内出现暴涨,峰值与平均流量差异巨大导致CDN付费成本被拉高。例如消息push(推送)场景,一条带图片的全量消息,会导致几亿人在1分钟内收到该推送消息,进而接收到该消息的人群会访问CDN上的图片,此时,CDN流量瞬间出现较高的峰值,付费成本上涨百万人民币。
发明内容
鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种资源分发方法、装置、系统、电子设备及存储介质。
第一方面,本发明实施例提供一种资源分发方法,包括:
获取标资源信息,所述目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;
确定所述目标资源信息的获取时刻、与所述资源路径对应的目标资源及所述目标资源的资源大小;
根据所述资源大小和所述带宽峰值确定预分发所述目标资源的并发阈值;
根据所述并发阈值和所述分发数量确定预分发所述目标资源的所需时长,及根据所述获取时刻和所述分发时刻确定预分发所述目标资源的允许时长;
在确定所述所需时长和所述允许时长的比较结果后,确定所述目标资源的预分发数量;
按照预设规则将所述目标资源预分发至与所述预分发数量对应的客户端,以使所述客户端将所述目标资源进行缓存。
在一个可选的实施方式中,所述方法还包括:
若当前时刻达到所述分发时刻,下发推送消息至与所述分发数量对应的所述客户端,所述推送消息携带有与所述推送消息对应的资源标识号和所述资源路径;
在所述客户端监测到针对所述推送消息的触发操作时,所述客户端根据所述资源标识号查询所述客户端的本地缓存区;
当所述本地缓存区中缓存有与所述资源标识号相匹配的所述目标资源时,所述客户端从所述本地缓存区中获取到所述目标资源;
当所述本地缓存区中未缓存有与所述资源标识号相匹配的所述目标资源时,所述客户端根据所述资源路径获取到所述目标资源。
在一个可选的实施方式中,所述方法还包括:
当所述客户端的本地缓存区中所述目标资源的缓存时长大于预设阈值时,则所述客户端将所述目标资源从所述本地缓存区中删除。
在一个可选的实施方式中,所述方法还包括:
当同一时刻获取到多个所述目标资源信息时,将多个所述目标资源信息作为目标资源信息集合;
针对所述目标资源信息集合中的任一所述目标资源信息,确定与所述目标资源信息对应的所述分发时刻;
根据多个所述分发时刻的先后顺序,得到与所述目标资源信息集合对应的时间排序关系;
按照所述时间排序关系,依次预分发与所述目标资源信息对应的所述目标资源。
在一个可选的实施方式中,所述确定所述目标资源的预分发数量,包括:
当所述所需时长小于等于所述允许时长时,将所述分发数量确定为预分发数量;
当所述所需时长大于所述允许时长时,根据所述允许时长和所述并发阈值确定所述目标资源的预分发数量。
在一个可选的实施方式中,所述按照预设规则将所述目标资源预分发至与所述预分发数量对应的客户端,包括:
当所述所需时长小于等于所述允许时长时,在所述所需时长内,按照并发阈值分批次预分发所述目标资源至与所述预分发数量对应的所述客户端;其中,所述并发阈值通过所述目标资源信息所确定;
当所述所需时长大于所述允许时长时,在所述允许时长内,按照所述并发阈值分批次预分发所述目标资源至与所述预分发数量对应的所述客户端。
第二方面,本发明实施例提供一种资源分发装置,包括:
信息获取模块,用于获取目标资源信息;
确定模块,用于确定所述目标资源信息的获取时刻、与所述资源路径对应的目标资源及所述目标资源的资源大小;
所述确定模块,还用于根据所述资源大小和所述带宽峰值确定预分发所述目标资源的并发阈值;
所述确定模块,还用于根据所述并发阈值和所述分发数量确定预分发所述目标资源的所需时长,及根据所述获取时刻和所述分发时刻确定预分发所述目标资源的允许时长;
所述确定模块,还用于在确定所述所需时长和所述允许时长的比较结果后,确定所述目标资源的预分发数量;
预分发模块,用于按照预设规则将所述目标资源预分发至与所述预分发数量对应的客户端,以使所述客户端将所述目标资源进行缓存。
第三方面,本发明实施例提供一种资源分发系统,包括:服务器和多个客户端,所述服务器用于执行如上所述的资源分发方法。
第四方面,本发明实施例提供一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的资源分发程序,以实现如上所述的资源分发方法。
第五方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的资源分发方法。
本发明实施例提供的一种资源分发方法,包括:获取目标资源信息,目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;确定目标资源信息的获取时刻、与资源路径对应的目标资源及目标资源的资源大小;根据资源大小和带宽峰值确定预分发目标资源的并发阈值;根据并发阈值和分发数量确定预分发目标资源的所需时长,及根据获取时刻和分发时刻确定预分发目标资源的允许时长;在确定所需时长和允许时长的比较结果后,确定目标资源的预分发数量;按照预设规则将目标资源预分发至与预分发数量对应的客户端,以使客户端将目标资源进行缓存。通过上述方式,本发明提前将目标资源平缓预分发至一定数量的客户端上进行缓存,以提前削减掉CDN的访问突发峰值,降低了CDN的峰值流量,节省了CDN的付费成本。
附图说明
图1为本发明实施例所提供的一个资源分发系统的结构示意图;
图2为本发明实施例所提供的一个资源分发方法的流程示意图;
图3为本发明实施例所提供的一个资源分发装置的结构示意图;
图4为本发明实施例所提供的一个电子设备的结构示意图;
以上附图中:
100、客户端;200;服务器;300、电子设备;301、处理器;302、存储器;3021、操作系统;3022、应用程序;303、用户接口;304、网络接口;305、总线系统;400、信息获取模块;500、确定模块;600、预分发模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
参考图1,本实施例提供的资源分发方法,可以应用于如图1所示的资源分发系统中。资源分发系统包括通信连接的客户端100和服务器200,其中,客户端100为多个,服务器200为CDN服务器。服务器200用于获取目标资源信息,目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;确定目标资源信息的获取时刻、与资源路径对应的目标资源及目标资源的资源大小;根据资源大小和带宽峰值确定预分发目标资源的并发阈值;根据并发阈值和分发数量确定预分发目标资源的所需时长,及根据获取时刻和分发时刻确定预分发目标资源的允许时长;在确定所需时长和允许时长的比较结果后,确定目标资源的预分发数量;按照预设规则将目标资源预分发至与预分发数量对应的客户端,以使客户端将目标资源进行缓存。
参考图2,图2为本发明实施例所提供的一个资源分发方法的流程示意图。以该方法应用于服务器200端进行阐述资源分发方法,本实施例提供的资源分发方法,包括如下步骤:
S11:获取目标资源信息。
本实施例中,目标资源信息从所创建的执行计划中获取的。其中,执行计划为一个关于目标资源何时分发的计划,执行计划可通过如下方式进行创建:
若检测到针对创建执行计划的触发事件后,执行与触发事件对应的执行计划创建。
其中,触发事件既可为人工所触发的,也可以为自动所触发的,具体地说,可根据不同的业务场景创建相应的执行计划。例如,针对人工手动运营类的业务场景,运营人员可通过相应的管理后台而触发执行计划创建事件;再例如,针对自动化运营类的业务,根据时间点等而触发执行计划创建事件。
执行计划中包括多个要素,多个要素构成目标资源信息。目标资源信息包括资源路径、分发时刻、分发数量及带宽峰值,资源路径记为r,分发时刻记为Rt,分发数量记为G,带宽峰值记为Wb。其中,资源路径r表征为目标资源的存储路径,分发时刻Rt表征所要分发目标资源的具体时刻,分发数量G表征将目标资源分发至客户端的数量,带宽峰值Wb表征所预设的CDN带宽峰值,CDN带宽峰值可根据运营公司的需要进行设置,本实施例对此不作具体的限定。
本实施例中,通过创建执行计划,根据执行计划中所包含的目标资源信息将目标资源预分发至客户端,客户端对目标资源进行缓存,以避免客户端同时访问CDN服务器造成突发峰值流量。
S12:确定目标资源信息的获取时刻、与资源路径对应的目标资源及目标资源的资源大小。
本实施例中,目标资源信息的获取时刻记为在创建执行计划之后的时刻,获取时刻记为RC,获取时刻RC和分发时刻Rt均以秒为单位。目标资源可为图片、视频、音频等其他形式的文件,每一目标资源有固定的存储路径,按照目标资源信息中的资源路径r可查找确定与资源路径r对应的目标资源以及所存储的目标资源的目标大小,目标资源的目标大小记为Rb。其中,资源路径r可为一个或多个,相对应的目标资源也可为一个或多个。当目标资源为多个时,目标资源的大小为多个目标资源的目标大小Rb的和。例如,目标资源信息中资源路径r为三个,每个资源路径r对应的目标资源为一张图片,从而获取到三张图片,三张图片的大小分别为10K、20K和30K,则目标资源的目标大小Rb等于三张图片的大小的和,即为60K。
S13:根据资源大小和带宽峰值确定预分发目标资源的并发阈值。
本实施例中,并发阈值表征在带宽峰值Wb下,单位时间内每秒可预分发目标资源至客户端的数量,并发阈值记为Sg,并发阈值Sg=带宽峰值Wb/目标资源的目标大小Rb。例如,带宽峰值Wb为20G,目标资源的目标大小Rb为200K,则并发阈值Sg=Wb/Rb=20G/200K。
S14:根据并发阈值和分发数量确定预分发目标资源的所需时长,及根据获取时刻和分发时刻确定预分发目标资源的允许时长。
其中,所需时长表征将目标资源预分发至分发数量的客户端的时长,允许时长表征目标资源信息的获取时刻与目标资源信息的分发时刻之间的时长。根据获取时刻RC和分发时刻Rt即可确定预分发目标资源的允许时长T2,允许时长T2=分发时刻Rt-获取时刻RC。例如,获取时刻RC为2021-11-22 11:30:00,分发时刻Rt为2021-11-22 12:00:00,则允许时长T2=Rt-RC=1800秒。通过目标资源信息中的分发数量G和并发阈值Sg,即可求得将目标资源预分发至分发数量G的客户端所需要的时长,即所需时长T1,其中,所需时长T1=分发数量G/并发阈值Sg。需要说明的是,通过带宽峰值Wb和目标资源的目标大小Rb确定的并发阈值Sg可能不是整数值,但由于并发阈值为一整数值,所以按照如下方式对并发阈值Sg进行处理,具体如下。
当确定目标资源的并发阈值后,判断并发阈值是否为整数值;
当并发阈值为整数值时,以该整数值作为目标资源的并发阈值;
当并发阈值不为整数值时,根据带宽峰值对并发阈值进行整数化处理,以处理后的整数值作为并发阈值。
本实施例中,需要说明的是,整数化处理并发阈值Sg不应超过带宽峰值Wb。例如,带宽峰值Wb为7K,目标资源的目标大小Rb为2K,则并发阈值Sg为3,若并发阈值Sg取4,则每次进行预分发目标资源时,将会超过带宽峰值Wb,进而会影响到运营公司的费用,导致运营公司的CDN付费成本上涨。
本实施例中,通过确定预分发目标资源的所需时长T1和允许时长T2,并对所需时长T1和允许时长T2进行比较,以将目标资源预分发至一定数量的客户端进行缓存,以降低CDN的突发峰值流量。
S15:在确定所需时长和允许时长的比较结果后,确定目标资源的预分发数量。
本实施例中,比较结果包括所需时长T1小于等于允许时长T2和所需时长T1大于允许时长T2。所需时长T1小于等于允许时长T2表征目标资源可在允许时长T2内全部预分发至与分发数量G对应的客户端进行缓存,而所需时长T1大于允许时长T2表征在允许时长T2内无法将目标资源全部预分发至与分发数量G对应的客户端进行缓存,只能在允许时长T2内将目标资源预分发至一定数量的客户端进行缓存。因此,在允许时长T2内,不一定能够将目标资源全部预分发至与分发数量G对应的客户端,需根据所需时长T1和允许时长T2的比较结果,确定在允许时长T2内,能够预分发目标资源的最大数量(预分发数量),以在允许时长T2内,将目标资源预分发至与最大数量对应的客户端,在预分发过程中,当所预分发目标资源的数量达到最大数量时,则停止目标资源的预分发,并在时刻值达到分发时刻Rt时,将目标资源分发至分发数量G对应的客户端。
其中,客户端对目标资源进行缓存为客户端将目标资源缓存至相应的本地缓存区。
本实施例中,目标资源的预分发数量可通过如下方式进行确定:
当所需时长小于等于允许时长时,将分发数量确定为预分发数量;
当所需时长大于允许时长时,根据允许时长和并发阈值确定目标资源的预分发数量。
本实施例中,并发阈值Sg具体确定方法可参考上述所述,本实施例在此不做赘述。当所需时长T1大于允许时长T2时,目标资源的预分发数量等于允许时长T2和并发阈值Sg的乘积。
S16:按照预设规则将目标资源预分发至与预分发数量对应的客户端,以使客户端将目标资源进行缓存。
本实施例中,按照预设规则将目标资源预分发至与预分发数量对应的客户端进行缓存,以降低CDN的突发峰值流量。其中,按照预设规则将目标资源预分发至与预分发数量对应的客户端进行缓存的方法如下所述:
S161:当所需时长小于等于允许时长时,在所需时长内,按照并发阈值分批次预分发目标资源至与预分发数量对应的客户端;
S162:当所需时长大于允许时长时,在允许时长内,按照并发阈值分批次预分发目标资源至与预分发数量对应的客户端。
具体地说,当所需时长T1小于等于允许时长T2时,按照并发阈值Sg进行一次目标资源的预分发,当该次目标资源的预分发结束后,遍历所有与分发数量G对应的客户端,从未接收到目标资源的客户端中选择与并发阈值Sg对应的客户端,并按照并发阈值Wb将目标资源预分发至上述所选择的客户端,重复上述操作,直至完成在所需时长T1内与预分发数量(此时预分发数量等于分发数量G)对应的客户端的目标资源的预分发。当将目标资源预分发至相应的客户端后,客户端将目标资源缓存至与目标资源对应的本地缓存区。本实施例中,需要说明的是,在完成该目标资源的全部预分发后,当获取到下一个目标资源信息时,按照S11步骤~S16步骤进行下一个目标资源的预分发。
当所需时长T1大于允许时长T2时,按照上述分批次预分发目标资源的方法,在允许时长T2内将目标资源预分发至与预分发数量对应的客户端。当将目标资源预分发至相应的客户端后,客户端将目标资源缓存至与目标资源对应的本地缓存区。在当前时刻达到分发时刻后,当获取到下一个目标资源信息时,按照S11步骤~S16步骤进行下一个目标资源的预分发。
具体地说,当按照并发阈值Sg预分发目标资源时,下发缓存指令至与并发阈值Sg对应的客户端,缓存指令中携带有目标资源的资源路径r,与并发阈值Sg对应的客户端根据资源路径r访问CDN服务器,以获取到与资源路径r对应的目标资源,各个客户端将目标资源缓存至本地缓存区。
本实施例中,需要说明的是,当分发数量G远远大于并发阈值Sg时,按照S161步骤和S162步骤进行目标资源的预分发,而当所需时长小于等于允许时长且分发数量G小于并发阈值Sg时,按照如下方式进行目标资源的预分发。
S163:当所需时长小于等于允许时长且分发数量小于并发阈值时,按照分发数量预分发目标资源,直至将目标资源全部预分发至与分发数量对应的客户端。
本实施例中,分发数量G小于并发阈值Sg时,则只需一次预分发过程即可将目标资源预分发至与分发数量G对应的客户端,为减少CDN网络流量,在该次目标资源的预分发过程中,无需按照并发阈值Sg进行目标资源的预分发,只需按照分发数量G即可实现全部客户端的目标资源的预分发。
本实施例提供的资源分发方法,还包括:
若当前时刻达到分发时刻,下发推送消息至与分发数量对应的客户端,推送消息携带有与推送消息对应的资源标识号和资源路径;
在客户端监测到针对推送消息的触发操作时,客户端根据资源标识号查询客户端的本地缓存区;
当本地缓存区中缓存有与资源标识号相匹配的目标资源时,客户端从本地缓存区中获取到目标资源;
当本地缓存区中未缓存有与资源标识号相匹配的目标资源时,客户端根据资源路径获取到目标资源。
具体地说,目标资源以资源标识号缓存于客户端的本地缓存区内,资源标识号为目标资源的唯一标识号。当前时刻为实时时间,即在预分发目标资源的过程中,实时获取当前时刻,在当前时刻达到目标资源的分发时刻时,表征需真正分发目标资源,此时CDN服务器向与分发数量G对应的客户端下发推送消息。客户端根据推送消息中携带的资源标识号查询本地缓存区。当客户端的本地缓存区缓存有与资源标识号对应的目标资源后,可直接获取到与触发操作对应的目标资源;当客户端的本地缓存区未缓存有与资源标识号对应的目标资源后,需根据推送消息携带的资源路径访问CDN服务器,以获取到目标资源。其中,触发操作可为触摸操作,也可为点击操作,具体可根据实际需要进行设置。
本实施例提供的一种资源分发方法,还包括:
当同一时刻获取到多个目标资源信息时,将多个目标资源信息作为目标资源信息集合;
针对目标资源信息集合中的任一目标资源信息,确定与目标资源信息对应的分发时刻;
根据多个分发时刻的先后顺序,得到与目标资源信息集合对应的时间排序关系;
按照时间排序关系,依次预分发与目标资源信息对应的目标资源。
为了保证单个时间范围内最大并发至客户端上资源访问在可控范围内,当同一时刻获取到多个目标资源信息时,根据目标资源信息中的分发时刻,按照分发时刻的先后顺序串行预分发与分发时刻对应的目标资源。
本实施例中,为了保证目标资源不过多占用客户端的本地内存,通过设置缓存失效时长,在目标资源所缓存的时长超过缓存失效时长时,将目标资源从客户端的本地缓存中删除,具体实现方法如下:
当客户端的本地缓存区中目标资源的缓存时长大于预设阈值时,则客户端将目标资源从本地缓存区中删除。
本实施例中,预设阈值即为缓存失效时长,缓存失效时长的具体数值可根据实际需要进行设置,本实施例在此不做具体的限定。
作为一个示例,下面具体介绍一下资源分发的过程,具体如下:
一个目标资源信息中包含的目标资源的目标大小Rb为1K、分发数量G为15人、带宽峰值Wb为3K及分发时刻Rt为2021-10-01 12:00:05,目标资源信息的获取时刻RC为2021-10-01 12:00:00,根据上述的目标资源的目标大小Rb和带宽峰值Wb,确定目标资源的并发阈值Sg=Wb/Rb=3/1=3;根据并发阈值Sg和分发数量G,确定目标资源的所需时长T1=G/Sg=15/3=5;根据分发时刻Rt和目标资源信息的获取时刻RC,确定目标资源的允许时长T2=Rt-RC=5;比较所需时长T1和允许时长T2的大小可知T1=T2,在允许时长T2内,可将目标资源预分发至与分发数量G的客户端,即预分发数量为15人。在允许时长T2内,按照并发人数Sg=3,每次将目标资源预分发至3人的客户端,客户端将目标资源缓存至相应的本地缓存区,当完成5次目标资源的预分发过程且预分发目标资源的时长达到允许时长T2后,即完成了与预分发数量对应的客户端的目标资源的预分发,并且当前时刻达到了目标资源的目标分发时刻,此时,将推送消息下发至与分发数量G对应的客户端,由于与分发数量G对应的客户端均已将目标资源存储至本地缓存区,所以当客户端监测到针对推送消息的触发操作时,直接查找本地缓存区即可得到与推送消息携带的资源标识对应的目标资源。
本实施例提供的一种资源分发方法,包括:获取目标资源信息,目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;确定目标资源信息的获取时刻、与资源路径对应的目标资源及目标资源的资源大小;根据资源大小和带宽峰值确定预分发目标资源的并发阈值;根据并发阈值和分发数量确定预分发目标资源的所需时长,及根据获取时刻和分发时刻确定预分发目标资源的允许时长;在确定所需时长和允许时长的比较结果后,确定目标资源的预分发数量;按照预设规则将目标资源预分发至与预分发数量对应的客户端,以使客户端将目标资源进行缓存。通过上述方式,本发明提前将目标资源平缓预分发至一定数量的客户端上进行缓存,以提前削减掉CDN的访问突发峰值,降低了CDN的峰值流量,节省了CDN的付费成本。
参考图3,图3为本发明实施例所提供的一个资源分发装置的结构示意图。本发明实施例提供的一种资源分发装置包括信息获取模块400、确定模块500和预分发模块600,其中,信息获取模块400用于获取目标资源信息,目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;确定模块500用于确定所述目标资源信息的获取时刻、与所述资源路径对应的目标资源及所述目标资源的资源大小;确定模块500还用于根据所述资源大小和所述带宽峰值确定预分发目标资源的并发阈值;确定模块500还用于根据所述并发阈值和所述分发数量确定预分发目标资源的所需时长,及根据所述获取时刻和所述分发时刻确定预分发目标资源的允许时长;确定模块500还用于在确定所述所需时长和所述允许时长的比较结果后,确定所述目标资源的预分发数量;预分发模块600用于按照预设规则将所述目标资源预分发至与所述预分发数量对应的客户端,以使所述客户端将所述目标资源进行缓存。
本实施例中,预分发模块600还用于:
若当前时刻达到所述分发时刻,下发推送消息至与所述分发数量对应的所述客户端,所述推送消息携带有与所述推送消息对应的资源标识号和所述资源路径;
在所述客户端监测到针对所述推送消息的触发操作时,所述客户端根据所述资源标识号查询所述客户端的本地缓存区;
当所述本地缓存区中缓存有与所述资源标识号相匹配的所述目标资源时,所述客户端从所述本地缓存区中获取到所述目标资源;
当所述本地缓存区中未缓存有与所述资源标识号相匹配的所述目标资源时,所述客户端根据所述资源路径获取到所述目标资源。
本实施例提供的资源分发装置,还包括删除模块,其中,删除模块用于:当所述客户端的本地缓存区中所述目标资源的缓存时长大于预设阈值时,则所述客户端将所述目标资源从所述本地缓存区中删除。
本实施例中,预分发模块600还用于:
当同一时刻获取到多个所述目标资源信息时,将多个所述目标资源信息作为目标资源信息集合;
针对所述目标资源信息集合中的任一所述目标资源信息,确定与所述目标资源信息对应的分发时刻;
根据多个所述分发时刻的先后顺序,得到与所述目标资源信息集合对应的时间排序关系;
按照所述时间排序关系,依次预分发与所述目标资源信息对应的所述目标资源。
本实施例中,确定模块500还用于:
当所述所需时长小于等于所述允许时长时,将所述分发数量确定为预分发数量;
当所述所需时长大于所述允许时长时,根据所述允许时长和所述并发阈值确定所述目标资源的所述预分发数量。
本实施例中,预分发模块600还用于:
当所述所需时长小于等于所述允许时长时,在所述所需时长内,按照并发阈值分批次预分发所述目标资源至与所述预分发数量对应的所述客户端;其中,所述并发阈值通过所述目标资源信息所确定;
当所述所需时长大于所述允许时长时,在所述允许时长内,按照所述并发阈值分批次预分发所述目标资源至与所述预分发数量对应的所述客户端。
本实施例提供的一种资源分发装置,包括信息获取模块400、确定模块500和预分发模块600,其中,信息获取模块400用于获取目标资源信息,目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;确定模块500用于确定目标资源信息的获取时刻、与资源路径对应的目标资源及目标资源的资源大小;确定模块500还用于根据资源大小和带宽峰值确定预分发目标资源的并发阈值;确定模块500还用于根据并发阈值和分发数量确定预分发目标资源的所需时长,及根据获取时刻和分发时刻确定预分发目标资源的允许时长;确定模块500还用于在确定所述所需时长和所述允许时长的比较结果后,确定所述目标资源的预分发数量;预分发模块600用于按照预设规则将所述目标资源预分发至与所述预分发数量对应的客户端,以使所述客户端将所述目标资源进行缓存。通过上述方式,本发明实施例提前将目标资源平缓预分发至一定数量的客户端上进行缓存,以提前削减掉CDN的访问突发峰值,降低了CDN的峰值流量,节省了CDN的付费成本。
图4为本发明实施例提供的一种的电子设备300的结构示意图,图4所示的电子设备300包括:至少一个处理器301、存储器302、至少一个网络接口304和其他用户接口303。电子设备300中的各个组件通过总线系统305耦合在一起。可理解,总线系统305用于实现这些组件之间的连接通信。总线系统305除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统305。
其中,用户接口303可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器302可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器302(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器302(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器302(DoubleData Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器302(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器302(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器302(Direct Rambus RAM,DRRAM)。本文描述的存储器302旨在包括但不限于这些和任意其它适合类型的存储器302。
在一些实施方式中,存储器302存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统3021和应用程序3022。
其中,操作系统3021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序3022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序3022中。
在本发明实施例中,通过调用存储器302存储的程序或指令,具体的,可以是应用程序3022中存储的程序或指令,处理器301用于执行各方法实施例所提供的方法步骤,例如包括:获取目标资源信息,目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;确定目标资源信息的获取时刻、与资源路径对应的目标资源及目标资源的资源大小;根据资源大小和带宽峰值确定预分发目标资源的并发阈值;根据并发阈值和分发数量确定预分发目标资源的所需时长,及根据获取时刻和分发时刻确定预分发目标资源的允许时长;在确定所需时长和允许时长的比较结果后,确定目标资源的预分发数量;按照预设规则将目标资源预分发至与预分发数量对应的客户端,以使客户端将目标资源进行缓存。
上述本发明实施例揭示的方法可以应用于处理器301中,或者由处理器301实现。处理器301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器301可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器301等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器302,处理器301读取存储器302中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的电子设备300可以是如图4中所示的电子设备300,可执行如图2中资源分发方法的所有步骤,进而实现图2所示资源分发方法的技术效果,具体请参照图2相关描述,为简洁描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器301执行,以实现上述在资源分发设备侧执行的资源分发方法。
所述处理器301用于执行存储器302中存储的资源分发程序,以实现以下在资源分发设备侧执行的资源分发方法的步骤:获取目标资源信息,目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;确定目标资源信息的获取时刻、与资源路径对应的目标资源及目标资源的资源大小;根据资源大小和带宽峰值确定预分发目标资源的并发阈值;根据并发阈值和分发数量确定预分发目标资源的所需时长,及根据获取时刻和分发时刻确定预分发目标资源的允许时长,在确定所需时长和允许时长的比较结果后,确定目标资源的预分发数量;按照预设规则将目标资源预分发至与预分发数量对应的客户端,以使客户端将目标资源进行缓存。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种资源分发方法,其特征在于,包括:
获取目标资源信息,所述目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;
确定所述目标资源信息的获取时刻、与所述资源路径对应的目标资源及所述目标资源的资源大小;
根据所述资源大小和所述带宽峰值确定预分发所述目标资源的并发阈值;
根据所述并发阈值和所述分发数量确定预分发所述目标资源的所需时长,及根据所述获取时刻和所述分发时刻确定预分发所述目标资源的允许时长;
在确定所述所需时长和所述允许时长的比较结果后,确定所述目标资源的预分发数量;
按照预设规则将所述目标资源预分发至与所述预分发数量对应的客户端,以使所述客户端将所述目标资源进行缓存。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若当前时刻达到所述分发时刻,下发推送消息至与所述分发数量对应的所述客户端,所述推送消息携带有与所述推送消息对应的资源标识号和所述资源路径;
在所述客户端监测到针对所述推送消息的触发操作时,所述客户端根据所述资源标识号查询所述客户端的本地缓存区;
当所述本地缓存区中缓存有与所述资源标识号相匹配的所述目标资源时,所述客户端从所述本地缓存区中获取到所述目标资源;
当所述本地缓存区中未缓存有与所述资源标识号相匹配的所述目标资源时,所述客户端根据所述资源路径获取到所述目标资源。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述客户端的本地缓存区中所述目标资源的缓存时长大于预设阈值时,则所述客户端将所述目标资源从所述本地缓存区中删除。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当同一时刻获取到多个所述目标资源信息时,将多个所述目标资源信息作为目标资源信息集合;
针对所述目标资源信息集合中的任一所述目标资源信息,确定与所述目标资源信息对应的所述分发时刻;
根据多个所述分发时刻的先后顺序,得到与所述目标资源信息集合对应的时间排序关系;
按照所述时间排序关系,依次预分发与所述目标资源信息对应的所述目标资源。
5.根据权利要求1所述的方法,其特征在于,所述确定所述目标资源的预分发数量,包括:
当所述所需时长小于等于所述允许时长时,将所述分发数量确定为预分发数量;
当所述所需时长大于所述允许时长时,根据所述允许时长和所述并发阈值确定所述目标资源的所述预分发数量。
6.根据权利要求1所述的方法,其特征在于,所述按照预设规则将所述目标资源预分发至与所述预分发数量对应的客户端,包括:
当所述所需时长小于等于所述允许时长时,在所述所需时长内,按照所述并发阈值分批次预分发所述目标资源至与所述预分发数量对应的所述客户端;
当所述所需时长大于所述允许时长时,在所述允许时长内,按照所述并发阈值分批次预分发所述目标资源至与所述预分发数量对应的所述客户端。
7.一种资源分发装置,其特征在于,包括:
信息获取模块,用于获取目标资源信息,所述目标资源信息包括:资源路径、分发时刻、分发数量及带宽峰值;
确定模块,用于确定所述目标资源信息的获取时刻、与所述资源路径对应的目标资源及所述目标资源的资源大小;
所述确定模块,还用于根据所述资源大小和所述带宽峰值确定预分发所述目标资源的并发阈值;
所述确定模块,还用于根据所述并发阈值和所述分发数量确定预分发所述目标资源的所需时长,及根据所述获取时刻和所述分发时刻确定预分发所述目标资源的允许时长;
所述确定模块,还用于在确定所述所需时长和所述允许时长的比较结果后,确定所述目标资源的预分发数量;
预分发模块,用于按照预设规则将所述目标资源预分发至与所述预分发数量对应的客户端,以使所述客户端将所述目标资源进行缓存。
8.一种资源分发系统,其特征在于,包括:服务器和多个客户端,所述服务器用于执行如权利要求1~6中任一项所述的资源分发方法。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的资源分发程序,以实现权利要求1~6中任一项所述的资源分发方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~6中任一项所述的资源分发方法。
CN202211117802.1A 2022-09-14 2022-09-14 一种资源分发方法、装置、系统、电子设备及存储介质 Active CN115473857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211117802.1A CN115473857B (zh) 2022-09-14 2022-09-14 一种资源分发方法、装置、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211117802.1A CN115473857B (zh) 2022-09-14 2022-09-14 一种资源分发方法、装置、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115473857A true CN115473857A (zh) 2022-12-13
CN115473857B CN115473857B (zh) 2023-12-15

Family

ID=84332963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211117802.1A Active CN115473857B (zh) 2022-09-14 2022-09-14 一种资源分发方法、装置、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115473857B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090245497A1 (en) * 2008-03-25 2009-10-01 Siemens Communications, Inc. Telecommunications system, method of managing a telecommunications system for optimized bandwidth usage during conference calls and program product therefor
US20110093607A1 (en) * 2008-06-27 2011-04-21 Huawei Technologies Co., Ltd. Method, device, and apparatus for providing media stream service
US20140280679A1 (en) * 2013-03-14 2014-09-18 The Regents Of The University Of California System and method for video caching in wireless networks
US20140344879A1 (en) * 2013-05-20 2014-11-20 Telefonaktiebolaget L M Ericsson (Publ) Weighted ingest policy management in a content distribution network
US20160248866A1 (en) * 2015-02-19 2016-08-25 Akamai Technologies, Inc. Systems and methods for avoiding server push of objects already cached at a client
WO2019057212A1 (zh) * 2017-09-22 2019-03-28 中兴通讯股份有限公司 Cdn节点内服务调度方法、装置、设备及存储介质
CN110868320A (zh) * 2019-11-13 2020-03-06 武汉微派网络科技有限公司 一种动态配置分发方法、设备、装置和系统
CN113132443A (zh) * 2019-12-31 2021-07-16 北京金山云网络技术有限公司 资源获取方法、装置及cdn网络中的节点设备
CN113610558A (zh) * 2021-07-12 2021-11-05 北京达佳互联信息技术有限公司 资源分发方法、装置、电子设备及存储介质
US20220210493A1 (en) * 2020-12-31 2022-06-30 Beijing Dajia Internet Information Technology Co., Ltd. Method and apparatus for downloading resources
CN114826926A (zh) * 2022-04-01 2022-07-29 网宿科技股份有限公司 Cdn资源的配置调整方法、装置、电子设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090245497A1 (en) * 2008-03-25 2009-10-01 Siemens Communications, Inc. Telecommunications system, method of managing a telecommunications system for optimized bandwidth usage during conference calls and program product therefor
US20110093607A1 (en) * 2008-06-27 2011-04-21 Huawei Technologies Co., Ltd. Method, device, and apparatus for providing media stream service
US20140280679A1 (en) * 2013-03-14 2014-09-18 The Regents Of The University Of California System and method for video caching in wireless networks
US20140344879A1 (en) * 2013-05-20 2014-11-20 Telefonaktiebolaget L M Ericsson (Publ) Weighted ingest policy management in a content distribution network
US20160248866A1 (en) * 2015-02-19 2016-08-25 Akamai Technologies, Inc. Systems and methods for avoiding server push of objects already cached at a client
WO2019057212A1 (zh) * 2017-09-22 2019-03-28 中兴通讯股份有限公司 Cdn节点内服务调度方法、装置、设备及存储介质
CN110868320A (zh) * 2019-11-13 2020-03-06 武汉微派网络科技有限公司 一种动态配置分发方法、设备、装置和系统
CN113132443A (zh) * 2019-12-31 2021-07-16 北京金山云网络技术有限公司 资源获取方法、装置及cdn网络中的节点设备
US20220210493A1 (en) * 2020-12-31 2022-06-30 Beijing Dajia Internet Information Technology Co., Ltd. Method and apparatus for downloading resources
CN113610558A (zh) * 2021-07-12 2021-11-05 北京达佳互联信息技术有限公司 资源分发方法、装置、电子设备及存储介质
CN114826926A (zh) * 2022-04-01 2022-07-29 网宿科技股份有限公司 Cdn资源的配置调整方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN115473857B (zh) 2023-12-15

Similar Documents

Publication Publication Date Title
US10783267B2 (en) Centralized throttling service
CN109542361B (zh) 一种分布式存储系统文件读取方法、系统及相关装置
CN111756644B (zh) 热点限流方法、系统、设备及存储介质
CN111355971B (zh) 直播流传输方法、装置、cdn服务器及计算机可读介质
CN105376270B (zh) 提高上传效率的方法、装置和系统
US11463753B2 (en) Method and apparatus for downloading resources
CN106254528B (zh) 一种资源下载方法和缓存设备
CN113517985B (zh) 文件数据处理方法、装置、电子设备及计算机可读介质
CN114070652B (zh) Cdn资源封禁方法、装置、电子设备及存储介质
CN111046310A (zh) 页面处理方法、装置、服务器及计算机可读存储介质
CN113453047A (zh) 资源请求的处理方法、装置、电子设备及存储介质
CN110213671B (zh) 一种热点短视频确定方法和装置
CN112653736B (zh) 一种并行回源方法、装置及电子设备
CN107908730B (zh) 一种下载数据的方法和装置
CN112069386B (zh) 一种请求处理方法、装置、系统、终端及服务器
CN111698281B (zh) 一种资源下载方法、装置、电子设备及存储介质
CN115694699A (zh) 时延参数采集方法、装置、电子设备及存储介质
CN115473857B (zh) 一种资源分发方法、装置、系统、电子设备及存储介质
CN110381081B (zh) 网络访问方法、装置及电子设备
CN109788326B (zh) 一种视频资源预推送方法、装置及系统
CN110545453B (zh) 内容分发网络的内容发布方法、装置和系统
US11368516B1 (en) Method for uploading file via cloud computing environment, and proxy server for executing the same
CN111245949A (zh) 文件归档传输方法、装置及设备
CN113242245A (zh) 一种tcp消息限流方法、装置、服务器及存储介质
CN108306859B (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