CN109413163B - 一种服务访问的方法及装置 - Google Patents

一种服务访问的方法及装置 Download PDF

Info

Publication number
CN109413163B
CN109413163B CN201811171850.2A CN201811171850A CN109413163B CN 109413163 B CN109413163 B CN 109413163B CN 201811171850 A CN201811171850 A CN 201811171850A CN 109413163 B CN109413163 B CN 109413163B
Authority
CN
China
Prior art keywords
node
url
list
file corresponding
parent group
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
Application number
CN201811171850.2A
Other languages
English (en)
Other versions
CN109413163A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201811171850.2A priority Critical patent/CN109413163B/zh
Publication of CN109413163A publication Critical patent/CN109413163A/zh
Application granted granted Critical
Publication of CN109413163B publication Critical patent/CN109413163B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种服务访问的方法及装置,该方法包括第一节点接收第一访问请求,在确定未缓存URL对应的文件后,判断是否存在第一父组设备的IP列表,若存在,则从第一父组设备的IP列表以及第二父组设备的IP列表中确定出URL对应的第一IP、第二IP,第一父组设备、第二组设备分别为IP列表发生变化前后的父组设备,向第二节点发送第二访问请求,第二访问请求中包括第一IP和URL,用于获取URL对应的文件,第二节点为第二IP对应的设备。该技术方案可以有效利用第一父组设备的缓存资源,在不增加额外资源成本的前提下避免因父组切换导致的源站负载过高。

Description

