CN106131165B - 用于内容分发网络的防盗链方法和装置 - Google Patents

用于内容分发网络的防盗链方法和装置 Download PDF

Info

Publication number
CN106131165B
CN106131165B CN201610509834.4A CN201610509834A CN106131165B CN 106131165 B CN106131165 B CN 106131165B CN 201610509834 A CN201610509834 A CN 201610509834A CN 106131165 B CN106131165 B CN 106131165B
Authority
CN
China
Prior art keywords
resource
server
maximum
requesting terminal
transmission
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
CN201610509834.4A
Other languages
English (en)
Other versions
CN106131165A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201610509834.4A priority Critical patent/CN106131165B/zh
Publication of CN106131165A publication Critical patent/CN106131165A/zh
Application granted granted Critical
Publication of CN106131165B publication Critical patent/CN106131165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了用于内容分发网络的防盗链方法和装置。所述方法的一具体实施方式包括:接收请求终端发送的资源下载请求及所述资源服务器发送的资源传送消息;按照预设的选取规则,从多个资源服务器中选取目标服务器;根据所述资源传送消息,统计所述所请求资源的实时传送次数;根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度;将所述最大同时传送数量和所述最大传送速度封装在所述资源下载请求中,将封装后的资源下载请求发送给所述目标服务器。该实施方式实现了防范非法网站盗取CDN空间和流量的行为,同时可以分布式CDN系统中招募用户恶意刷取流量的行为。

Description

