CN117640640A - 一种cdn节点合理混跑和动态调整覆盖方法及系统 - Google Patents
一种cdn节点合理混跑和动态调整覆盖方法及系统 Download PDFInfo
- Publication number
- CN117640640A CN117640640A CN202311343060.9A CN202311343060A CN117640640A CN 117640640 A CN117640640 A CN 117640640A CN 202311343060 A CN202311343060 A CN 202311343060A CN 117640640 A CN117640640 A CN 117640640A
- Authority
- CN
- China
- Prior art keywords
- node
- cdn
- cache
- module
- information
- 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
- 238000002156 mixing Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000004458 analytical method Methods 0.000 claims abstract description 26
- 230000004927 fusion Effects 0.000 claims description 9
- 238000011084 recovery Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 16
- 230000008901 benefit Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种CDN节点合理混跑和动态调整覆盖方法及系统,采用BloomFilter算法对cachekey进行哈希处理构建布隆过滤器,并判断请求是否存在于CDN缓存中。通过重合度分析和调度算法,动态调整CDN节点之间的负载分配,实现节点合理混跑。该算法可以更好地平衡节点资源使用,提高系统的负载均衡能力,减轻单个节点的负担,从而提高系统的稳定性和可靠性。本发明根据用户请求的地理位置和网络状况等信息,动态调整CDN节点的覆盖范围和负载分配,以适应不同用户的需求。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种CDN节点合理混跑和动态调整覆盖方法及系统。
背景技术
随着互联网的迅速发展,全球各地用户对于网络内容的需求不断增加。为了更好地满足用户的需求,CDN(内容分发网络)技术应运而生。CDN通过在全球范围内部署节点,将用户发起的请求转发到距离最近的节点,从而提高请求响应速度和可靠性。但现有CDN存在以下痛点:边缘机器的磁盘容量有限,所有业务混合在一起时会导致磁盘很快用尽,并且会浪费回中心机器带宽。特别是来自同一个终端用户的多个融合产商的业务不一定相同,因此共享缓存的概率很低。为了解决这个问题,需要评估节点业务的合理混合动态调整范围,以提高磁盘利用率。其中,BloomFilter算法是一种快速判断某个元素是否存在于集合中的算法,具有高效、低内存占用等优点,常用于缓存中的数据去重和查询。因此,在CDN系统中使用BloomFilter算法可以提高系统的性能和效率。
此外,CDN系统还需要支持动态调整覆盖范围、负载均衡、故障恢复等功能,需要结合分布式系统、计算机网络等相关领域的知识进行设计和实现。
发明内容
本发明的目的在于提供一种CDN节点合理混跑和动态调整覆盖方法及系统,基于BloomFilter算法提高CDN系统的性能和效率,更好地满足用户对网络内容的需求
本发明采用的技术方案是:
一种CDN节点合理混跑和动态调整覆盖系统,其包括缓存查询模块、节点管理模块、负载调度模块;缓存查询模块用于从CDN请求中获取到缓存cache_key信息,使用基于BloomFilter算法的进行CDN缓存查询并反馈缓存查询结果;节点管理模块负责重合度分析、调度分析、节点管理,节点管理模块针对融合厂商做重合度分析并给出调度建议;负载调度模块负责负载均衡算法、故障恢复、数据同步,负载调度模块进行实际调度操作。
进一步地,缓存查询模块配置有哈希函数和BloomFilter算法。
进一步地,节点管理模块包括重合度分析模块、调度算法模块和节点状态管理模块,重合度分析模块针对融合厂商域名做重合度分析并确定合适的节点混跑方式,调度算法模块用于将将重合度高的解析调整到同一节点上;节点状态管理用于获取并更新各个CDN节点的状态信息。
进一步地,负载调度模块配置有负载均衡算法、故障恢复机制和数据同步模块。
一种CDN节点合理混跑和动态调整覆盖方法,其包括以下步骤:
步骤1,缓存查询模块获取CDN节点的请求利用BloomFilter算法进行快速缓存查询,并判断缓存是否命中;如果是,则执行步骤4;否则,执行步骤2;
步骤2,节点管理模块基于CDN节点请求进行CDN节点合理混跑以得到调整后的节点混跑信息;
步骤3,负载调度模块基于调整后的节点混跑信息动态调整CDN节点覆盖范围将用户请求调度至最优的节点;
步骤4,将命中的缓存的节点信息或者新调度的最优的节点信息反馈给用户。
进一步地,步骤1的具体步骤如下;
步骤1-1,获取CDN节点请求的cachekey,对cachekey进行哈希处理得到一个哈希值,并构建布隆过滤器;
具体地,步骤1-1中利用使用BloomFilter算法对cachekey进行哈希。
步骤1-2,在BloomFilter中查找对应哈希值并判断是否匹配;如果匹配成功,则判定缓存命中;否则,缓存未命中。
进一步地,步骤2具体包括以下步骤:
步骤2-1,中心服务器实时获取CDN系统中各节点(即边缘机器)的节点信息,节点信息包括cachekey、文件大小和md5信息;
步骤2-2,针对融合厂商域名做重合度分析,确定合适的节点混跑方式;
步骤2-3,将重合度高的解析调整到同一节点上,以提高CDN系统的负载均衡能力;
步骤2-4,生成并输出调整后的节点混跑信息。
进一步地,步骤2-2的具体方法为:判断根据文件大小、md5信息计算的重合度是否大于80%;如果是,则判定两个域名的cachekey能够合并成同一个,且内容是一致性概率高的,以便优先考虑两个客户放同一个节点进行服务;否则,判断一致性概率低且两个域名无法合并。
进一步,步骤3的具体步骤如下:
步骤3-1,获取用户请求的地理位置和网络状况;
步骤3-2,根据用户请求信息计算出最优节点覆盖范围;
步骤3-3,动态调整CDN节点的负载和流量分配,将用户请求分配至最优的节点并输出对应的最优节点信息,以满足不同的用户需求。
本发明采用以上技术方案,具有以下优点:1.提高CDN缓存查询效率:通过BloomFilter算法快速判断请求是否命中缓存,降低了缓存查询的时间和开销,提高了系统性能和响应速度。2.提升负载均衡能力:通过节点的合理混跑,可以更好地分配节点资源,提升系统的负载均衡能力,减轻单个节点的负担,从而提高系统的稳定性和可靠性。3.增强灵活性和可扩展性:通过动态调整CDN节点的覆盖范围和负载分配,可以更好地满足不同用户的需求,增强了系统的灵活性和可扩展性。4.降低内存占用:采用BloomFilter算法可以在保证查询精度的同时,降低内存占用,提高系统的容错率和可用性。本发明能够解决传统CDN系统中存在的一些问题,如缓存查询效率低、负载均衡能力差等,提高了系统的性能和效率,符合当前网络技术的发展趋势。同时,本发明也具有广泛的适用性和实际意义,可以为CDN服务提供商和用户带来更好的体验和效益。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为本发明一种CDN节点合理混跑和动态调整覆盖方法的步骤流程示意图;
图2为本发明一种CDN节点合理混跑和动态调整覆盖系统的系统原理结构示意图。
实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。
如图1或2所示,本发明公开了一种CDN节点合理混跑和动态调整覆盖方法,其包括以下步骤:
步骤1,缓存查询模块获取CDN节点的请求利用BloomFilter算法进行快速缓存查询,并判断缓存是否命中;如果是,则执行步骤4;否则,执行步骤2;
进一步地,步骤1的具体步骤如下;
步骤1-1,获取CDN节点请求的cachekey,对cachekey进行哈希处理得到一个哈希值,并构建布隆过滤器;
具体地,步骤1-1中利用使用BloomFilter算法对cachekey进行哈希。
步骤1-2,在BloomFilter中查找对应哈希值并判断是否匹配;如果匹配成功,则判定缓存命中;否则,缓存未命中。
步骤2,节点管理模块基于CDN节点请求进行CDN节点合理混跑以得到调整后的节点混跑信息;具体包括以下步骤:
步骤2-1,中心服务器实时获取CDN系统中各节点(即边缘机器)的节点信息,节点信息包括cachekey、文件大小和md5信息;
步骤2-2,针对融合厂商域名做重合度分析,确定合适的节点混跑方式;
步骤2-3,将重合度高的解析调整到同一节点上,以提高CDN系统的负载均衡能力;
步骤2-4,生成并输出调整后的节点混跑信息。
进一步地,步骤2-2的具体方法为:判断根据文件大小、md5信息计算的重合度是否大于80%;如果是,则判定两个域名的cachekey能够合并成同一个,且内容是一致性概率高的,以便优先考虑两个客户放同一个节点进行服务;否则,判断一致性概率低且两个域名无法合并。
具体地,如根据文件大小、md5等信息计算重合度大于80%,则认为这两个域名的cachekey可以合并成同一个,认为内容是一致性概率高的,优先考虑两个客户放同一个节点进行服务;若重合度小于80%,则认为一致性概率低,无法合并。将重合度高的域名的解析调整到同一节点列表上进行服务,提高CDN系统的负载均衡能力,此时不同域名则可以复用缓存,提高磁盘使用率。
步骤3,负载调度模块基于调整后的节点混跑信息动态调整CDN节点覆盖范围将用户请求调度至最优的节点;
进一步,步骤3的具体步骤如下:
步骤3-1,获取用户请求的地理位置和网络状况;
步骤3-2,根据用户请求信息计算出最优节点覆盖范围;
步骤3-3,动态调整CDN节点的负载和流量分配,将用户请求分配至最优的节点并输出对应的最优节点信息,以满足不同的用户需求。
具体的,根据不同的用户需求,灵活调整CDN节点的负载和流量分配。举例:若发现华南地区重合率高于80%,华北地区重合率小于80%,此时考虑仅对华南地区进行2个域名的cachekey合并,同时2个域名的解析,仅仅在华南地区使用相同的节点列表进行服务。
步骤4,将命中的缓存的节点信息或者新调度的最优的节点信息反馈给用户。
一种CDN节点合理混跑和动态调整覆盖系统,配置在中心服务器上,中心服务器分别与各个CDN节点连接,系统包括缓存查询模块、节点管理模块、负载调度模块;缓存查询模块用于从CDN请求中获取到缓存cache_key信息,使用基于BloomFilter算法的进行CDN缓存查询并反馈缓存查询结果;节点管理模块负责重合度分析、调度分析、节点管理,节点管理模块针对融合厂商做重合度分析并给出调度建议;负载调度模块负责负载均衡算法、故障恢复、数据同步,负载调度模块进行实际调度操作。
进一步地,缓存查询模块配置有哈希函数和BloomFilter算法。
进一步地,节点管理模块包括重合度分析模块、调度算法模块和节点状态管理模块,重合度分析模块针对融合厂商域名做重合度分析并确定合适的节点混跑方式,调度算法模块用于将将重合度高的解析调整到同一节点上;节点状态管理用于获取并更新各个CDN节点的状态信息。
进一步地,负载调度模块配置有负载均衡算法、故障恢复机制和数据同步模块。
进一步地,每个CDN节点单独部署一个布隆过滤器,以避免不必要的通信开销。
本发明采用BloomFilter算法对cachekey进行哈希处理,构建布隆过滤器,并利用该算法快速判断某个请求是否存在于CDN缓存中。相比于传统的缓存查询方式,该算法可以有效降低缓存查询的时间和开销,提高系统性能和响应速度。本发明通过重合度分析和调度算法,动态调整CDN节点之间的负载分配,实现节点合理混跑。该算法可以更好地平衡节点资源使用,提高系统的负载均衡能力,减轻单个节点的负担,从而提高系统的稳定性和可靠性。本发明根据用户请求的地理位置和网络状况等信息,动态调整CDN节点的覆盖范围和负载分配,以适应不同用户的需求。该算法可以更好地满足用户的服务需求,增强了系统的灵活性和可扩展性,具有广泛的应用前景和商业价值。
本发明采用以上技术方案,具有以下优点:1.提高CDN缓存查询效率:通过BloomFilter算法快速判断请求是否命中缓存,降低了缓存查询的时间和开销,提高了系统性能和响应速度。2.提升负载均衡能力:通过节点的合理混跑,可以更好地分配节点资源,提升系统的负载均衡能力,减轻单个节点的负担,从而提高系统的稳定性和可靠性。3.增强灵活性和可扩展性:通过动态调整CDN节点的覆盖范围和负载分配,可以更好地满足不同用户的需求,增强了系统的灵活性和可扩展性。4.降低内存占用:采用BloomFilter算法可以在保证查询精度的同时,降低内存占用,提高系统的容错率和可用性。本发明能够解决传统CDN系统中存在的一些问题,如缓存查询效率低、负载均衡能力差等,提高了系统的性能和效率,符合当前网络技术的发展趋势。同时,本发明也具有广泛的适用性和实际意义,可以为CDN服务提供商和用户带来更好的体验和效益。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
Claims (9)
1.一种CDN节点合理混跑和动态调整覆盖系统,其特征在于:其包括缓存查询模块、节点管理模块、负载调度模块;缓存查询模块用于从CDN请求中获取到缓存cache_key信息,使用基于BloomFilter算法的进行CDN缓存查询并反馈缓存查询结果;节点管理模块负责重合度分析、调度分析、节点管理,节点管理模块针对融合厂商做重合度分析并给出调度建议;负载调度模块负责负载均衡算法、故障恢复、数据同步,负载调度模块进行实际调度操作。
2.根据权利要求1所述的一种CDN节点合理混跑和动态调整覆盖系统,其特征在于:缓存查询模块配置有哈希函数和BloomFilter算法。
3.根据权利要求1所述的一种CDN节点合理混跑和动态调整覆盖系统,其特征在于:节点管理模块包括重合度分析模块、调度算法模块和节点状态管理模块,重合度分析模块针对融合厂商域名做重合度分析并确定合适的节点混跑方式,调度算法模块用于将将重合度高的解析调整到同一节点上;节点状态管理用于获取并更新各个CDN节点的状态信息。
4.根据权利要求1所述的一种CDN节点合理混跑和动态调整覆盖系统,其特征在于:负载调度模块配置有负载均衡算法、故障恢复机制和数据同步模块。
5.一种CDN节点合理混跑和动态调整覆盖方法,采用权利要求1至4任一项所述的一种CDN节点合理混跑和动态调整覆盖系统,其特征在于:方法包括以下步骤:
步骤1,缓存查询模块获取CDN节点的请求利用BloomFilter算法进行快速缓存查询,并判断缓存是否命中;如果是,则执行步骤4;否则,执行步骤2;
步骤2,节点管理模块基于CDN节点请求进行CDN节点合理混跑以得到调整后的节点混跑信息;
步骤3,负载调度模块基于调整后的节点混跑信息动态调整CDN节点覆盖范围将用户请求调度至最优的节点;
步骤4,将命中的缓存的节点信息或者新调度的最优的节点信息反馈给用户。
6.根据权利要求5所述的一种CDN节点合理混跑和动态调整覆盖方法,其特征在于:步骤1的具体步骤如下;
步骤1-1,获取CDN节点请求的cachekey,使用BloomFilter算法对cachekey进行哈希处理得到一个哈希值,并构建布隆过滤器;
步骤1-2,在BloomFilter中查找对应哈希值并判断是否匹配;如果匹配成功,则判定缓存命中;否则,缓存未命中。
7.根据权利要求5所述的一种CDN节点合理混跑和动态调整覆盖方法,其特征在于:步骤2具体包括以下步骤:
步骤2-1,中心服务器实时获取CDN系统中各节点(即边缘机器)的节点信息,节点信息包括cachekey、文件大小和md5信息;
步骤2-2,针对融合厂商域名做重合度分析,确定合适的节点混跑方式;
步骤2-3,将重合度高的解析调整到同一节点上,以提高CDN系统的负载均衡能力;
步骤2-4,生成并输出调整后的节点混跑信息。
8.根据权利要求7所述的一种CDN节点合理混跑和动态调整覆盖方法,其特征在于:步骤2-2的具体方法为:判断根据文件大小、md5信息计算的重合度是否大于80%;如果是,则判定两个域名的cachekey能够合并成同一个,且内容是一致性概率高的,以便优先考虑两个客户放同一个节点进行服务;否则,判断一致性概率低且两个域名无法合并。
9.根据权利要求5所述的一种CDN节点合理混跑和动态调整覆盖方法,其特征在于:步骤3的具体步骤如下:
步骤3-1,获取用户请求的地理位置和网络状况;
步骤3-2,根据用户请求信息计算出最优节点覆盖范围;
步骤3-3,动态调整CDN节点的负载和流量分配,将用户请求分配至最优的节点并输出对应的最优节点信息,以满足不同的用户需求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311343060.9A CN117640640A (zh) | 2023-10-17 | 2023-10-17 | 一种cdn节点合理混跑和动态调整覆盖方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311343060.9A CN117640640A (zh) | 2023-10-17 | 2023-10-17 | 一种cdn节点合理混跑和动态调整覆盖方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117640640A true CN117640640A (zh) | 2024-03-01 |
Family
ID=90034607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311343060.9A Pending CN117640640A (zh) | 2023-10-17 | 2023-10-17 | 一种cdn节点合理混跑和动态调整覆盖方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117640640A (zh) |
-
2023
- 2023-10-17 CN CN202311343060.9A patent/CN117640640A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9503308B2 (en) | Method, device and system for processing content | |
CA2953031C (en) | A method and computing device for allowing synchronized access to cloud storage systems based on stub tracking | |
CN103023768B (zh) | 边缘路由节点以及其从多源预取内容的方法 | |
US8316364B2 (en) | Peer-to-peer software update distribution network | |
Sandler et al. | Feedtree: Sharing web micronews with peer-to-peer event notification | |
CN104348647B (zh) | 多源带宽调度方法、装置及系统 | |
US20060064476A1 (en) | Advanced content and data distribution techniques | |
US20020007413A1 (en) | System and method for using a mapping between client addresses and addresses of caches to support content delivery | |
US8819137B2 (en) | System and method for sharing mobile internet service | |
US8768886B2 (en) | Using AMQP for replication | |
CN106919654A (zh) | 一种基于Nginx的高可用MySQL数据库的实现方法 | |
CN102214192A (zh) | 一种实现Web页面数据曲线图显示的方法及服务器 | |
CN101635741B (zh) | 分布式网络中查询资源的方法及其系统 | |
Ling et al. | CDN cloud: A novel scheme for combining CDN and cloud computing | |
Hefeeda et al. | On-demand media streaming over the internet | |
CN109756573A (zh) | 一种基于区块链的文件系统 | |
US6973536B1 (en) | Self-adaptive hybrid cache | |
EP2126718A1 (en) | Method and system for a context manager for a converged services framework | |
CN101895550B (zh) | 一种应用于互联网网站的兼容动静态内容的缓冲加速方法 | |
CN103457976A (zh) | 数据下载方法和系统 | |
CN117640640A (zh) | 一种cdn节点合理混跑和动态调整覆盖方法及系统 | |
KR20030014513A (ko) | 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템및 그 방법 | |
Li et al. | Research on real-time high reliable network file distribution technology | |
Panchal et al. | Content delivery networks in the cloud with distributed edge servers | |
Benhamida et al. | Dynamic Architecture for Collaborative Distributed Storage of Collected Data in Fog Environments |
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 |