一种服务访问的方法及装置
技术领域
本发明实施例涉及计算机领域,尤其涉及一种服务访问的方法及装置。
背景技术
目前CDN(Content Delivery Network,内容分发网络)架构很多都是边缘节点—父组—源站这样的架构,当终端向边缘节点发起请求时,如果边缘节点没有终端请求URL(统一资源定位符,Uniform Resource Locator)对应的缓存文件,则会返回至父组,如果父组上存在请求URL对应的缓存文件,则父组会直接响应给边缘节点,否则父组会直接返回至源站,再由源站响应URL对应的缓存文件。
但在这种架构下,若父组存在切换,如资源切割,机房替换和链路覆盖调整等,切换后的父组上可能没有切换前的父组上的资源。终端向边缘节点发起请求URL,判断边缘节点上没有请求URL对应的缓存文件后,返回至切换后的父组,而若此时因为父组切换导致切换后的父组没有请求URL对应的缓存文件,则切换后的父组只能返回至源站。这样就会造成源站负载过高,给源站带来巨大压力。
发明内容
本发明实施例提供一种服务访问的方法及装置,用以解决父组存在切换时,切换后的父组返回至源站,造成源站负载过高的问题。
本发明实施例提供的一种服务访问的方法,包括:
第一节点接收第一访问请求,所述第一访问请求包括URL;
所述第一节点在确定未缓存所述URL对应的文件后,判断是否存在第一父组设备的IP(网络之间互连协议,Internet Protocol)列表;若存在,则从第一父组设备的IP列表中确定出所述URL对应的第一IP以及从所述第二父组设备的IP列表中确定出所述URL对应的第二IP;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
所述第一节点向第二节点发送第二访问请求,所述第二访问请求中包括所述第一IP和所述URL,用于获取URL对应的文件,所述第二节点为所述第二IP对应的设备。
上述技术方案中,第一节点在确定未缓存URL对应的文件后,向第二节点发送第二访问请求,该第二访问请求中包括第一IP和URL,用于获取URL对应的文件,可以有效利用第一父组设备的缓存资源,在不增加额外资源成本的前提下避免因切换导致的源站负载过高。
可选的,在所述第一节点判断是否存在第一父组设备的IP列表之前,还包括:
所述第一节点根据所述URL获取域名解析后的IP列表;
所述第一节点确定所述域名解析后的IP列表和缓存中的IP列表是否发生变化;
若是,则所述第一节点将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份,将所述域名解析后的IP列表确定为所述第二父组设备的IP列表并覆盖所述缓存中的IP列表。
上述技术方案中,第一节点根据URL获取域名解析后的IP列表,判断解析后的IP列表是否与缓存中的IP列表一致,若不一致,则代表父组设备发生切换,则需要备份该缓存中的IP列表,同时定义第一父组设备的IP列表和第二父组设备的IP列表。第一父组设备的IP列表与第二父组设备的IP列表为两个不一致的IP列表。
可选的,所述第一节点将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份,包括:
若所述缓存中的IP列表的持续时间大于第一时间阈值,则所述第一节点将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份。
上述技术方案中,将缓存中的IP列表的持续时间大于第一时间阈值的IP列表确定为第一父组设备的IP列表,可以避免缓存中的IP列表的持续时间太短,第一父组设备上的缓存文件数有限,不能反馈URL对应的文件。从而提高了服务访问的效率。
可选的,在所述第一节点将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份之后,还包括:
若所述缓存中的IP列表的持续时间大于第二时间阈值,则所述第一节点将所述第一父组设备的IP列表删除。
上述技术方案中,若缓存中的IP列表的持续时间大于第二时间阈值时,第二节点无需再从第一IP对应的设备中查询URL对应的文件,也就是第二节点继续缓存或备份第一父组设备的IP列表已经没有意义,可以直接删除。从而提高了服务访问的效率。
可选的,在所述第一节点向第二节点发送第二访问请求之后,还包括:
所述第一节点接收所述第二节点反馈的所述URL对应的文件,将所述URL对应的文件反馈给发送所述第一访问请求的节点;所述URL对应的文件是所述第二节点从所述第二节点的本地缓存中获取的或从所述第一IP对应的设备获取的或从源站获取的。
上述技术方案中,URL对应的文件可以从第二节点的本地缓存、第一IP对应的设备的本地缓存以及源站获取,可以有效利用第一父组设备(第一IP对应的设备)的缓存资源,在不增加额外资源成本的前提下避免因切换导致的源站负载过高。
可选的,所述第一节点从第一父组设备的IP列表中确定出所述URL对应的第一IP以及从所述第二父组设备的IP列表中确定出所述URL对应的第二IP,包括:
所述第一节点根据所述URL以及所述第一父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第一IP;
所述第一节点根据所述URL以及所述第二父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第二IP。
上述技术方案中,通过一致性哈希算法确定URL对应的第一IP、URL对应的第二IP,可以通过第一IP确定该URL对应的第一父组设备的节点,从而向该URL对应的第一父组设备的节点发送查询请求,达到有效利用第一父组设备的缓存资源的同时,保证相同的URL都命中同一台机器上的缓存文件,减少磁盘浪费及回源带宽消耗。
相应的,本发明提供另一种服务访问的方法,包括:
第二节点接收第一节点发送的第二访问请求,所述第二访问请求包括第一IP和URL,所述第二访问请求为所述第一节点在确定存在第一父组设备的IP列表之后发送的;所述第一IP是所述第一节点从所述第一父组设备的IP列表中确定的,所述第二IP是所述第一节点从第二父组设备的IP列表中确定的;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
所述第二节点在确定未缓存所述URL对应的文件后,从所述第一IP对应的设备查询所述URL对应的文件;
所述第二节点在确定从所述第一IP对应的设备查询到所述URL对应的文件后,将所述URL对应的文件反馈给所述第一节点。
上述技术方案中,第二节点在确定未缓存URL对应的文件后,从第一IP对应的设备查询URL对应的文件,可以有效利用第一IP对应的设备的缓存资源,减少第二节点的回源次数,也就避免了源站负载过高。
可选的,还包括:
所述第二节点在确定缓存所述URL对应的文件后,从所述第二节点的本地缓存中获取所述URL对应的文件,将所述URL对应的文件反馈给所述第一节点。
上述技术方案中,若第二节点的本地缓存中缓存有URL对应的文件,则可以直接将URL对应的文件反馈给第一节点。
可选的,还包括:
所述第二节点在确定未从所述第一IP对应的设备查询到所述URL对应的文件后,从源站获取所述URL对应的文件,并将所述URL对应的文件反馈给所述第一节点。
上述技术方案中,第二节点只有在未从第一IP对应的设备查询到URL对应的文件后,才会从源站获取,这样可以减少回源次数。
可选的,在所述第二节点将所述URL对应的文件反馈给所述第一节点之后,还包括:
所述第二节点接收所述第一节点发送的第三访问请求,所述第三访问请求与所述第一访问请求为同一类型的访问请求;
在确定接收所述第一访问请求的时刻起的时长大于第三时间阈值后,从所述源站获取所述URL对应的文件,并将所述URL对应的文件反馈给所述第一节点。
上述技术方案中,当第二节点已经缓存了大部分第一IP对应设备中的缓存文件时,则可以不再向第一IP对应设备发送查询请求,提高了服务访问的效率。
相应的,本发明实施例还提供了一种服务访问的装置,包括:
接收单元,用于接收第一访问请求,所述第一访问请求包括待访问的URL;
处理单元,用于在确定未缓存所述URL对应的文件后,判断是否存在第一父组设备的IP列表;若存在,则从第一父组设备的IP列表中确定出所述URL对应的第一IP以及从所述第二父组设备的IP列表中确定出所述URL对应的第二IP;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
发送单元,用于向第二节点发送第二访问请求,所述第二访问请求中包括所述第一IP和所述URL,用于获取URL对应的文件,所述第二节点为所述第二IP对应的设备,第一节点为向所述第二节点发送第二访问请求的设备。
可选的,所述处理单元还用于:
在所述判断是否存在第一父组设备的IP列表之前,根据所述URL获取域名解析后的IP列表;并确定所述域名解析后的IP列表和缓存中的IP列表是否发生变化;
若是,则将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份,将所述域名解析后的IP列表确定为所述第二父组设备的IP列表并覆盖所述缓存中的IP列表。
可选的,所述处理单元具体用于:
若所述缓存中的IP列表的持续时间大于第一时间阈值,则将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份。
可选的,所述处理单元还用于:
在将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份之后,若所述缓存中的IP列表的持续时间大于第二时间阈值,则将所述第一父组设备的IP列表删除。
可选的,所述处理单元还用于:
在所述向第二节点发送第二访问请求之后,控制所述接收单元接收所述第二节点反馈的所述URL对应的文件,控制所述发送单元将所述URL对应的文件反馈给发送所述第一访问请求的节点;所述URL对应的文件是所述第二节点从所述第二节点的本地缓存中获取的或从所述第一IP对应的设备获取的或从源站获取的。
可选的,所述处理单元具体用于:
根据所述URL以及所述第一父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第一IP;
根据所述URL以及所述第二父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第二IP。
相应的,本发明实施例还提供了另一种服务访问的装置,包括:
接收单元,用于接收第一节点发送的第二访问请求,所述第二访问请求包括第一IP和URL,所述第二访问请求为所述第一节点在确定存在第一父组设备的IP列表之后发送的;所述第一IP是所述第一节点从所述第一父组设备的IP列表中确定的,所述第二IP是所述第一节点从第二父组设备的IP列表中确定的;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
处理单元,用于在确定未缓存所述URL对应的文件后,从所述第一IP对应的设备查询所述URL对应的文件;
发送单元,用于在所述处理单元确定从所述第一IP对应的设备查询到所述URL对应的文件后,将所述URL对应的文件反馈给所述第一节点。
可选的,所述处理单元还用于:
在确定缓存所述URL对应的文件后,从本地缓存中获取所述URL对应的文件,控制所述发送单元将所述URL对应的文件反馈给所述第一节点。
可选的,所述处理单元还用于:
在确定未从所述第一IP对应的设备查询到所述URL对应的文件后,从源站获取所述URL对应的文件,并控制所述发送单元将所述URL对应的文件反馈给所述第一节点。
可选的,所述处理单元还用于:
在将所述URL对应的文件反馈给所述第一节点之后,控制所述接收单元接收所述第一节点发送的第三访问请求,所述第三访问请求与所述第一访问请求为同一类型的访问请求;
在确定接收所述第一访问请求的时刻起的时长大于第三时间阈值后,从所述源站获取所述URL对应的文件,并将所述URL对应的文件反馈给所述第一节点。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述服务访问的方法。
相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述服务访问的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种服务访问的方法的流程示意图;
图3为本发明实施例提供的另一种服务访问的方法的流程示意图;
图4为本发明实施例提供的另一种服务访问的方法的流程示意图;
图5为本发明实施例提供的一种将第一IP对应的设备的状态标记为dead方法的流程示意图;
图6为本发明实施例提供的一种第一IP对应的设备被标记为dead的期间的流程示意图;
图7为本发明实施例提供的一种向第一IP对应的设备发送查询请求的流程示意图;
图8a为本发明实施例提供的一种哈希空间环;
图8b为第一父组设备使用IP地址哈希后在环空间的位置;
图8c为缓存文件A哈希后在环空间上的位置;
图9为本发明实施例提供的一种服务访问的装置的结构示意图;
图10为本发明实施例提供的另一种服务访问的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供的服务访问的方法所适用的系统架构,该系统架构可以为CDN(Content Delivery Network,内容分发网络)架构,具体可以包括终端101、边缘节点102、新父组设备103、原父组设备104、源站105。其中,边缘节点102、新父组设备103、原父组设备104均为缓存层,可以缓存终端101发送的访问请求所对应的文件,其中,新父组设备103是父组设备发生切换后的设备,原父组设备104是父组设备发生切换前的设备。边缘节点102与终端101相连,负责向终端101提供访问内容服务;当终端101向边缘节点102发起访问请求后,从边缘节点102或新父组设备103或原父组设备104或源站105获取访问请求对应的文件。
基于上述描述,图2示例性的示出了本发明实施例提供的一种服务访问的方法的流程,该流程可以由服务访问的装置执行。如图2所示,该流程具体包括:
步骤201,第一节点接收第一访问请求。
其中,第一访问请求包括待访问的URL。第一节点可以接收终端的第一访问请求,也可以接收该第一节点的下层节点发送的第一访问请求,在此不做限制。
步骤202,所述第一节点在确定未缓存所述URL对应的文件后,判断是否存在第一父组设备的IP列表;若存在,则从第一父组设备的IP列表中确定出所述URL对应的第一IP以及从所述第二父组设备的IP列表中确定出所述URL对应的第二IP。
其中,第一父组设备为IP列表发生变化前的父组设备,第二父组设备为IP列表发生变化后的父组设备。
可以理解为,第一节点根据接收到的第一访问请求中的URL,判断第一节点本地是否缓存有URL对应的文件,如果确定有缓存,则将本地缓存的URL对应的文件反馈给发送第一访问请求的节点;如果确定未缓存,则判断是否有第一父组设备的IP列表,也就是判断是否有IP列表发生变化前的父组设备的IP列表,若有,则可以从第一父组设备的IP列表中确定出URL对应的第一IP,同时从第二父组设备的IP列表中确定出URL对应的第二IP。
作为一种实现方式,第一节点从第一父组设备的IP列表中确定出URL对应的第一IP可以为:第一节点根据URL以及第一父组设备的IP列表,采用一致性哈希算法确定URL对应的第一IP;第一节点从第二父组设备的IP列表中确定出URL对应的第二IP可以为:第一节点根据URL以及第二父组设备的IP列表,采用一致性哈希算法确定URL对应的第二IP。
此外,第一节点在判断是否存在第一父组设备的IP列表之前,还可以有以下步骤:
第一节点根据URL获取域名解析后的IP列表,确定域名解析后的IP列表和缓存中的IP列表是否发生变化。
若确定没有发生变化,则确定父组设备未发生切换,第一节点计算URL对应的第二IP,在确定未缓存该URL对应的文件后,直接向第二IP对应的设备(第二节点)发送查询请求。
若确定发生变化,则确定父组设备发生切换,第一节点将缓存中的IP列表确定为第一父组设备的IP列表,并将第一父组设备的IP列表进行备份,同时将域名解析后的IP列表确定为第二父组设备的IP列表并覆盖缓存中的IP列表。相当于,第一节点在接收到第一访问请求后,通过域名解析确定该URL对应的当前父组设备的IP列表(域名解析后的IP列表),同时第一节点内部缓存有此次域名解析之前的父组设备的IP列表(缓存中的IP列表),判断二者是否一致,若不一致,则可以确定存在第一父组设备的IP列表,将第一父组设备的IP列表进行备份,同时将域名解析后的IP列表确定为第二父组设备的IP列表。
优选的,可以确定第一节点缓存的IP列表的持续时间,若该持续时间大于第一时间阈值,则可以将缓存的IP列表确定为第一父组设备的IP列表并进行备份。此处,对缓存中的IP列表的持续时间进行限定,解释为:若缓存中的IP列表的持续时间小于第一时间阈值,则说明第一节点返回第一父组设备的时间太短,第一父组设备上的缓存文件数有限,这种情况下会导致第二节点从第一IP对应的设备中查询URL对应的文件时,第一IP对应的设备可能会向第二节点响应HTTP(超文本传输协议,HyperText Transfer Protocol)状态码404,表示网页或文件未找到,此时的第二节点从第一IP对应的设备中查询URL对应的文件是没有意义的。此处,第二节点以及第二节点从第一IP对应的设备中查询URL对应的文件在下述实施例中做详细说明。第一时间阈值可以根据经验设定。
判断是否存在第一父组设备的IP列表之前,关于第一节点缓存的IP列表的持续时间可以举例如下,第一节点缓存的IP列表为A、域名解析后的IP列表为B,第一节点判断IP列表为A的保持时间是否大于第一时间阈值N,若大于,则将A确定为第一父组设备的IP列表并将A进行备份,同时将B确定为第二父组设备的IP列表并覆盖A;若不大于,则不将A确定为第一父组设备的IP列表,即不存在第一父组设备的IP列表。
相应的,第一节点将缓存中的IP列表确定为第一父组设备的IP列表并进行备份之后,还可以有以下实施方式,以保障第二节点从第一IP对应的设备中查询URL对应的文件时的有效性。若第一节点缓存中的IP列表的持续时间大于第二时间阈值,则将第一父组设备的IP列表删除。此处,对缓存中的IP列表的持续时间做进一步限定,解释为:若缓存中的IP列表的持续时间大于第二时间阈值,则第二节点已经从第一IP对应的设备中查询很多次URL对应的文件,也就相当于第二节点已经将第一IP对应的设备中URL对应的文件缓存到第二节点的本地,此外,第一IP对应的设备中缓存的文件可能已被清除掉,所以若缓存中的IP列表的持续时间大于第二时间阈值时,第二节点无需再向第一IP对应的设备中查询URL对应的文件,也就是第一节点继续缓存或备份第一父组设备的IP列表已经没有意义,可以直接删除。此处,第二节点以及第二节点从第一IP对应的设备中查询URL对应的文件在下述实施例中做详细说明。第二时间阈值可以根据经验设定,且第二时间阈值大于第一时间阈值。
值得说明的是,上述实施例中阐述了为了保障第二节点从第一IP对应的设备中查询URL对应的文件时的高效性,对缓存的IP列表的持续时间做了限定。但对该缓存的IP列表的持续时间的限定不仅限于此,还可以限定域名解析后的IP列表的持续时间,或限定第二节点从第一IP对应的设备中查询文件的总时长。
步骤203,所述第一节点向第二节点发送第二访问请求。
其中,第二访问请求中包括第一IP和URL,第二访问请求用于向第二节点获取URL对应的文件,第二节点为第二IP对应的设备。可选的,第一节点向第二节点发送第二访问请求时,可以通过第二访问请求的请求头将第一IP携带给第二IP对应的设备。还可以对第一IP进行加密,在第二IP对应的设备接收到加密的第一IP后,对加密的第一IP进行解密,这样可以防止第一IP被不法分子劫持从而进行攻击等其他不利操作。
在第一节点向第二节点发送第二访问请求之后,第一节点接收第二节点反馈的URL对应的文件,将URL对应的文件反馈给发送第一访问请求的节点,也就是,第一节点向第二节点发送第二访问请求后,第二节点反馈该URL对应的文件给第一节点,第一节点将接收到的该URL对应的文件再反馈给发送第一访问请求的节点,例如反馈给终端。此外,第一节点在接收到第二节点反馈的该URL对应的文件时,也会将该URL对应的文件缓存至本地,用于再次响应发送第一访问请求的节点,例如,发送第一访问请求的节点为终端,终端第一次发送第一访问请求时,第一节点本地未缓存该URL对应的文件,则向第二节点发送第二访问请求并获取到该URL对应的文件,第一节点将该URL对应的文件反馈给终端的同时将该URL对应的文件缓存至本地,当终端第二次发送该第一访问请求时,则第一节点可以直接将缓存在本地的URL对应的文件反馈给终端。
需要说明的是,第二节点反馈给第一节点的URL对应的文件可以是第二节点通过以下三种方式之一获取的:
(1)第二节点从第二节点的本地缓存中获取的;
(2)第二节点从第一IP对应的设备获取的;
(3)第二节点从源站获取的。
第一节点从第二节点的本地缓存中获取URL对应的文件,如果第二节点的本地缓存中没有URL对应的文件,则第二节点从第一IP对应的设备获取URL对应的文件,如果第一IP对应的设备没有URL对应的文件,则第二节点从源站获取URL对应的文件。
基于同一发明构思,图3示例性的示出了本发明实施例提供的另一种服务访问的方法的流程,该流程可以由服务访问的装置执行。如图3所示,该流程具体包括:
步骤301,第二节点接收第一节点发送的第二访问请求。
其中,第二访问请求包括第一IP和URL,第二访问请求为第一节点在确定存在第一父组设备的IP列表之后发送的;第一IP是第一节点从第一父组设备的IP列表中确定的,第二IP是第一节点从第二父组设备的IP列表中确定的;其中,第一父组设备为IP列表发生变化前的父组设备,第二父组设备为IP列表发生变化后的父组设备。
步骤302,所述第二节点在确定未缓存所述URL对应的文件后,从所述第一IP对应的设备查询所述URL对应的文件。
由上述实施例可知,第二访问请求包括第一IP和URL,第一IP为第一节点根据URL以及第一父组设备的IP列表,采用一致性哈希算法确定URL对应的第一IP,则第二节点可以根据第二访问请求确定第一IP以及第一IP对应的设备,相应的,第二节点可以从第一IP对应的设备中查询该URL对应的文件。也可以解释为:第二节点确定未缓存有URL对应的文件后,即父组发生切换,切换后的父组没有请求URL对应的缓存文件,则可以根据第二访问请求从第一IP对应的设备中查询,进而从第一IP对应的设备中获取该URL对应的文件。
步骤303,所述第二节点在确定从所述第一IP对应的设备查询到所述URL对应的文件后,将所述URL对应的文件反馈给所述第一节点。
第二节点在确定从第一IP对应的设备查询到URL对应的文件后,将查询并获取到的URL对应的文件后反馈给第一节点,同时缓存在第二节点本地。
上述实施例中,第一节点在确定未缓存URL对应的文件后,该URL对应的文件是第二节点从第一IP对应的设备中获取的。此外,该URL对应的文件还可以是从第二节点的本地缓存中获取或从源站中获取。在此,第一节点在确定未缓存该URL对应的文件后,对该URL对应的文件的获取方式做进一步解释:
(1)第二节点接收第一节点发送的第二访问请求后,确定本地缓存中是否缓存有URL对应的文件,存在两种情况:
情况一:第二节点确定缓存有URL对应的文件,则第二节点直接将本地缓存中的URL对应的文件反馈给第一节点,也就是第一节点从第二节点的本地缓存中获取URL对应的文件,将URL对应的文件反馈给第一节点。相当于URL对应的文件是第二节点从第二节点的本地缓存中获取的。
情况二:第二节点确定未缓存有URL对应的文件,则从第一IP对应的设备中查询该URL对应的文件。
进一步的,第一IP对应的设备在接收到第二节点发送的查询请求后,确定本地缓存中是否缓存有该URL对应的文件,同样可以存在两种情况:
情况一:第一IP对应的设备确定缓存有URL对应的文件,则第一IP对应的设备直接将本地缓存中的URL对应的文件反馈给第二节点,也就是第二节点从第一IP对应的设备获取URL对应的文件,将URL对应的文件反馈给第一节点。相当于URL对应的文件是第二节点从第一IP对应的设备获取的。
情况二:第一IP对应的设备确定未缓存有URL对应的文件,则可以向第二节点反馈HTTP状态码404或其他信息,以使第二节点确定未从第一IP对应的设备中查询到URL对应的文件。第二节点在确定未从第一IP对应的设备中查询到URL对应的文件后,第二节点从源站获取该URL对应的文件,并将该URL对应的文件反馈给第一节点。相当于URL对应的文件是第二节点从源站获取的。
综上,URL对应的文件可以从第二节点的本地缓存中获取;或从第一IP对应的设备的本地缓存中获取;或从源站获取。该方式有效利用第一父组设备的缓存资源,在不增加额外资源成本的前提下避免因父组切换导致的源站负载过高。
作为本发明的一种实现方式,第二节点在将URL对应的文件反馈给第一节点之后,还可以接收第一节点发送的第三访问请求,其中,第三访问请求与第一访问请求为同一类型的访问请求;在确定接收到第一访问请求的时刻起的时长大于第三时间阈值后,则从源站获取URL对应的文件,并将URL对应的文件反馈给第一节点。该实施方式相当于上述为了保障第二节点从第一IP对应的设备中查询URL对应的文件时的高效性,对缓存的IP列表的持续时间做了限定。都是为了提高获取URL对应的文件的效率。
为了更好的解释本发明实施例,下面将在具体的实施场景下描述该服务访问方法的流程,具体如图4所示。
步骤401,第一节点接收第一访问请求。
步骤402,第一节点确定存在第一父组设备IP列表。
步骤403,第一节点计算出第一IP和第二IP。
步骤404,第一节点确定本地缓存中是否缓存有URL对应的文件。若是,则转向步骤408,否则,则转向步骤405。
步骤405,第一节点向第一IP对应的设备发送查询请求。
步骤406,第一IP对应的设备确定本地缓存中是否缓存有URL对应的文件。若是,则转向步骤408,否则,则转向步骤407。
步骤407,第一节点向源站发送查询请求。
步骤408,第一节点将URL对应的文件反馈。
在父组设备发生切换时,可以大致分为三种情况:纯减组、纯加组、换组,具体的服务访问流程举例如下。
一、纯减组
第一父组设备的IP列表:IP1,IP2,IP3,IP4;
操作:-IP2(逻辑上删除IP2);
第二父组设备的IP列表:IP1,IP3,IP4;
根据图4可知,服务访问的流程可以如下:
第一节点接收第一访问请求。
第一节点确定存在第一父组设备IP列表。
第一节点计算出第一IP为IP2,第二IP为IP3。
第一节点确定本地缓存中是否缓存有URL对应的文件。若是,则将URL对应的文件反馈,否则,向IP3发送第二访问请求。
IP3确定本地缓存中是否缓存有URL对应的文件。若是,IP3将URL对应的文件反馈给第一节点,第一节点将URL对应的文件反馈。否则,IP3向IP2发送查询请求。
IP2确定本地缓存中是否缓存有URL对应的文件。若是,IP2将URL对应的文件反馈给IP3,IP3将URL对应的文件反馈给第一节点,第一节点将URL对应的文件反馈。否则,IP3向源站发送查询请求,源站将URL对应的文件反馈给IP3,IP3将URL对应的文件反馈给第一节点,第一节点将URL对应的文件反馈。
二、纯加组
第一父组设备的IP列表:IP1,IP3,IP4;
操作:+IP2(逻辑上增加IP2);
第二父组设备的IP列表:IP1,IP2,IP3,IP4;
根据图4可知,服务访问的流程可以如下:
第一节点接收第一访问请求。
第一节点确定存在第一父组设备IP列表。
第一节点计算出第一IP为IP3,第二IP为IP2。
第一节点确定本地缓存中是否缓存有URL对应的文件。若是,则将URL对应的文件反馈,否则,向IP2发送第二访问请求。
IP2确定本地缓存中是否缓存有URL对应的文件。若是,IP2将URL对应的文件反馈给第一节点,第一节点将URL对应的文件反馈。否则,IP2向IP3发送查询请求。
IP3确定本地缓存中是否缓存有URL对应的文件。若是,IP3将URL对应的文件反馈给IP2,IP2将URL对应的文件反馈给第一节点,第一节点将URL对应的文件反馈。否则,IP2向源站发送查询请求,源站将URL对应的文件反馈给IP2,IP2将URL对应的文件反馈给第一节点,第一节点将URL对应的文件反馈。
三、换组
第一父组设备的IP列表:IP1,IP2,IP3,IP4;
操作:IP2换为IP5(逻辑上将IP2转换为IP5);
第二父组设备的IP列表:IP1,IP2,IP4,IP5;
根据图4可知,服务访问的流程可以如下:
第一节点接收第一访问请求。
第一节点确定存在第一父组设备IP列表。
第一节点计算出第一IP为IP2,第二IP为IP5。
第一节点确定本地缓存中是否缓存有URL对应的文件。若是,则将URL对应的文件反馈,否则,向IP5发送第二访问请求。
IP5确定本地缓存中是否缓存有URL对应的文件。若是,IP5将URL对应的文件反馈给第一节点,第一节点将URL对应的文件反馈。否则,IP5向IP2发送查询请求。
IP2确定本地缓存中是否缓存有URL对应的文件。若是,IP2将URL对应的文件反馈给IP5,IP5将URL对应的文件反馈给第一节点,第一节点将URL对应的文件反馈。否则,IP5向源站发送查询请求,源站将URL对应的文件反馈给IP5,IP5将URL对应的文件反馈给第一节点,第一节点将URL对应的文件反馈。
作为本发明的一种实现方式,当第一IP对应的设备异常时,例如连接超时或者没有响应等,则第二节点忽略收到的第一IP,直接向源站发送查询请求。当第二节点向第一IP对应的设备异常发送查询请求连续T次失败,则第一节点认为第一IP对应的设备的状态为dead。其中,T为正整数,可以根据经验设定。将第一IP对应的设备的状态标记为dead。可以参照图5所示。
步骤501,发送查询请求。
第二节点向第一IP对应的设备发送查询请求。
步骤502,第一IP对应的设备是否可以正常响应。若是,则转向步骤503,否则,则转向步骤504。
第一节点判断第一IP对应的设备是否可以正常响应,可以根据第一IP对应的设备的反馈结果判断,若反馈结果为连接超时或HTTP状态码5xx,则表示不能正常响应,若反馈结果为URL对应的文件,则表示可以正常响应。若是,则获取正常响应,否则,标记响应失败次数+1。
步骤503,获取正常响应。
第二节点从第一IP对应的设备中获取URL对应的文件。
步骤504,响应失败次数+1。
步骤505,失败次数是否大于指定次数T。若是,则转向步骤507,否则,则转向步骤506。
步骤506,保持ok状态。
第一节点确定第一IP对应的设备的状态为ok状态。
步骤507,标记dead状态。
第一节点将第一IP对应的设备的状态标记为dead状态。
第一IP对应的设备被标记为dead的期间,第二节点不再对第一IP对应的设备进行请求,而是忽略收到的第一IP,直接返回源站。当时间P后,则会再重新根据第一IP,对第一IP对应的设备进行尝试,也就是定周期对状态为dead的第一IP对应的设备进行探测,若第一IP对应的设备正常响应,则第一节点将第一IP对应的设备的dead状态改变为ok状态,后续请求继续走第一IP逻辑,否则继续保持第一IP对应的设备的dead状态,后续请求不再走第一IP逻辑。此处,第一IP逻辑可以理解为第二节点向第一IP对应的设备发送查询请求,用于获取URL对应的文件。其中,P可以理解为第一节点对第一IP对应的设备的探测周期,该P值可以根据经验设定。第一IP对应的设备被标记为dead的期间的流程,可以参照图6所示。
步骤601,第二节点确定未缓存。
第二节点确定未缓存URL对应的文件。
步骤602,第一IP对应的设备是否为dead。若是,则转向步骤604,否则,则转向步骤603。
第一节点判断第一IP对应的设备的状态是否为dead。若是,第一节点判断第一IP对应的设备的状态为dead的时间是否大于P。否则,不做探测。
步骤603,不做探测。
第二节点不向第一IP对应的设备发送查询请求。
步骤604,状态为dead的时间是否大于P。若是,则转向步骤605,否则,则转向步骤603。
第一节点判断第一IP对应的设备的状态为dead的时间是否大于P,若是,则再次进行尝试,第二节点向第一IP对应的设备发送查询请求。否则,不做探测,即第二节点不向第一IP对应的设备发送查询请求,直接向源站发送查询请求,从源站获取URL对应的文件。
步骤605,发送查询请求。
第二节点向第一IP对应的设备发送查询请求。
步骤606,第一IP对应的设备是否可以正常响应。若是,则转向步骤608,否则,则转向步骤607。
第一节点判断第一IP对应的设备是否可以正常响应。若是,则将第一IP对应的设备标记为ok状态,否则,继续保持dead状态等待下个探测周期。
步骤607,继续保持dead状态等待下个探测周期。
步骤608,标记ok状态。
针对第二节点的缓存中没有URL对应的文件时,第二节点向第一IP对应的设备发送查询请求,提供一种可实现的方式,具体如图7所示。
步骤701,域名解析父组设备IP列表。
步骤702,父组设备IP列表是否发生变化。
步骤703,第一父组设备IP列表持续时间是否大于N。若是,转向步骤704,否则,转向步骤705。
步骤704,对第一父组设备IP列表进行备份。
步骤705,向源站发送查询请求。
步骤706,第二父组设备IP列表存在时间是否大于M。若是,转向步骤705,否则,转向步骤707。
步骤707,向第一IP对应的设备发送查询请求。
此处,判断第二父组设备IP列表存在时间是否大于M相当于判断缓存中的IP列表的持续时间是否大于第一时间阈值,其目的都是提高服务访问的效率,在此不做限制。N和M的取值可以根据经验设定。
由于本实施例的具体实现方式已在其他实施例中描述,在此不作赘述。
需要说明的是,第一IP对应的设备未缓存URL对应的文件时,或第一IP对应的设备为dead状态时,第二节点可以向源站发送查询请求,也就是第二节点直接回源,这里的回源可以理解为CDN结构中的源站,但是也可以理解为第二节点的上层节点,在此不做限制。同样,第一节点接收到第一访问请求时,发送该第一访问请求的节点可以是终端设备,但也可以理解为第一节点的下层节点,在此不做限制。
另外,第一节点在接收到第二节点反馈的URL对应的缓存文件后,以及第二节点在接收到第一IP对应的设备或源站反馈的URL对应的缓存文件后,均将该URL对应的缓存文件缓存在本地,用于下次调取。
为了更好的理解本发明中的一致性哈希算法,对一致性哈希算法解释如下:在一致性哈希算法中,在将内容映射到节点时,使用内容的关键字和节点的ID进行一致性哈希运算并获得键值。一致性哈希要求键值和节点ID处于同一值域。分布式缓存中的一致性Hash算法应该满足以下几个方面:
平衡性:指哈希的结果能够尽可能分布到所有的缓冲中去,这样可以使得所有的缓冲空间都得到利用。
单调性:如果已经有一些内容通过哈希分派到了相应的缓冲中,又有新的缓冲区加入到系统中,那么哈希的结果应能够保证原有已分配的内容可以被映射到新的缓冲区中去,而不会被映射到旧的缓冲集合中的其他缓冲区。
分散性:尽量降低分散性,即避免相同内容被不同的终端映射到不同的缓冲区中,同时避免相同内容被存储到不同缓冲中去,从而相对提高系统存储的效率。
负载:尽量降低缓冲的负荷,即避免一个特定的缓冲区被不同的用户映射为不同的内容,从而相对提高系统存储的效率。
平滑性:缓存服务器的数目平滑改变和缓存对象的平滑改变是一致的。
结合本发明实施例,对第一节点根据接收到的URL以及第一父组设备的IP列表,确定URL对应的第一IP,举例如下:
首先,将整个哈希值空间组织成一个虚拟的圆环,如假设哈希函数Hash的值空间为0~232-1(即哈希值是一个32位无符号整形),整个哈希空间环如图8a,整个空间按顺时针方向组织。0和232-1在零点中方向重合。
将各个第一父组设备使用Hash进行一个哈希,具体可以选择第一父组设备的IP或主机名作为关键字进行哈希,这样每台第一父组设备就能确定其在哈希环上的位置,这里假设将第一父组设备的四个设备(IP1、IP2、IP3、IP4)使用IP地址哈希后在环空间的位置如图8b。
使用如下算法定位数据访问到相应第一父组设备:将数据key使用相同的函数Hash计算出哈希值,并确定此数据在环上的位置,从此位置沿环顺时针“行走”,第一台遇到的第一父组设备就是其应该定位到的第一父组设备。
例如第一访问请求中的URL为URL1,将URL1对应的缓存文件A经过哈希计算后,在环空间上的位置如图8c。根据一致性哈希算法,URL1会被定位到IP2上,也就是可以确定URL1对应的第一IP为IP2。
上述实施例中,第一节点在确定未缓存URL对应的文件后,向第二节点发送第二访问请求,该第二访问请求中包括第一IP和URL,用于获取URL对应的文件,第二节点在确定未缓存URL对应的文件后,从第一IP对应的设备查询URL对应的文件,可以有效利用第一IP对应的设备的缓存资源,减少第二节点的回源次数,也就避免了源站负载过高。另外,还具有以下有益效果:
1、通过对第二访问请求中的第一IP进行加密,有效防止了该第一IP被不法分子劫持从而进行其他不利操作;
2、设定周期对第一父组设备IP进行探测,有效防止了网络波动、宕机等对访问请求造成的影响;
3、利用一致性哈希算法,确定URL对应的第一IP以及URL对应的第二IP,可以保证相同的URL都命中同一台机器上的缓存文件,减少磁盘浪费及回源带宽消耗。
基于同一发明构思,图9示例性的示出了本发明实施例提供的一种服务访问的装置的结构示意图,该装置可以执行服务访问的方法的流程。
接收单元901,用于接收第一访问请求,所述第一访问请求包括待访问的URL;
处理单元902,用于在确定未缓存所述URL对应的文件后,判断是否存在第一父组设备的IP列表;若存在,则从第一父组设备的IP列表中确定出所述URL对应的第一IP以及从所述第二父组设备的IP列表中确定出所述URL对应的第二IP;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
发送单元903,用于向第二节点发送第二访问请求,所述第二访问请求中包括所述第一IP和所述URL,用于获取URL对应的文件,所述第二节点为所述第二IP对应的设备,第一节点为向所述第二节点发送第二访问请求的设备。
可选的,所述处理单元902还用于:
在所述判断是否存在第一父组设备的IP列表之前,根据所述URL获取域名解析后的IP列表;并确定所述域名解析后的IP列表和缓存中的IP列表是否发生变化;
若是,则将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份,将所述域名解析后的IP列表确定为所述第二父组设备的IP列表并覆盖所述缓存中的IP列表。
可选的,所述处理单元902具体用于:
若所述缓存中的IP列表的持续时间大于第一时间阈值,则将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份。
可选的,所述处理单元902还用于:
在将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份之后,若所述缓存中的IP列表的持续时间大于第二时间阈值,则将所述第一父组设备的IP列表删除。
可选的,所述处理单元902还用于:
在所述向第二节点发送第二访问请求之后,控制所述接收单元901接收所述第二节点反馈的所述URL对应的文件,控制所述发送单元902将所述URL对应的文件反馈给发送所述第一访问请求的节点;所述URL对应的文件是所述第二节点从所述第二节点的本地缓存中获取的或从所述第一IP对应的设备获取的或从源站获取的。
可选的,所述处理单元902具体用于:
根据所述URL以及所述第一父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第一IP;
根据所述URL以及所述第二父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第二IP。
基于同一发明构思,图10示例性的示出了本发明实施例提供的一种服务访问的装置的结构示意图,该装置可以执行服务访问的方法的流程。
接收单元1001,用于接收第一节点发送的第二访问请求,所述第二访问请求包括第一IP和URL,所述第二访问请求为所述第一节点在确定存在第一父组设备的IP列表之后发送的;所述第一IP是所述第一节点从所述第一父组设备的IP列表中确定的,所述第二IP是所述第一节点从第二父组设备的IP列表中确定的;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
处理单元1002,用于在确定未缓存所述URL对应的文件后,从所述第一IP对应的设备查询所述URL对应的文件;
发送单元1003,用于在所述处理单元1002确定从所述第一IP对应的设备查询到所述URL对应的文件后,将所述URL对应的文件反馈给所述第一节点。
可选的,所述处理单元1002还用于:
在确定缓存所述URL对应的文件后,从本地缓存中获取所述URL对应的文件,控制所述发送单元1003将所述URL对应的文件反馈给所述第一节点。
可选的,所述处理单元1002还用于:
在确定未从所述第一IP对应的设备查询到所述URL对应的文件后,从源站获取所述URL对应的文件,并控制所述发送单元1003将所述URL对应的文件反馈给所述第一节点。
可选的,所述处理单元1002还用于:
在将所述URL对应的文件反馈给所述第一节点之后,控制所述接收单元1001接收所述第一节点发送的第三访问请求,所述第三访问请求与所述第一访问请求为同一类型的访问请求;
在确定接收所述第一访问请求的时刻起的时长大于第三时间阈值后,从所述源站获取所述URL对应的文件,并将所述URL对应的文件反馈给所述第一节点。
基于同一发明构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述服务访问的方法。
基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述服务访问的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (22)