用于内容分发网络的防盗链方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及互联网技术领域,具体涉及一种用于内容分发网络的防盗链方法和装置。
背景技术
内容分发网络(Content Delivery Network,CDN)作为互联网的一个基础服务,它使得用户能够就近获取所需要的资源,从而解决网络拥塞问题,提高端到端的服务质量。由于CDN的资源链接一般是公开的,未授权的网站或下载工具有可能直接使用该链接为自己进行内容服务,从而无需承担成本便可使用CDN的存储空间和带宽,因此CDN一般都有自己的防盗链策略。分布式CDN系统是一种招募用户的闲置计算机作为资源服务器的CDN系统,通过利用用户闲置的带宽和存储资源,并根据所耗费的流量向招募用户支付一定的费用,从而能够有效地降低CDN系统的成本。
目前,CDN常用的防盗链方法包括:通过校验HTTP Referer字段来判断请求的来源网址是否合法,常用于视频、音频、图片等容易被嵌入到其它网页中的资源,其无法根据资源的实时下载次数动态调整防盗链策略,也无法解决分布式CDN系统存在的招募用户恶意刷取流量以换取更多的利益的问题。
发明内容
本申请的目的在于提出一种用于内容分发网络的防盗链方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于内容分发网络的防盗链方法,所述内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器,所述调度服务器中存储有所述多个资源服务器的设备信息,所述终端、所述调度服务器及所述资源服务器互相连接,所述方法包括:接收请求终端发送的资源下载请求及所述资源服务器发送的资源传送消息,所述资源下载请求包括:所请求资源的标识、所述请求终端的标识,所述资源传送消息包括已传送给终端的资源的标识;按照预设的选取规则,从所述多个资源服务器中选取目标服务器;根据所述资源传送消息,统计所述所请求资源的实时传送次数;根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度;将所述最大同时传送数量和所述最大传送速度封装在所述资源下载请求中,将封装后的资源下载请求发送给所述目标服务器。
在一些实施例中,所述方法还包括:接收所述资源服务器发送的传送失败消息,并统计每个资源服务器的传送失败次数;将所述传送失败次数大于预设值的资源服务器的标识加入预设的可疑服务器列表。
在一些实施例中,所述设备信息包括所述资源服务器的地理位置信息;所述按照预设的选取规则,从所述多个资源服务器中选取目标服务器,包括:根据所述请求终端的标识,确定所述请求终端的地理位置;从所述多个资源服务器中选取距离所述请求终端的地理位置最近的、能够工作的资源服务器作为目标服务器。
在一些实施例中,所述资源下载请求包括所述所请求资源的统一资源定位符;所述将所述最大同时传送数量和所述最大传送速度封装在所述资源下载请求中,包括:利用加密算法对所述最大同时传送数量和所述最大传送速度进行加密,生成附加参数;将所述附加参数封装到所述统一资源定位符中。
在一些实施例中,所述根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度,包括:根据以下公式确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量:
M=a×m;
其中,M为所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量,a为预设常数,0<a<1,m为所述实时下载次数。
在一些实施例中,所述设备信息包括所述资源服务器的带宽;所述根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度,包括:根据以下公式确定所述目标服务器向所述请求终端传送所述所请求资源时的最大传送速度:
V=(1-a)×P;
其中,V为所述目标服务器向所述请求终端传送所述所请求资源时的最大传送速度,P为所述目标服务器的带宽。
第二方面,本申请提供了一种用于内容分发网络的防盗链方法,所述内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器,所述终端、所述调度服务器及所述资源服务器互相连接,所述方法包括:接收调度服务器发送的封装后的资源下载请求;解析所述封装后的资源下载请求,确定所请求资源的统一资源定位符、请求所述所请求资源的请求终端的标识、向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度;检测以下条件是否满足:所述所请求资源的统一资源定位符合法、当前传送所述所请求资源的数量小于所述最大同时传送数量;当检测到上述条件均满足时,向所述请求终端传送所述所请求资源。
在一些实施例中,所述向所述请求终端传送所述所请求资源,包括:以小于或等于所述最大传送速度的传送速度,向所述请求终端传送所述所请求资源。
在一些实施例中,所述方法还包括:当检测到上述条件中的至少一个不满足时,向所述请求终端发送请求错误码,向所述调度服务器发送传送失败消息。
在一些实施例中,所述解析所述封装后的资源下载请求,包括:响应于所述调度服务器利用加密算法封装资源下载请求,利用解密算法,解密所述封装后的资源下载请求。
在一些实施例中,所述方法还包括:间隔第一预设时间段向所述调度服务器发送资源传送消息,所述资源传送消息包括:已传送给终端的资源的标识及以下至少一项:接收所述封装后的资源下载请求的时刻、所述请求终端的标识、向所述请求终端传送所述所请求资源的耗时。
第三方面,本申请提供了一种用于内容分发网络的防盗链装置,所述内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器,所述调度服务器中存储有所述多个资源服务器的设备信息,所述终端、所述调度服务器及所述资源服务器互相连接,所述装置包括:第一接收单元,用于接收请求终端发送的资源下载请求及所述资源服务器发送的资源传送消息,所述资源下载请求包括:所请求资源的标识、所述请求终端的标识,所述资源传送消息包括已传送给终端的资源的标识;选取单元,用于按照预设的选取规则,从所述多个资源服务器中选取目标服务器;统计单元,用于根据所述资源传送消息,统计所述所请求资源的实时传送次数;确定单元,用于根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度;封装单元,用于将所述最大同时传送数量和所述最大传送速度封装在所述资源下载请求中,将封装后的资源下载请求发送给所述目标服务器。
在一些实施例中,所述装置还包括:第二接收单元,用于接收所述资源服务器发送的传送失败消息,并统计每个资源服务器的传送失败次数;加入单元,用于将所述传送失败次数大于预设值的资源服务器的标识加入预设的可疑服务器列表。
在一些实施例中,所述设备信息包括所述资源服务器的地理位置信息;所述选取单元包括:地理位置确定模块,用于根据所述请求终端的标识,确定所述请求终端的地理位置;目标服务器选取模块,用于从所述多个资源服务器中选取距离所述请求终端的地理位置最近的、能够工作的资源服务器作为目标服务器。
在一些实施例中,所述资源下载请求包括所述所请求资源的统一资源定位符;所述封装单元包括:加密模块,用于利用加密算法对所述最大同时传送数量和所述最大传送速度进行加密,生成附加参数;封装模块,用于将所述附加参数封装到所述统一资源定位符中。
在一些实施例中,所述确定单元包括:第一确定模块,用于根据以下公式确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量:
M=a×m;
其中,M为所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量,a为预设常数,0<a<1,m为所述实时下载次数。
在一些实施例中,所述设备信息包括所述资源服务器的带宽;所述确定单元包括:第二确定模块,用于根据以下公式确定所述目标服务器向所述请求终端传送所述所请求资源时的最大传送速度:
V=(1-a)×P;
其中,V为所述目标服务器向所述请求终端传送所述所请求资源时的最大传送速度,P为所述目标服务器的带宽。
第四方面,本申请提供了一种用于内容分发网络的防盗链装置,所述内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器,所述终端、所述调度服务器及所述资源服务器互相连接,所述装置包括:第二接收单元,用于接收调度服务器发送的封装后的资源下载请求;解析单元,用于解析所述封装后的资源下载请求,确定所请求资源的统一资源定位符、请求所述所请求资源的请求终端的标识、向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度;检测单元,用于检测以下条件是否满足:所述所请求资源的统一资源定位符合法、当前传送所述所请求资源的数量小于所述最大同时传送数量;传送单元,用于当检测到上述条件均满足时,向所述请求终端传送所述所请求资源。
在一些实施例中,所述传送单元进一步配置用于:以小于或等于所述最大传送速度的传送速度,向所述请求终端传送所述所请求资源。
在一些实施例中,所述装置还包括:错误单元,用于当检测到上述条件中的至少一个不满足时,向所述请求终端发送请求错误码,向所述调度服务器发送传送失败消息。
在一些实施例中,所述解析单元进一步用于:响应于所述调度服务器利用加密算法封装资源下载请求,利用解密算法,解密所述封装后的资源下载请求。
在一些实施例中,所述装置还包括:发送单元,用于间隔第一预设时间段向所述调度服务器发送资源传送消息,所述资源传送消息包括:已传送给终端的资源的标识及以下至少一项:接收所述封装后的资源下载请求的时刻、所述请求终端的标识、向所述请求终端传送所述所请求资源的耗时。
本申请提供的用于内容分发网络的防盗链方法和装置,通过接收请求终端发送的资源下载请求,可以选取合适的目标服务器向请求终端传送资源,通过接收资源服务器发送的资源传送消息,可以统计资源的实时下载次数,从而为选取的目标服务器设置最大同时传送数量和最大传送速度,并将上述两个参数封装在资源下载请求中,将封装后的请求发送给目标服务器。目标服务器在接收并解析封装的请求后,首先判断资源的统一资源定位符是否合法,同时判断当前正在传送的数量是否小于最大同时传送数量,在满足时向请求终端发送所请求资源。从而可以防范非法网站盗取CDN空间和流量的行为,同时可以根据资源的实时下载次数确定最大同时传送数量,防止分布式CDN系统中招募用户恶意刷取流量的行为。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于内容分发网络的防盗链方法的一个实施例的流程图;
图3是根据本申请的用于内容分发网络的防盗链方法的一个实施例的流程图;
图4是根据本申请的用于内容分发网络的防盗链方法的一个应用场景的示意图;
图5是根据本申请的用于内容分发网络的防盗链装置的一个实施例的结构示意图;
图6是根据本申请的用于内容分发网络的防盗链装置的一个实施例的结构示意图;
图7是适于用来实现本申请实施例的调度服务器或资源服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于内容分发网络的防盗链方法或用于内容分发网络的防盗链装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102,网络103,调度服务器104和资源服务器105、106、107。网络103用以在终端设备101、102和调度服务器104之间、终端设备101、102和资源服务器105、106、107之间、调度服务器104和资源服务器105、106、107之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102通过网络103与调度服务器104和资源服务器105、106、107交互,以发送资源下载请求或接收请求的资源等。终端设备101、102上可以安装有各种通讯客户端应用,例如网页浏览器应用、视频类应用、音频类应用、文件浏览类应用等。
终端设备101、102可以是具有显示屏并且支持资源下载的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
调度服务器104可以是对用户通过终端设备101、102发送的请求进行处理的服务器,并将处理结果(例如封装后的资源下载请求)发送给资源服务器105、106、107。
资源服务器105、106、107可以是存储有各种资源的服务器,例如存储有终端设备101、102请求的资源。其可以接收调度服务器104发送的信息(例如封装后的资源下载请求),并对上述信息进行解析等处理,并将处理结果(例如资源)返回给终端设备101、102或调度服务器104。
需要说明的是,本申请实施例所提供的用于内容分发网络的防盗链方法一般由调度服务器104或资源服务器105、106、107执行,相应地,用于内容分发网络的防盗链装置一般设置于调度服务器104或资源服务器105、106、107中。
应该理解,图1中的终端设备、网络、调度服务器和资源服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、调度服务器和资源服务器。
继续参考图2,图2示出了根据本申请的用于内容分发网络的防盗链方法的流程图200。本实施例的内容分发网络包括接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器。可以理解的是,资源服务器中存储有终端所请求的资源。调度服务器中存储有每个资源服务器的设备信息,设备信息例如可以包括但不限于资源服务器的硬件、接入网络的带宽、IP(Internet Protocol,网络之间互连的协议)地址等。终端、调度服务器与资源服务器之间通过网络互相连接。本实施例的用于内容分发网络的防盗链方法包括以下步骤:
步骤201,接收请求终端发送的资源下载请求及资源服务器发送的资源传送消息。
在本实施例中,用于内容分发网络的防盗链方法运行于其上的电子设备(例如图1所示的调度服务器104)可以通过有线连接方式或者无线连接方式从用户利用安装有资源下载应用的请求终端接收资源下载请求以及从资源服务器接收资源传送消息。其中,上述资源下载请求包括了用户期望请求的资源的标识及请求终端的标识;上述资源传送消息包括资源服务器已传送给终端的资源的标识。此处,资源可以是各种文件,例如可以是应用程序、文本文件、视频文件、音频文件、压缩文件等;资源下载请求可以是HTTP请求、FTP请求等;资源的标识例如可以是XXX.jpg、XXX.mp3等;请求终端的标识可以是IP地址等。
举例来说,终端A在需要下载资源a时向调度服务器发送资源下载请求,上述请求中包括了资源a的标识以及终端A的标识。调度服务器可以是每间隔一段时间接收资源服务器发送的资源传送信息,上述资源传送信息中可以包括已传送给终端的资源的标识,例如:传送给终端A的资源b,传送给终端B的资源c,传送给终端C的资源a等。
需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,按照预设的选取规则,从多个资源服务器中选取目标服务器。
调度服务器在接收到请求终端发送的资源下载请求后,首先从多个资源服务器中选取目标服务器。可以理解的是,选取的目标服务器中存储有请求终端所请求的资源。
在本实施例的一些可选的实现方式中,步骤202可以进一步包括200中未示出的以下子步骤:
根据请求终端的标识,确定请求终端的地理位置;从多个资源服务器中选取距离请求终端的地理位置最近的、能够工作的资源服务器作为目标服务器。
本实施例中,调度服务器可以根据请求终端的标识(例如IP地址)确定请求终端的地理位置。由于调度服务器中存储有资源服务器的设备信息,设备信息可以包括各资源服务器的地理位置信息,因此调度服务器可以选择距离请求终端最近的资源服务器作为目标服务器来为请求终端提供资源。可以理解的是,在选取目标服务器时,应选择能够工作的资源服务器,如果某一资源服务器距离请求终端最近,但调度服务器发现其已关机或出现故障,则不会选择该资源服务器作为目标服务器。
步骤203,根据资源传送消息,统计所请求资源的实时传送次数。
本实施例中,各个资源服务器可以间隔一个时间段向调度服务器发送资源传送消息,可以理解的是,上述资源传送消息可以包括预设的时间段内资源服务器向终端传送的资源的标识。上述预设的时间段例如可以是1分钟、半分钟等,本实施例中的实时传送次数也是指在该预设的时间段内所请求资源的传送次数。举例来说,内容分发网络中共包括3个资源服务器,分别为:资源服务器A1、资源服务器A2和资源服务器A3。资源服务器A1发送的资源传送消息为:资源a、资源a、资源b、资源c;资源服务器A2发送的资源传送消息为:资源b、资源d、资源e;资源服务器A3发送的资源传送消息为:资源a、资源c、资源d、资源e。则调度服务器可以根据上述资源传送消息统计得到以下信息:资源a传送次数为3次,资源b传送次数为2次,资源c传送次数为2次,资源d传送次数为2次,资源e传送次数为2次。
步骤204,根据实时传送次数及目标服务器的设备信息,确定目标服务器向请求终端传送所请求资源时的最大同时传送数量和最大传送速度。
本实施例中,调度服务器在统计得到请求终端所请求资源的实时传送次数后,可以结合目标服务器的设备信息(例如目标服务器的硬件配置信息或接入网络的带宽)确定目标服务器向请求终端传送所请求资源时的最大同时传送数量和最大传送速度。确定的方案可以包括但不限于:根据目标服务器的硬件条件为目标服务器分级,不同的等级对应不同的最大同时传送数量和最大传送速度;将实时传送次数乘以一个系数得到最大同时传送数量;将目标服务器的接入网络的带宽乘以一个系数得到最大传送速度等。最大同时传送数量可以是目标服务器在同一时刻向终端传送某一资源的数量,最大传送速度可以是在向终端传送资源时的最大速度。
在本实施例的一些可选的实现方式中,调度服务器可以根据以下公式确定上述最大同时传送数量:
M=a×m;
其中,M为目标服务器向请求终端传送所请求资源时的最大同时传送数量,a为预设常数,0<a<1,m为实时下载次数。
在本实施例的一些可选的实现方式中,调度服务器可以根据以下公式确定上述最大传送速度:
V=(1-a)×P;
其中,V为目标服务器向请求终端传送所请求资源时的最大传送速度,P为目标服务器的带宽。
步骤205,将最大同时传送数量和最大传送速度封装在资源下载请求中,将封装后的资源下载请求发送给目标服务器。
本实施例中,调度服务器可以将步骤204确定得到的最大同时传送数量和最大传送速度转换成参数,封装在资源下载请求中,并将封装后的资源下载请求发送给目标服务器。
在本实施例的一些可选的实现方式中,请求终端向调度服务器发送的资源下载请求为HTTP请求,上述HTTP请求中包括所请求资源的URL(Uniform Resource Locator,统一资源定位符)。调度服务器可以利用加密算法对最大同时传送数量和最大传送速度进行加密,生成附加参数;将附加参数封装到统一资源定位符中。举例说明,当用户在浏览http://website.com/mytest.html时,点击一个链接去到http://website.com/imagetest.jpg文件时,终端浏览器在发出请求imagetest.jpg资源时,还会携带着客户端浏览器所在的页面地址(即http://website.com/mytest.html),其中http://website.com/imagetest.jpg即为所请求资源的URL。本实施中,加密算法可以是对称加密算法等可实现的算法。
在本实施例的一些可选的实现方式中,调度服务器还可以接收资源服务器发送的传送失败消息,上述传送失败消息可以是资源服务器在向终端传送资源失败时发送给调度服务器的。调度服务器在接收到上述传送失败消息后,可统计资源服务器传送失败的次数,当传送失败的次数大于预设值时,将资源服务器的标识加入预设的可疑服务器列表。
由于分布式CDN中存在一部分资源服务器为招募用户的机器,有一些招募用户为了多赚取利益,会向调度服务器发送大量伪造的资源下载请求,且这些伪造的资源下载请求所请求的资源都是自己的机器内存储的资源,从而提高了自己的机器所耗费的流量。这类伪造的资源下载请求的特点是在某一时间段内从同一终端或不同终端密集的发送,当调度服务器统计到对某一资源的下载次数频繁增多时,会大大超过最大同时传送数量,那么此资源服务器传送失败的次数就会增多,调度服务器此时将此资源服务器作为可疑服务器,将其标识加入到预设的可疑服务器列表中。维护人员可以定期查看此可疑服务器列表,并查看是否为招募用户的机器,并确定此招募用户是否恶意刷取流量。
本申请的上述实施例提供的用于内容分发网络的防盗链方法,通过接收请求终端发送的资源下载请求,可以选取合适的目标服务器向请求终端传送资源,通过接收资源服务器发送的资源传送消息,可以统计资源的实时下载次数,从而为选取的目标服务器设置最大同时传送数量和最大传送速度,并将上述两个参数封装在资源下载请求中,将封装后的请求发送给目标服务器,从而可以防范非法网站盗取CDN空间和流量的行为,同时可以根据资源的实时下载次数确定最大同时传送数量,防止分布式CDN系统中招募用户恶意刷取流量的行为。
继续参看图3,图3示出了根据本申请的用于内容分发网络的防盗链方法的一个实施例的流程图300。本实施例的内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器,且终端、调度服务器及资源服务器互相连接。本实施例的用于内容分发网络的防盗链方法包括以下步骤:
步骤301,接收调度服务器发送的封装后的资源下载请求。
本实施例中,调度服务器在接收到请求终端发送的资源下载请求后,会计算选取的资源服务器的最大同时传送数量和最大传送速度,并将上述最大同时传送数量和最大传送速度封装在资源下载请求中,向选取的资源服务器发送封装后的资源下载请求。
步骤302,解析封装后的资源下载请求,确定所请求资源的统一资源定位符、请求终端的标识、向请求终端传送所请求资源时的最大同时传送数量和最大传送速度。
资源服务器在接收到封装后的资源下载请求后,首先对封装后的资源下载请求进行解析,得到所请求资源的URL、请求终端的标识(例如IP地址)、向请求终端传送所请求资源时的最大同时传送数量和最大传送速度。
在本实施例的一些可选的实现方式中,当调度服务器使用加密算法封装资源下载请求时,资源服务器在解析上述封装后的资源下载请求时,需要采用与上述加密算法对应的解密算法来解析上述封装后的资源下载请求。
步骤303,检测以下条件是否满足:所请求资源的统一资源定位符合法、当前传送所请求资源的数量小于最大同时传送数量。
资源服务器在解析上述封装后的资源下载请求后,得到所请求资源的URL,资源服务器可以通过检测HTTP Referer字段来判断网站是否合法。HTTP Referer是协议包头的一部分,当客户端浏览器向调度服务器发送请求的时候,会带上HTTP Referer字段。调度服务器将封装后的资源下载请求发送给资源服务器,从而使得资源服务器识别页面链接的来源。
举例说明,当用户在浏览http://website.com/mytest.html时,点击一个链接去到http://website.com/imagetest.jpg文件时,终端浏览器在发出请求imagetest.jpg资源时,还会携带着客户端浏览器所在的页面地址(即http://website.com/mytest.html),资源服务器首先判断所请求资源的来源,如果是从资源网站的域名(website.com)过来的,则认为上述URL合法,否则,认为上述URL非法。
当资源服务器检测到上述URL合法后,继续检测当前传送所请求资源的数量是否小于最大同时传送数量。当前传送所请求资源的数量大于最大同时传送数量时,可能是因为资源服务器当前的带宽或硬件不能支持同时传送太多的资源,还可能是因为资源服务器接收到大量伪造的资源下载请求。
因此,在上述两个条件都满足时,资源服务器才执行步骤304。
步骤304,当检测到上述条件均满足时,向请求终端传送所请求资源。
当上述两个条件均满足时,资源服务器将资源传送给请求终端。
在本实施例的一些可选的实现方式中,在资源服务器将资源传送给请求终端时,其传送速度小于或等于最大传送速度。
在本实施例的一些可选的实现方式中,上述方法还包括300中未示出的以下步骤:
当检测到上述条件中的至少一个不满足时,向请求终端发送请求错误码,向调度服务器发送传送失败消息。
在本实施例中,当资源服务器不能向请求终端返回其所请求的资源时,会向请求终端返回403HTTP错误状态码,同时会向调度服务器发送传送失败消息。此传送失败消息可以包括但不限于403HTTP错误状态码对应的文本错误信息。
在本实施例的一些可选的实现方式中,上述方法还包括300中未示出的以下步骤:间隔第一预设时间段向调度服务器发送资源传送消息。其中,资源传送消息包括:已传送给终端的资源的标识及以下至少一项:接收封装后的资源下载请求的时刻、请求终端的标识、向请求终端传送所请求资源的耗时。
资源服务器可以间隔第一预设的时间段向调度服务器发送资源传送消息,以使调度服务器能够实时统计资源的实时传送次数,为后续的资源服务器设置最大同时传送数量打基础。
继续参看图4,示出了根据本申请的用于内容分发网络的防盗链方法的一个应用场景的示意图400。在图4的应用场景中,用户使用终端401中安装的网页浏览应用浏览学习资料之家的网站时,需要下载学习资料,在点击学习资料.rar的链接后,用户使用的终端向调度服务器402发送下载请求。调度服务器402在接收到上述下载请求后,首先选择了一个目标服务器403,并为选择的目标服务器403计算最大同时传送数量和最大传送速度。其中,调度服务器402是根据各资源服务器发送的资源传送消息来计算目标服务器的最大同时传送数量和最大传送速度的。调度服务器402将计算得到的最大同时传送数量和最大传送速度封装在下载请求中,将封装后的下载请求发送给目标服务器403。目标服务器在解析上述封装后的下载请求后,并且在判断URL合法以及当前传送数量小于最大同时传送数量后,将学习资料.rar传送给终端,终端401在接收上述学习资料.rar完毕后显示如401’所示的“学习资料.rar下载成功”消息。
本申请的上述实施例的用于内容分发网络的防盗链方法,在接收并解析封装的请求后,首先判断资源的统一资源定位符是否合法,同时判断当前正在传送的数量是否小于最大同时传送数量,在满足时向请求终端发送所请求资源。从而可以防范非法网站盗取CDN空间和流量的行为,同时可以根据资源的实时下载次数确定最大同时传送数量,防止分布式CDN系统中招募用户恶意刷取流量的行为。
图5示出了根据本申请的用于内容分发网络的防盗链装置500的一个实施例的结构示意图。本实施例中,内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器。其中,调度服务器中存储有多个资源服务器的设备信息,且终端、调度服务器及资源服务器互相连接。如图5所示,本实施例的用于内容分发网络的防盗链装置500包括:第一接收单元501、选取单元502、统计单元503、确定单元504和封装单元505。
第一接收单元501,用于接收请求终端发送的资源下载请求及资源服务器发送的资源传送消息。
其中,资源下载请求包括:所请求资源的标识、请求终端的标识;资源传送消息包括已传送给终端的资源的标识。本实施例中,资源可以是各种文件,例如可以是应用程序、文本文件、视频文件、音频文件、压缩文件等;资源下载请求可以是HTTP请求、FTP请求等;资源的标识例如可以是XXX.jpg、XXX.mp3等;请求终端的标识可以是IP地址等。
选取单元502,用于按照预设的选取规则,从多个资源服务器中选取目标服务器。
第一接收单元501在接收到请求终端发送的资源下载请求后,选取单元502从多个资源服务器中选取目标服务器。可以理解的是,选取的目标服务器中存储有请求终端所请求的资源。
在本实施例的一些可选的实现方式中,上述选取单元502进一步包括用于内容分发网络的防盗链装置500中未示出的地理位置确定模块和目标服务器选取模块。
其中,地理位置确定模块,用于根据请求终端的标识,确定所述请求终端的地理位置。地理位置确定模块可以根据请求终端的标识(例如IP地址)确定请求终端的地理位置,并将确定的请求终端的地理位置发送给目标服务器选取模块。目标服务器选取模块,用于从多个资源服务器中选取距离请求终端的地理位置最近的、能够工作的资源服务器作为目标服务器。由于用于内容分发网络的防盗链装置500中存储有各资源服务器的设备信息,上述设备信息可以包括各资源服务器的地理位置信息,因此目标服务器选取模块可以选择距离请求终端最近的资源服务器作为目标服务器。
统计单元503,用于根据各资源服务器向用于内容分发网络的防盗链装置500发送的资源传送消息,统计请求终端所请求资源的实时传送次数。
各个资源服务器可以间隔一个时间段向调度服务器发送资源传送消息,可以理解的是,上述资源传送消息可以包括预设的时间段内资源服务器向终端传送的资源的标识。
确定单元504,用于根据实时传送次数及目标服务器的设备信息,确定目标服务器向请求终端传送所请求资源时的最大同时传送数量和最大传送速度。
本实施例中,统计单元503在统计得到请求终端所请求资源的实时传送次数后,可以结合目标服务器的设备信息(例如目标服务器的硬件配置信息或接入网络的带宽)确定目标服务器向请求终端传送所请求资源时的最大同时传送数量和最大传送速度。
在本实施例的一些可选的实现方式中,确定单元504可以进一步包括图5中未示出的第一确定模块,用于根据以下公式确定目标服务器向请求终端传送所请求资源时的最大同时传送数量:
M=a×m;
其中,M为目标服务器向请求终端传送所请求资源时的最大同时传送数量,a为预设常数,0<a<1,m为实时下载次数。
在本实施例的一些可选的实现方式中,上述设备信息还可以包括各资源服务器的带宽。确定单元504可以进一步包括图5中未示出的第二确定模块,用于根据以下公式确定目标服务器向请求终端传送所请求资源时的最大传送速度:
V=(1-a)×P;
其中,V为目标服务器向所述请求终端传送所述所请求资源时的最大传送速度,P为目标服务器的带宽。
封装单元505,用于将第一确定模块得到的最大同时传送数量和第二确定模块得到的最大传送速度封装在资源下载请求中,将封装后的资源下载请求发送给目标服务器。
在本实施例的一些可选的实现方式中,请求终端向调度服务器发送的资源下载请求为HTTP请求,上述HTTP请求中包括所请求资源的URL(Uniform Resource Locator,统一资源定位符)。上述封装单元505可以进一步包括图5中未示出的加密模块和封装模块。
其中,加密模块,用于利用加密算法对第一确定模块得到的最大同时传送数量和第二确定模块得到的最大传送速度进行加密,生成附加参数。封装模块,用于将加密模块生成的附加参数封装到HTTP请求中的统一资源定位符中。
在本实施例的一些可选的实现方式中,上述用于内容分发网络的防盗链装置500还包括图5中未示出的第二接收单元和加入单元。
其中,第二接收单元,用于接收资源服务器发送的传送失败消息,并统计每个资源服务器的传送失败次数。加入单元,用于将第二接收单元统计的传送失败次数大于预设值的资源服务器的标识加入预设的可疑服务器列表。
由于分布式CDN中存在一部分资源服务器为招募用户的机器,有一些招募用户为了多赚取利益,会向调度服务器发送大量伪造的资源下载请求,且这些伪造的资源下载请求所请求的资源都是自己的机器内存储的资源,从而提高了自己的机器所耗费的流量。这类伪造的资源下载请求的特点是在某一时间段内从同一终端或不同终端密集的发送,当第二接收单元统计到对某一资源的下载次数频繁增多时,由于其会大大超过最大同时传送数量,那么此资源服务器传送失败的次数就会增多,加入单元此时将此资源服务器作为可疑服务器,将其标识加入到预设的可疑服务器列表中。维护人员可以定期查看此可疑服务器列表,并查看是否为招募用户的机器,并确定此招募用户是否恶意刷取流量。
本申请的上述实施例提供的用于内容分发网络的防盗链装置,通过第一接收单元接收请求终端发送的资源下载请求,选取单元选取合适的目标服务器向请求终端传送资源,通过第一接收单元接收资源服务器发送的资源传送消息,统计单元可以统计资源的实时下载次数,从而确定单元可以为选取单元选取的目标服务器设置最大同时传送数量和最大传送速度,封装单元将上述两个参数封装在资源下载请求中,将封装后的请求发送给目标服务器,从而可以防范非法网站盗取CDN空间和流量的行为,同时可以根据资源的实时下载次数确定最大同时传送数量,防止分布式CDN系统中招募用户恶意刷取流量的行为。
继续参看图6,示出了根据本申请的用于内容分发网络的防盗链装置600的一个实施例的结构示意图。本实施例中,内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器。终端、调度服务器及资源服务器互相连接。本实施例的用于内容分发网络的防盗链装置600包括:第二接收单元601、解析单元602、检测单元603和传送单元604。
其中,第二接收单元601,用于接收调度服务器发送的封装后的资源下载请求。
解析单元602,用于解析第二接收单元601接收的封装后的资源下载请求,同时可以确定所请求资源的统一资源定位符URL、请求所请求资源的请求终端的标识、向请求终端传送所请求资源时的最大同时传送数量和最大传送速度。
在本实施例的一些可选的实现方式中,上述解析单元602可以进一步配置用于:响应于调度服务器利用加密算法封装资源下载请求,利用解密算法,解密封装后的资源下载请求。
当调度服务器采用加密算法封装请求终端发送的资源下载请求时,本实施例的解析单元602需要采用与上述加密算法对应的解密算法来解析封装后的资源下载请求。
检测单元603,用于检测以下条件是否满足:解析单元602确定的所请求资源的统一资源定位符URL合法、当前传送所请求资源的数量小于解析单元602确定的最大同时传送数量。
检测单元603可以通过检测HTTP Referer字段来判断网站是否合法。当检测单元603检测到上述URL合法后,继续检测当前传送所请求资源的数量是否小于最大同时传送数量。
传送单元604,用于当检测到上述条件均满足时,向请求终端传送所请求资源。
在本实施例的一些可选的实现方式中,传送单元604在将资源传送给请求终端时,其传送速度小于或等于最大传送速度。
在本实施例的一些可选的实现方式中,上述用于内容分发网络的防盗链装置600还包括图6中未示出的错误单元,用于当检测单元603检测到上述条件中的至少一个不满足时,向请求终端发送请求错误码,向调度服务器发送传送失败消息。
在本实施例的一些可选的实现方式中,上述用于内容分发网络的防盗链装置600还包括图6中未示出的发送单元,用于间隔第一预设时间段向调度服务器发送资源传送消息。上述资源传送消息可以包括:已传送给终端的资源的标识及以下至少一项:接收封装后的资源下载请求的时刻、请求终端的标识、向请求终端传送所请求资源的耗时。
本申请的上述实施例的用于内容分发网络的防盗链装置,在第二接收单元接收资源下载请求后,解析单元对其进行解析,检测单元首先判断资源的统一资源定位符是否合法,同时判断当前正在传送的数量是否小于最大同时传送数量,在满足时传送单元向请求终端发送所请求资源。从而可以防范非法网站盗取CDN空间和流量的行为,同时可以根据资源的实时下载次数确定最大同时传送数量,防止分布式CDN系统中招募用户恶意刷取流量的行为。
下面参考图7,其示出了适于用来实现本申请实施例的调度服务器或资源服务器的计算机系统700的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一接收单元、选取单元、统计单元、确定单元和封装单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一接收单元还可以被描述为“接收请求终端发送的资源下载请求及所述资源服务器发送的资源传送消息的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收请求终端发送的资源下载请求及所述资源服务器发送的资源传送消息,所述资源下载请求包括:所请求资源的标识、所述请求终端的标识,所述资源传送消息包括已传送给终端的资源的标识;按照预设的选取规则,从所述多个资源服务器中选取目标服务器;根据所述资源传送消息,统计所述所请求资源的实时传送次数;根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度;将所述最大同时传送数量和所述最大传送速度封装在所述资源下载请求中,将封装后的资源下载请求发送给所述目标服务器。或接收调度服务器发送的封装后的资源下载请求;解析所述封装后的资源下载请求,确定所请求资源的统一资源定位符、请求所述所请求资源的请求终端的标识、向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度;检测以下条件是否满足:所述所请求资源的统一资源定位符合法、当前传送所述所请求资源的数量小于所述最大同时传送数量;当检测到上述条件均满足时,向所述请求终端传送所述所请求资源。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (22)

