CN116016546A - 一种在cdn中批量预热资源文件的方法及系统 - Google Patents
一种在cdn中批量预热资源文件的方法及系统 Download PDFInfo
- Publication number
- CN116016546A CN116016546A CN202211500731.3A CN202211500731A CN116016546A CN 116016546 A CN116016546 A CN 116016546A CN 202211500731 A CN202211500731 A CN 202211500731A CN 116016546 A CN116016546 A CN 116016546A
- Authority
- CN
- China
- Prior art keywords
- preheating
- module
- task
- batch
- cdn
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及信息技术领域,具体公开了一种在CDN中批量预热资源文件的方法及系统,主所述系统包括任务注册模块、事务处理模块、通用缓存模块、异步回调模块及监控告警模块,其中任务注册模块用于对高数量级任务进行批量注册以及分发;事务处理模块用于对任务注册模块注册分发后的批量任务开启多线程并发处理;通用缓存模块用于缓存事务处理模块处理的预热资源文件,等。本发明通过批量注册预热任务,多线程并发处理预热请求,非热点资源文件内容过滤,实时消息异步状态上报和任务重试等技术手段,实现了高数量级的批量预热任务。
Description
技术领域
本发明涉及信息技术领域,具体是一种在CDN中批量预热资源文件的方法及系统。
背景技术
在CDN集群中,可以将资源文件提前预热至距离用户距离更近的边缘节点,这样用户在访问时将无需访问源站,而直接访问边缘节点即可命中资源,从而减轻突增回源流量给源站造成的访问压力,加快用户访问速度。因此,如何提高CDN集群的预热能力成为了提升CDN厂商的竞争力的重要技术领域。而传统的CDN预热仍存在一些弊端。
问题一:在高数量级预热任务下预热效率低,速度慢。CDN预热本质上是一种主动触发的回源请求,即把边缘节点作为客户端访问源站拉取资源文件。而这种主动回源任务,往往采用串行下发,前个预热任务完成后才进行下个任务,且缺乏“批次”的概念,这直接影响了预热效率,这对于有预热时间限制的客户需求来说不能满足要求。
问题二:大规模预热任务下发时,带宽占用高。由于预热是将文件拉取至边缘节点,因此从源站获取的文件内容将从源站经过中心节点,最后经过边缘节点,而对于有些预热文件,其实属于非热点文件,也拉取至边缘节点会增加没必要的带宽占用和预热时间。
问题三:对于预热失败任务定位慢。预热任务下发后,可能会产生由于网络堵塞,源站异常等原因造成的预热失败,对于失败任务,传统的预热技术缺少快速定位任务ID以及对应的错误原因,自发重试提高预热成功率的机制。
综上,当前对于支持大规模预热任务的场景当前业内的CDN预热技术仍存在很多局限性,故而本专利提出了一种在CDN中批量预热资源文件的方法及系统。
发明内容
本发明的目的在于提供一种在CDN中批量预热资源文件的方法及系统,针对大规模的预热任务,需要利用任务注册模块生成批量预热任务,并需要根据批量协议开启多线程发起预热请求,从而提升预热效率,缩短任务时间;需要减少带宽占用,通过算法完成对非热点资源的过滤操作,从而达到目的;需要建立异步状态上报和回调机制,并对于失败任务开启预热重试,从而提高预热成功率和失败场景的快速定位。
为实现上述目的,本发明提供如下技术方案:一种在CDN中批量预热资源文件的系统,所述系统包括任务注册模块、事务处理模块、通用缓存模块、异步回调模块及监控告警模块:
任务注册模块:用于对高数量级任务进行批量注册以及分发;
事务处理模块:用于对任务注册模块注册分发后的批量任务开启多线程并发处理;
通用缓存模块:用于缓存事务处理模块处理的预热资源文件;
异步回调模块:用于异步回调模块会接收通用缓存模块的预热结果,并对每个预热任务的预热结果进行上报进行异步状态上报;
监控告警模块:用于接收来自异步回调模块的预热结果上报信息,对失败任务发起重试,并实时更新预热状态。
作为本发明所述的一种优选实施方案,所述任务注册模块中还设置有agent分发组件,所述agent分发组件内置批量协议,所述agent分发组件通过内置批量协议将多批次的预热任务分发至各个边缘节点。
作为本发明所述的一种优选实施方案,所述事务处理模块为nginx事务处理模块,其设置有多个且分别位于不同节点上。
作为本发明所述的一种优选实施方案,所述事务处理模块中多线程利用了线程池和阻塞队列技术。
针对大规模预热任务开发了批量预热技术,相比与普通预热手段可以大大提高预热效率;通过标记非热点资源文件在边缘节点丢弃响应内容,达到了减少带宽占用和节约CDN预热成本的作用;相比于传统预热技术,增加了异步状态上报和失败重试等方法,优化用户体验,同时还提高了预热成功率
一种在CDN中批量预热资源文件的方法,所述方法包括:
步骤S100:首先根据用户任务生成批量预热请求列表,由任务注册模块注册多任务信息;
步骤S200:任务注册完成后,在带宽使用低的时间段内agent分发组件通过批量协议将多批次的预热任务分发至各个边缘节点;
步骤S300:各个节点的nginx事务处理模块解析批量url,启动后开启多线程模拟客户端向源站拉取文件至通用缓存模块,并使用预热过滤算法丢弃掉访问率低的资源文件的响应内容;
步骤S400:每个预热url完成后即发起状态上报,对失败的任务发起预热重试,并由监控告警模块实时更新预热状态信息。
作为本发明所述的一种优选实施方案,所述步骤S300详细步骤如下:
S301事务处理组件析批量url,启动后开启多线程并发预热;
S302边缘节点模拟客户端向源站发起预热请求拉取文件至缓存模块;
S303文件缓存后,过滤费热点资源文件的响应内容;
S304完成预热。
作为本发明所述的一种优选实施方案,所述步骤S400详细步骤如下:
S401以单个预热任务为单元异步状态上报;
S402监控告警组件接受预热结果,对失败任务发起重试;
S403可视化预热状态信息实时更新。
与现有技术相比,本发明的有益效果是:
1、针对大规模预热任务开发了批量预热技术,相比与普通预热手段可以大大提高预热效率。
2、通过标记非热点资源文件在边缘节点丢弃响应内容,达到了减少带宽占用和节约CDN预热成本的作用。
3、相比于传统预热技术,增加了异步状态上报和失败重试等方法,优化用户体验,同时还提高了预热成功率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明一种在CDN中批量预热资源文件的系统构架图;
图2为本发明一种在CDN中批量预热资源文件的方法流程图;
图3为本发明一种在CDN中批量预热资源文件的实施例示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1-图3,本发明提供一种在CDN中批量预热资源文件的方法及系统,所述系统包括任务注册模块、事务处理模块、通用缓存模块、异步回调模块及监控告警模块:
任务注册模块:用于对高数量级任务进行批量注册以及分发,所述任务注册模块中还设置有agent分发组件,所述agent分发组件内置批量协议,所述agent分发组件通过内置批量协议将多批次的预热任务分发至各个边缘节点;
事务处理模块:用于对任务注册模块注册分发后的批量任务开启多线程并发处理,所述事务处理模块为nginx事务处理模块,其设置有多个且分别位于不同节点上,所述事务处理模块中多线程利用了线程池和阻塞队列技术;
通用缓存模块:用于缓存事务处理模块处理的预热资源文件;
异步回调模块:用于异步回调模块会接收通用缓存模块的预热结果,并对每个预热任务的预热结果进行上报进行异步状态上报;
监控告警模块:用于接收来自异步回调模块的预热结果上报信息,对失败任务发起重试,并实时更新预热状态。
一种在CDN中批量预热资源文件的方法,所述方法包括:
步骤S100:首先根据用户任务生成批量预热请求列表,由任务注册模块注册多任务信息;
步骤S200:任务注册完成后,在带宽使用低的时间段内agent分发组件通过批量协议将多批次的预热任务分发至各个边缘节点;
步骤S300:各个节点的nginx事务处理模块解析批量url,启动后开启多线程模拟客户端向源站拉取文件至通用缓存模块,并使用预热过滤算法丢弃掉访问率低的资源文件的响应内容;
步骤S400:每个预热url完成后即发起状态上报,对失败的任务发起预热重试,并由监控告警模块实时更新预热状态信息。
进一步的,所述步骤S300详细步骤如下:
S301事务处理组件析批量url,启动后开启多线程并发预热;
S302边缘节点模拟客户端向源站发起预热请求拉取文件至缓存模块;
S303文件缓存后,过滤费热点资源文件的响应内容;
S304完成预热。
进一步的,所述步骤S400详细步骤如下:
S401以单个预热任务为单元异步状态上报;
S402监控告警组件接受预热结果,对失败任务发起重试;
S403可视化预热状态信息实时更新。
结合图1-图3,本发明具体实施方式如下:
1:首先根据用户任务生成批量预热请求列表,由任务注册模块注册多任务信息。
2:任务注册完成后,在带宽使用低的时间段内agent分发模块通过批量协议将多批次的预热任务分发至各个边缘节点。
3:各个节点的nginx事务处理模块解析批量url,启动后开启多线程并发预热。
4:边缘节点模拟客户端向源站发起预热请求拉取文件至缓存模块。
5:使用预热过滤算法丢弃掉访问率低的资源文件的响应内容,以减少带宽占用,提高预热效率;其中预热过滤算法是通过过往监控数据对热点资源文件进行排名,同时设置一个阈值,对低于该阈值的资源文件在预热时只保留到中心节点,在边缘节点直接丢弃掉响应内容。
6:预热完成。
7:每个预热url完成后即发起状态上报。
8:对失败的任务发起预热重试,并由监控告警模块实时更新预热状态信息。
9:对单个url粒度的预热任务可视化状态显示。
综上所述本方法主要技术如下:
1、实现了基于agent的大规模预热任务批量分发技术。通过任务注册模块,对高数量级预热任务分批注册并分发至边缘节点。
2、根据批量协议对批量预热请求建立多线程并发预热机制,相比于传统预热技术,大大减少了预热任务完成时间。
3、为了减少带宽占用,通过统计资源文件的请求数得到非热点文件的列表,从而实现了在边缘节点针对非热点资源文件丢弃响应内容的过滤操作。
4、为了提高预热任务的成功率,提出了基于单个预热url为粒度的异步状态上报和回调机制,对于失败任务开启预热重试。
5、为了优化客户体验,建立了基于预热状态的监控告警机制,实时更新任务状态。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种在CDN中批量预热资源文件的系统,其特征在于,所述系统包括任务注册模块、事务处理模块、通用缓存模块、异步回调模块及监控告警模块:
任务注册模块:用于对高数量级任务进行批量注册以及分发;
事务处理模块:用于对任务注册模块注册分发后的批量任务开启多线程并发处理;
通用缓存模块:用于缓存事务处理模块处理的预热资源文件;
异步回调模块:用于异步回调模块会接收通用缓存模块的预热结果,并对每个预热任务的预热结果进行上报;
监控告警模块:用于接收来自异步回调模块的预热结果上报信息,对失败任务发起重试,并实时更新预热状态。
2.根据权利要求1所述的一种在CDN中批量预热资源文件的系统,其特征在于,所述任务注册模块中还设置有agent分发组件,所述agent分发组件内置批量协议,所述agent分发组件通过内置批量协议将多批次的预热任务分发至各个边缘节点。
3.根据权利要求2所述的一种在CDN中批量预热资源文件的系统,其特征在于,所述事务处理模块为nginx事务处理模块,其设置有多个且分别位于不同节点上。
4.根据权利要求3所述的一种在CDN中批量预热资源文件的系统,其特征在于,所述事务处理模块中多线程利用了线程池和阻塞队列技术。
5.一种在CDN中批量预热资源文件的方法,其特征在于,基于权利要求1-4任一项所述系统,所述方法包括:
步骤S100:首先根据用户任务生成批量预热请求列表,由任务注册模块注册多任务信息;
步骤S200:任务注册完成后,在带宽使用低的时间段内agent分发组件通过批量协议将多批次的预热任务分发至各个边缘节点;
步骤S300:各个节点的nginx事务处理模块解析批量url,启动后开启多线程模拟客户端向源站拉取文件至通用缓存模块,并使用预热过滤算法丢弃掉访问率低的资源文件的响应内容;
步骤S400:每个预热url完成后即发起状态上报,对失败的任务发起预热重试,
并由监控告警模块实时更新预热状态信息。
6.根据权利要求5所述的一种在CDN中批量预热资源文件的方法,其特征在于,所述步骤S300详细步骤如下:
S301事务处理组件析批量url,启动后开启多线程并发预热;
S302边缘节点模拟客户端向源站发起预热请求拉取文件至缓存模块;
S303文件缓存后,过滤费热点资源文件的响应内容;
S304完成预热。
7.根据权利要求5所述的一种在CDN中批量预热资源文件的方法,其特征在于,所述步骤S400详细步骤如下:
S401以单个预热任务为单元异步状态上报;
S402监控告警组件接受预热结果,对失败任务发起重试;
S403可视化预热状态信息实时更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211500731.3A CN116016546A (zh) | 2022-11-28 | 2022-11-28 | 一种在cdn中批量预热资源文件的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211500731.3A CN116016546A (zh) | 2022-11-28 | 2022-11-28 | 一种在cdn中批量预热资源文件的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116016546A true CN116016546A (zh) | 2023-04-25 |
Family
ID=86019932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211500731.3A Pending CN116016546A (zh) | 2022-11-28 | 2022-11-28 | 一种在cdn中批量预热资源文件的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116016546A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117834730A (zh) * | 2024-03-04 | 2024-04-05 | 卓望数码技术(深圳)有限公司 | Cdn网络的资源预热方法、装置、设备及存储介质 |
CN117938955A (zh) * | 2024-03-21 | 2024-04-26 | 北京火山引擎科技有限公司 | 用于cdn中的数据预热方法、装置、设备和介质 |
-
2022
- 2022-11-28 CN CN202211500731.3A patent/CN116016546A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117834730A (zh) * | 2024-03-04 | 2024-04-05 | 卓望数码技术(深圳)有限公司 | Cdn网络的资源预热方法、装置、设备及存储介质 |
CN117834730B (zh) * | 2024-03-04 | 2024-05-14 | 卓望数码技术(深圳)有限公司 | Cdn网络的资源预热方法、装置、设备及存储介质 |
CN117938955A (zh) * | 2024-03-21 | 2024-04-26 | 北京火山引擎科技有限公司 | 用于cdn中的数据预热方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116016546A (zh) | 一种在cdn中批量预热资源文件的方法及系统 | |
EP0374134B1 (en) | Local area network for digital data processing system | |
JPS63138439A (ja) | 分散データベースアクセス要求処理方法 | |
JP4144897B2 (ja) | 共通作業キュー環境における最適格サーバ | |
JPH10500509A (ja) | オペレーティングシステムにおけるイベント分配装置及び方法 | |
EP0568002A2 (en) | Distribution of communications connections over multiple service access points in a communications network | |
US6920475B1 (en) | Communication architecture for distributed computing environment | |
EP3306866B1 (en) | Message processing method, device and system | |
JP3490473B2 (ja) | プロセッサ間通信システム | |
US7516195B2 (en) | Method of handling a web service call | |
EP0398649A2 (en) | Remote interrupt processing | |
CN112804301B (zh) | 设备状态的确定方法、装置、网关及存储介质 | |
US20030208635A1 (en) | Efficient I/O retry over QDIO | |
US20090106781A1 (en) | Remote call handling methods and systems | |
US7089265B1 (en) | Database management system for implementing independent database actions in response to events of interest | |
US11580093B2 (en) | Asynchronous database session update | |
CN111724262A (zh) | 一种应用服务器后续包查询系统及其工作方法 | |
CN112714181A (zh) | 一种数据传输方法及装置 | |
JPH04167159A (ja) | ネットワークシステムのサーバ検索方式 | |
JP2001331398A (ja) | サーバ管理システム | |
US20050076106A1 (en) | Asynchronous information retrieval | |
CN117097801A (zh) | 访问方法及系统、cdn节点、电子设备及存储介质 | |
CN117061613A (zh) | 业务请求处理方法、装置、电子设备及存储介质 | |
CN114254042A (zh) | 读写分离数据库集群系统的访问方法、装置及电子设备 | |
CN115277647A (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 |