1.一种服务访问的方法,其特征在于,包括:
第一节点接收第一访问请求,所述第一访问请求包括待访问的统一资源定位符URL;
所述第一节点在确定未缓存所述URL对应的文件后,判断是否存在第一父组设备的网络之间互连协议IP列表;若存在,则从第一父组设备的IP列表中确定出所述URL对应的第一IP以及从第二父组设备的IP列表中确定出所述URL对应的第二IP;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
所述第一节点向第二节点发送第二访问请求,所述第二访问请求中包括所述第一IP和所述URL,用于获取URL对应的文件,所述第二节点为所述第二IP对应的设备。
2.如权利要求1所述的方法,其特征在于,在所述第一节点判断是否存在第一父组设备的IP列表之前,还包括:
所述第一节点根据所述URL获取域名解析后的IP列表;
所述第一节点确定所述域名解析后的IP列表和缓存中的IP列表是否发生变化;
若是,则所述第一节点将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份,将所述域名解析后的IP列表确定为所述第二父组设备的IP列表并覆盖所述缓存中的IP列表。
3.如权利要求2所述的方法,其特征在于,所述第一节点将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份,包括:
若所述缓存中的IP列表的持续时间大于第一时间阈值,则所述第一节点将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份。
4.如权利要求2所述的方法,其特征在于,在所述第一节点将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份之后,还包括:
若所述缓存中的IP列表的持续时间大于第二时间阈值,则所述第一节点将所述第一父组设备的IP列表删除。
5.如权利要求1所述的方法,其特征在于,在所述第一节点向第二节点发送第二访问请求之后,还包括:
所述第一节点接收所述第二节点反馈的所述URL对应的文件,将所述URL对应的文件反馈给发送所述第一访问请求的节点;所述URL对应的文件是所述第二节点从所述第二节点的本地缓存中获取的或从所述第一IP对应的设备获取的或从源站获取的。
6.如权利要求1至5任一项所述的方法,其特征在于,所述第一节点从第一父组设备的IP列表中确定出所述URL对应的第一IP以及从所述第二父组设备的IP列表中确定出所述URL对应的第二IP,包括:
所述第一节点根据所述URL以及所述第一父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第一IP;
所述第一节点根据所述URL以及所述第二父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第二IP。
7.一种服务访问的方法,其特征在于,包括:
第二节点接收第一节点发送的第二访问请求,所述第二访问请求包括第一网络之间互连协议IP和统一资源定位符URL,所述第二访问请求为所述第一节点在确定存在第一父组设备的IP列表之后发送的;所述第一IP是所述第一节点从所述第一父组设备的IP列表中确定的,第二IP是所述第一节点从第二父组设备的IP列表中确定的;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
所述第二节点在确定未缓存所述URL对应的文件后,从所述第一IP对应的设备查询所述URL对应的文件;
所述第二节点在确定从所述第一IP对应的设备查询到所述URL对应的文件后,将所述URL对应的文件反馈给所述第一节点。
8.如权利要求7所述的方法,其特征在于,还包括:
所述第二节点在确定缓存所述URL对应的文件后,从所述第二节点的本地缓存中获取所述URL对应的文件,将所述URL对应的文件反馈给所述第一节点。
9.如权利要求7所述的方法,其特征在于,还包括:
所述第二节点在确定未从所述第一IP对应的设备查询到所述URL对应的文件后,从源站获取所述URL对应的文件,并将所述URL对应的文件反馈给所述第一节点。
10.如权利要求7所述的方法,其特征在于,在所述第二节点将所述URL对应的文件反馈给所述第一节点之后,还包括:
所述第二节点接收所述第一节点发送的第三访问请求,所述第三访问请求与第一访问请求为同一类型的访问请求;
在确定接收所述第一访问请求的时刻起的时长大于第三时间阈值后,从源站获取所述URL对应的文件,并将所述URL对应的文件反馈给所述第一节点。
11.一种服务访问的装置,其特征在于,包括:
接收单元,用于接收第一访问请求,所述第一访问请求包括待访问的统一资源定位符URL;
处理单元,用于在确定未缓存所述URL对应的文件后,判断是否存在第一父组设备的网络之间互连协议IP列表;若存在,则从第一父组设备的IP列表中确定出所述URL对应的第一IP以及从第二父组设备的IP列表中确定出所述URL对应的第二IP;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
发送单元,用于向第二节点发送第二访问请求,所述第二访问请求中包括所述第一IP和所述URL,用于获取URL对应的文件,所述第二节点为所述第二IP对应的设备,第一节点为向所述第二节点发送第二访问请求的设备。
12.如权利要求11所述的装置,其特征在于,所述处理单元还用于:
在所述判断是否存在第一父组设备的IP列表之前,根据所述URL获取域名解析后的IP列表;并确定所述域名解析后的IP列表和缓存中的IP列表是否发生变化;
若是,则将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份,将所述域名解析后的IP列表确定为所述第二父组设备的IP列表并覆盖所述缓存中的IP列表。
13.如权利要求12所述的装置,其特征在于,所述处理单元具体用于:
若所述缓存中的IP列表的持续时间大于第一时间阈值,则将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份。
14.如权利要求12所述的装置,其特征在于,所述处理单元还用于:
在将所述缓存中的IP列表确定为所述第一父组设备的IP列表并进行备份之后,若所述缓存中的IP列表的持续时间大于第二时间阈值,则将所述第一父组设备的IP列表删除。
15.如权利要求11所述的装置,其特征在于,所述处理单元还用于:
在所述向第二节点发送第二访问请求之后,控制所述接收单元接收所述第二节点反馈的所述URL对应的文件,控制所述发送单元将所述URL对应的文件反馈给发送所述第一访问请求的节点;所述URL对应的文件是所述第二节点从所述第二节点的本地缓存中获取的或从所述第一IP对应的设备获取的或从源站获取的。
16.如权利要求11至15任一项所述的装置,其特征在于,所述处理单元具体用于:
根据所述URL以及所述第一父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第一IP;
根据所述URL以及所述第二父组设备的IP列表,采用一致性哈希算法确定所述URL对应的第二IP。
17.一种服务访问的装置,其特征在于,包括:
接收单元,用于接收第一节点发送的第二访问请求,所述第二访问请求包括第一网络之间互连协议IP和统一资源定位符URL,所述第二访问请求为所述第一节点在确定存在第一父组设备的IP列表之后发送的;所述第一IP是所述第一节点从所述第一父组设备的IP列表中确定的,第二IP是所述第一节点从第二父组设备的IP列表中确定的;其中,所述第一父组设备为IP列表发生变化前的父组设备,所述第二父组设备为IP列表发生变化后的父组设备;
处理单元,用于在确定未缓存所述URL对应的文件后,从所述第一IP对应的设备查询所述URL对应的文件;
发送单元,用于在所述处理单元确定从所述第一IP对应的设备查询到所述URL对应的文件后,将所述URL对应的文件反馈给所述第一节点。
18.如权利要求17所述的装置,其特征在于,所述处理单元还用于:
在确定缓存所述URL对应的文件后,从本地缓存中获取所述URL对应的文件,控制所述发送单元将所述URL对应的文件反馈给所述第一节点。
19.如权利要求17所述的装置,其特征在于,所述处理单元还用于:
在确定未从所述第一IP对应的设备查询到所述URL对应的文件后,从源站获取所述URL对应的文件,并控制所述发送单元将所述URL对应的文件反馈给所述第一节点。
20.如权利要求17所述的装置,其特征在于,所述处理单元还用于:
在将所述URL对应的文件反馈给所述第一节点之后,控制所述接收单元接收所述第一节点发送的第三访问请求,所述第三访问请求与第一访问请求为同一类型的访问请求;
在确定接收所述第一访问请求的时刻起的时长大于第三时间阈值后,从源站获取所述URL对应的文件,并将所述URL对应的文件反馈给所述第一节点。
21.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至10任一项所述的方法。
22.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至10任一项所述的方法。
CN201811171850.2A 2018-10-09 2018-10-09 一种服务访问的方法及装置 Active CN109413163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811171850.2A CN109413163B (zh) 2018-10-09 2018-10-09 一种服务访问的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811171850.2A CN109413163B (zh) 2018-10-09 2018-10-09 一种服务访问的方法及装置

Publications (2)

Publication Number Publication Date
CN109413163A CN109413163A (zh) 2019-03-01
CN109413163B true CN109413163B (zh) 2021-08-03

Family

ID=65466247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811171850.2A Active CN109413163B (zh) 2018-10-09 2018-10-09 一种服务访问的方法及装置

Country Status (1)

Country Link
CN (1) CN109413163B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572687A (zh) * 2019-08-09 2019-12-13 北京达佳互联信息技术有限公司 直播回源聚合的方法、装置、系统、设备及存储介质
CN111181782B (zh) * 2019-12-24 2022-09-16 新浪网技术(中国)有限公司 一种回源处理方法及装置
CN112165517B (zh) * 2020-09-22 2022-09-20 成都知道创宇信息技术有限公司 一种回源探测方法、装置、存储介质及电子设备
CN113038291B (zh) * 2021-02-07 2024-02-23 网宿科技股份有限公司 一种盒子类型的设定方法及服务器
CN113472852B (zh) * 2021-06-02 2023-07-25 乐视云网络技术(北京)有限公司 一种cdn节点的回源方法、装置、设备以及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011041709A1 (en) * 2009-10-02 2011-04-07 Limelight Networks, Inc. Content delivery network cache grouping
CN102843426A (zh) * 2012-08-09 2012-12-26 网宿科技股份有限公司 基于智能父节点的Web缓存资源共享系统和方法
CN102946442A (zh) * 2012-12-06 2013-02-27 网宿科技股份有限公司 基于智能刷新的文件更新发布的方法和系统
CN103379172A (zh) * 2012-04-30 2013-10-30 Sk电信有限公司 在切换期间提供内容的方法及其装置
WO2014070738A1 (en) * 2012-10-30 2014-05-08 Cisco Technology, Inc. Multiple path availability between walkable clusters
CN103888539A (zh) * 2014-03-28 2014-06-25 网宿科技股份有限公司 P2p缓存的引导方法、装置及p2p缓存系统
CN108737470A (zh) * 2017-04-19 2018-11-02 贵州白山云科技有限公司 一种访问请求回源方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011041709A1 (en) * 2009-10-02 2011-04-07 Limelight Networks, Inc. Content delivery network cache grouping
CN103379172A (zh) * 2012-04-30 2013-10-30 Sk电信有限公司 在切换期间提供内容的方法及其装置
CN102843426A (zh) * 2012-08-09 2012-12-26 网宿科技股份有限公司 基于智能父节点的Web缓存资源共享系统和方法
WO2014070738A1 (en) * 2012-10-30 2014-05-08 Cisco Technology, Inc. Multiple path availability between walkable clusters
CN102946442A (zh) * 2012-12-06 2013-02-27 网宿科技股份有限公司 基于智能刷新的文件更新发布的方法和系统
CN103888539A (zh) * 2014-03-28 2014-06-25 网宿科技股份有限公司 P2p缓存的引导方法、装置及p2p缓存系统
CN108737470A (zh) * 2017-04-19 2018-11-02 贵州白山云科技有限公司 一种访问请求回源方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CDN关键技术的研究及其系统设计;蒋业文;《中国优秀硕士学位论文全文数据库》;20150115;I139-197 *

Also Published As

Publication number Publication date
CN109413163A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
CN109413163B (zh) 一种服务访问的方法及装置
US11194719B2 (en) Cache optimization
US11909639B2 (en) Request routing based on class
US11108729B2 (en) Managing request routing information utilizing client identifiers
KR101379864B1 (ko) 네트워크 연산 요소들을 이용한 요청 라우팅
US8930544B2 (en) Network resource identification
US8533293B1 (en) Client side cache management
US10623408B1 (en) Context sensitive object management
US8447831B1 (en) Incentive driven content delivery
US10958501B1 (en) Request routing information based on client IP groupings

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