1.一种用于内容分发网络的防盗链方法,其特征在于,所述内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器,所述调度服务器中存储有所述多个资源服务器的设备信息,所述终端、所述调度服务器及所述资源服务器互相连接,所述方法包括:
接收请求终端发送的资源下载请求及所述资源服务器发送的资源传送消息,所述资源下载请求包括:所请求资源的标识、所述请求终端的标识,所述资源传送消息包括已传送给终端的资源的标识;
按照预设的选取规则,从所述多个资源服务器中选取目标服务器;
根据所述资源传送消息,统计所述所请求资源的实时传送次数;
根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度,其中,所述最大同时传送数量为所述目标服务器在同一时刻向终端传送所述请求资源的最大数量;
将所述最大同时传送数量和所述最大传送速度封装在所述资源下载请求中,将封装后的资源下载请求发送给所述目标服务器,以使所述目标服务器在接收所述资源下载请求后,判断所述最大同时传送数量是否满足预设条件;在满足时,向所述请求终端传送所述所请求资源。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述资源服务器发送的传送失败消息,并统计每个资源服务器的传送失败次数;
将所述传送失败次数大于预设值的资源服务器的标识加入预设的可疑服务器列表。
3.根据权利要求1所述的方法,其特征在于,所述设备信息包括所述资源服务器的地理位置信息;
所述按照预设的选取规则,从所述多个资源服务器中选取目标服务器,包括:
根据所述请求终端的标识,确定所述请求终端的地理位置;
从所述多个资源服务器中选取距离所述请求终端的地理位置最近的、能够工作的资源服务器作为目标服务器。
4.根据权利要求1所述的方法,其特征在于,所述资源下载请求包括所述所请求资源的统一资源定位符;
所述将所述最大同时传送数量和所述最大传送速度封装在所述资源下载请求中,包括:
利用加密算法对所述最大同时传送数量和所述最大传送速度进行加密,生成附加参数;
将所述附加参数封装到所述统一资源定位符中。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度,包括:
根据以下公式确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量:
M=a×m;
其中,M为所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量,a为预设常数,0<a<1,m为实时下载次数。
6.根据权利要求5所述的方法,其特征在于,所述设备信息包括所述资源服务器的带宽;
所述根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度,包括:
根据以下公式确定所述目标服务器向所述请求终端传送所述所请求资源时的最大传送速度:
V=(1-a)×P;
其中,V为所述目标服务器向所述请求终端传送所述所请求资源时的最大传送速度,P为所述目标服务器的带宽。
7.一种用于内容分发网络的防盗链方法,其特征在于,所述内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器,所述终端、所述调度服务器及所述资源服务器互相连接,所述方法包括:
接收调度服务器发送的封装后的资源下载请求;
解析所述封装后的资源下载请求,确定所请求资源的统一资源定位符、请求所述所请求资源的请求终端的标识、向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度,其中,所述最大同时传送数量为目标服务器在同一时刻向终端传送所述请求资源的最大数量;
检测以下条件是否满足:所述所请求资源的统一资源定位符合法、当前传送所述所请求资源的数量小于所述最大同时传送数量;
当检测到上述条件均满足时,向所述请求终端传送所述所请求资源。
8.根据权利要求7所述的方法,其特征在于,所述向所述请求终端传送所述所请求资源,包括:
以小于或等于所述最大传送速度的传送速度,向所述请求终端传送所述所请求资源。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当检测到上述条件中的至少一个不满足时,向所述请求终端发送请求错误码,向所述调度服务器发送传送失败消息。
10.根据权利要求7所述的方法,其特征在于,所述解析所述封装后的资源下载请求,包括:
响应于所述调度服务器利用加密算法封装资源下载请求,利用解密算法,解密所述封装后的资源下载请求。
11.根据权利要求7-10任一项所述的方法,其特征在于,所述方法还包括:
间隔第一预设时间段向所述调度服务器发送资源传送消息,所述资源传送消息包括:已传送给终端的资源的标识及以下至少一项:接收所述封装后的资源下载请求的时刻、所述请求终端的标识、向所述请求终端传送所述所请求资源的耗时。
12.一种用于内容分发网络的防盗链装置,其特征在于,所述内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器,所述调度服务器中存储有所述多个资源服务器的设备信息,所述终端、所述调度服务器及所述资源服务器互相连接,所述装置包括:
第一接收单元,用于接收请求终端发送的资源下载请求及所述资源服务器发送的资源传送消息,所述资源下载请求包括:所请求资源的标识、所述请求终端的标识,所述资源传送消息包括已传送给终端的资源的标识;
选取单元,用于按照预设的选取规则,从所述多个资源服务器中选取目标服务器;
统计单元,用于根据所述资源传送消息,统计所述所请求资源的实时传送次数;
确定单元,用于根据所述实时传送次数及所述目标服务器的设备信息,确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度,其中,所述最大同时传送数量为所述目标服务器在同一时刻向终端传送所述请求资源的最大数量;
封装单元,用于将所述最大同时传送数量和所述最大传送速度封装在所述资源下载请求中,将封装后的资源下载请求发送给所述目标服务器,以使所述目标服务器在接收所述资源下载请求后,判断所述最大同时传送数量是否满足预设条件;在满足时,向所述请求终端传送所述所请求资源。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二接收单元,用于接收所述资源服务器发送的传送失败消息,并统计每个资源服务器的传送失败次数;
加入单元,用于将所述传送失败次数大于预设值的资源服务器的标识加入预设的可疑服务器列表。
14.根据权利要求12所述的装置,其特征在于,所述设备信息包括所述资源服务器的地理位置信息;
所述选取单元包括:
地理位置确定模块,用于根据所述请求终端的标识,确定所述请求终端的地理位置;
目标服务器选取模块,用于从所述多个资源服务器中选取距离所述请求终端的地理位置最近的、能够工作的资源服务器作为目标服务器。
15.根据权利要求12所述的装置,其特征在于,所述资源下载请求包括所述所请求资源的统一资源定位符;
所述封装单元包括:
加密模块,用于利用加密算法对所述最大同时传送数量和所述最大传送速度进行加密,生成附加参数;
封装模块,用于将所述附加参数封装到所述统一资源定位符中。
16.根据权利要求12-15任一项所述的装置,其特征在于,所述确定单元包括:
第一确定模块,用于根据以下公式确定所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量:
M=a×m;
其中,M为所述目标服务器向所述请求终端传送所述所请求资源时的最大同时传送数量,a为预设常数,0<a<1,m为实时下载次数。
17.根据权利要求16所述的装置,其特征在于,所述设备信息包括所述资源服务器的带宽;
所述确定单元包括:
第二确定模块,用于根据以下公式确定所述目标服务器向所述请求终端传送所述所请求资源时的最大传送速度:
V=(1-a)×P;
其中,V为所述目标服务器向所述请求终端传送所述所请求资源时的最大传送速度,P为所述目标服务器的带宽。
18.一种用于内容分发网络的防盗链装置,其特征在于,所述内容分发网络包括:接收终端发送的资源下载请求的调度服务器及存储资源的多个资源服务器,所述终端、所述调度服务器及所述资源服务器互相连接,所述装置包括:
第二接收单元,用于接收调度服务器发送的封装后的资源下载请求;
解析单元,用于解析所述封装后的资源下载请求,确定所请求资源的统一资源定位符、请求所述所请求资源的请求终端的标识、向所述请求终端传送所述所请求资源时的最大同时传送数量和最大传送速度;
检测单元,用于检测以下条件是否满足:所述所请求资源的统一资源定位符合法、当前传送所述所请求资源的数量小于所述最大同时传送数量,其中,所述最大同时传送数量为目标服务器在同一时刻向终端传送所述请求资源的最大数量;
传送单元,用于当检测到上述条件均满足时,向所述请求终端传送所述所请求资源。
19.根据权利要求18所述的装置,其特征在于,所述传送单元进一步配置用于:
以小于或等于所述最大传送速度的传送速度,向所述请求终端传送所述所请求资源。
20.根据权利要求18所述的装置,其特征在于,所述装置还包括:
错误单元,用于当检测到上述条件中的至少一个不满足时,向所述请求终端发送请求错误码,向所述调度服务器发送传送失败消息。
21.根据权利要求18所述的装置,其特征在于,所述解析单元进一步用于:
响应于所述调度服务器利用加密算法封装资源下载请求,利用解密算法,解密所述封装后的资源下载请求。
22.根据权利要求18-21任一项所述的装置,其特征在于,所述装置还包括:
发送单元,用于间隔第一预设时间段向所述调度服务器发送资源传送消息,所述资源传送消息包括:已传送给终端的资源的标识及以下至少一项:接收所述封装后的资源下载请求的时刻、所述请求终端的标识、向所述请求终端传送所述所请求资源的耗时。
CN201610509834.4A 2016-07-01 2016-07-01 用于内容分发网络的防盗链方法和装置 Active CN106131165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610509834.4A CN106131165B (zh) 2016-07-01 2016-07-01 用于内容分发网络的防盗链方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610509834.4A CN106131165B (zh) 2016-07-01 2016-07-01 用于内容分发网络的防盗链方法和装置

Publications (2)

Publication Number Publication Date
CN106131165A CN106131165A (zh) 2016-11-16
CN106131165B true CN106131165B (zh) 2019-11-12

Family

ID=57467950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610509834.4A Active CN106131165B (zh) 2016-07-01 2016-07-01 用于内容分发网络的防盗链方法和装置

Country Status (1)

Country Link
CN (1) CN106131165B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936574A (zh) * 2017-05-10 2017-07-07 北京奇艺世纪科技有限公司 一种鉴权系统和方法
CN108900604A (zh) * 2018-06-28 2018-11-27 中国建设银行股份有限公司 信息分发方法、装置、分行服务端及存储介质
CN109769023B (zh) * 2019-01-16 2021-11-19 网宿科技股份有限公司 一种数据传输方法、相关服务器和存储介质
CN112068822A (zh) * 2020-08-26 2020-12-11 深圳市卓智荟教育科技有限公司 教育终端的可视化生成方法、装置、设备和存储介质
CN112565827A (zh) * 2020-12-03 2021-03-26 湖南快乐阳光互动娱乐传媒有限公司 一种基于后置式数据分析的防盗链系统及方法
CN113709530B (zh) * 2021-09-01 2023-03-07 北京奇艺世纪科技有限公司 一种资源下载方法、系统、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030873A (zh) * 2007-02-15 2007-09-05 深圳市迅雷网络技术有限公司 一种下载数据的方法及系统
CN103078881A (zh) * 2011-10-26 2013-05-01 腾讯科技(深圳)有限公司 网络资源下载信息的分享控制系统和方法
CN103312752A (zh) * 2012-03-13 2013-09-18 中国联合网络通信集团有限公司 点对点网络信息分发方法、下载节点、索引服务器及系统
CN104580267A (zh) * 2013-10-09 2015-04-29 北京奇虎科技有限公司 一种资源下载方法、装置、服务器和相应的系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297484B (zh) * 2012-03-05 2017-07-11 腾讯科技(深圳)有限公司 资源分享方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030873A (zh) * 2007-02-15 2007-09-05 深圳市迅雷网络技术有限公司 一种下载数据的方法及系统
CN103078881A (zh) * 2011-10-26 2013-05-01 腾讯科技(深圳)有限公司 网络资源下载信息的分享控制系统和方法
CN103312752A (zh) * 2012-03-13 2013-09-18 中国联合网络通信集团有限公司 点对点网络信息分发方法、下载节点、索引服务器及系统
CN104580267A (zh) * 2013-10-09 2015-04-29 北京奇虎科技有限公司 一种资源下载方法、装置、服务器和相应的系统

Also Published As

Publication number Publication date
CN106131165A (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
CN106131165B (zh) 用于内容分发网络的防盗链方法和装置
US11089129B2 (en) Accelerated network delivery of channelized content
Hoang et al. A dynamic edge caching framework for mobile 5G networks
US8972612B2 (en) Collecting asymmetric data and proxy data on a communication network
CN106302445B (zh) 用于处理请求的方法和装置
CN104283903B (zh) 文件的下载方法及装置
CN108270882A (zh) 域名的解析方法和装置、存储介质、电子装置
EP2668599A1 (en) Systems, methods, and media for managing ambient adaptability of web applications and web services
CN109521956B (zh) 一种基于区块链的云存储方法、装置、设备及存储介质
CN107342966B (zh) 权限凭证发放方法和装置
WO2012000059A1 (en) Systems and methods for storing digital content
US11816249B2 (en) System and method for dynamic management of private data
CN108847952A (zh) 请求链路上下文的处理方法、装置及系统
CN105407068B (zh) 网络数据获取方法、装置和系统
CN109194706A (zh) 网络资源拨测方法及终端
US11194839B2 (en) System and method for aggregating subscriber perspective data
CN107026828A (zh) 一种基于互联网缓存的防盗链方法及互联网缓存
Wei et al. Measuring client-perceived pageview response time of internet services
WO2011013617A1 (ja) クッキー処理装置、クッキー処理方法、クッキー処理プログラム、クッキー処理システム及び情報通信システム
WO2023096748A1 (en) Microservice-based multifactor authentication
CN110232287A (zh) 通过区块链的共享经济数据上链方法及其设备
Renuka et al. Model of load distribution between web proxy servers using network traffic analysis
CN106060155B (zh) P2p资源共享的方法及装置
CN107707469A (zh) 用于检测访问路径的方法和装置
KR101091981B1 (ko) 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant