基于内容分发网络的访问网页的方法和装置制造方法

文档序号:8004926阅读:259来源:国知局
基于内容分发网络的访问网页的方法和装置制造方法
【专利摘要】本发明提供了一种基于内容分发网络的访问网页的方法,所述方法包括:发送访问请求;接收第一数据,所述第一数据包括线路编号和与所述线路编号对应的线路标识;通过所述线路标识对应的内容分发网络线路获取第二数据,并加载所述第二数据;判断是否获取到所述第二数据,若否,则更改所述线路编号并加入所述访问请求中,继续发送所述访问请求,直至获取到所述第二数据。本发明提供的基于内容分发网络的访问网页的方法,当一条内容分发网络线路不可用时,可自动切换到另一条内容分发网络线路,有效避免了由于一条内容分发网络线路不可用而导致用户无法访问网页的情况。本发明还提供了一种基于内容分发网络的访问网页的装置。
【专利说明】基于内容分发网络的访问网页的方法和装置

【技术领域】
[0001]本发明涉及网络【技术领域】,特别是涉及一种基于内容分发网络的访问网页的方法和装置。

【背景技术】
[0002]内容分发网络(Content Delivery Network,英文缩写为⑶N)通过在已有的互联网中增加一层新的网络架构,可以将网页的内容缓存到内容分发网络中的缓存服务器,从而使用户可以就近取得缓存服务器缓存的网页内容,解决互联网拥塞状况,提高用户访问网页的响应速度。
[0003]发明人发现传统的基于内容分发网络的访问网页的方法,一般使用一家第三方网络服务商提供的内容分发网络,如果该内容分发网络不可用,比如发生故障或者没有覆盖到用户所在的区域,用户就无法访问网页。


【发明内容】

[0004]基于此,有必要针对上述当第三方网络服务商提供的内容分发网络不可用时,用户无法访问网页的问题,提供一种基于内容分发网络的访问网页的方法和装置。
[0005]一种基于内容分发网络的访问网页的方法,所述方法包括:
[0006]发送访问请求;
[0007]接收第一数据,所述第一数据包括线路编号和与所述线路编号对应的线路标识;通过所述线路标识对应的内容分发网络线路获取第二数据,并加载所述第二数据;
[0008]判断模块,用于判断是否获取到所述第二数据,若否,则更改所述线路编号并加入所述访问请求中,继续发送所述访问请求,直至获取到所述第二数据。
[0009]一种基于内容分发网络的访问网页的装置,所述装置包括:
[0010]请求模块,用于发送访问请求;
[0011]接收模块,用于接收第一数据,所述第一数据包括线路编号和与所述线路编号对应的线路标识;通过所述线路标识对应的内容分发网络线路获取第二数据,并加载所述第二数据;
[0012]判断模块,用于判断是否获取到所述第二数据,若否,则更改所述线路编号并加入所述访问请求中,继续发送所述访问请求,直至获取到所述第二数据。
[0013]上述基于内容分发网络的访问网页的方法和装置,预设了多条内容分发网络线路,与线路标识一一对应,通过向服务器发出访问请求,获取包含线路编号和与线路编号对应的线路标识的第一数据,并通过该线路标识对应的内容分发网络获取第二数据,并加载第二数据;当获取第二数据失败时,更改线路编号,发送包含更改的线路编号的访问请求,从而获取到更改的线路编号对应的线路标识,通过该线路标识对应的内容分发网络线路获取第二数据,直至获取到第二数据。当一条内容分发网络线路不可用时,可自动切换到另一条内容分发网络线路,保证了内容分发网络线路的可用性,有效避免了由于一条内容分发网络线路不可用而导致用户无法访问网页的情况。
[0014]一种基于内容分发网络的访问网页的方法,所述方法包括:
[0015]判断访问请求中是否包含线路编号;
[0016]若是,则返回包含所述线路编号和与所述线路编号对应的线路标识的第一数据;
[0017]若否,则返回包含默认线路编号和与所述默认线路编号对应的线路标识的第一数据。
[0018]一种基于内容分发网络的访问网页的装置,所述装置包括:
[0019]请求判断模块,用于判断访问请求中是否包含线路编号;
[0020]第一返回模块,用于若所述访问请求中包含所述线路编号,则返回包含所述线路编号和与所述线路编号对应的线路标识的第一数据;
[0021]第二返回模块,用于若所述访问请求中不包含所述线路编号,则返回包含默认线路编号和与所述默认线路编号对应的线路标识的第一数据。
[0022]上述基于内容分发网络的访问网页的方法和装置,通过判断访问请求中是否包含线路编号,若包含线路编号则返回线路编号和线路编号对应的线路标识;若不包含线路编号,则返回默认线路编号和默认线路编号对应的线路标识。当线路标识对应的内容分发网络线路不可用时,可更改线路编号后发送包含更改的线路编号的访问请求,获取更改的线路编号对应的线路标识,继续访问,直至能够访问网页。当内容分发网络线路不可用时,可自动切换内容分发网络线路,有效避免了由于一条内容分发网络线路不可用而导致用户无法访问网页的情况。

【专利附图】

【附图说明】
[0023]图1为一个实施例中基于内容分发网络的访问网页的方法的流程示意图;
[0024]图2为另一个实施例中基于内容分发网络的访问网页的方法的流程示意图;
[0025]图3为一个实施例中基于内容分发网络的访问网页的装置的结构框图;
[0026]图4为另一个实施例中基于内容分发网络的访问网页的装置的结构框图。

【具体实施方式】
[0027]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0028]如图1所示,在一个实施例中,提供了一种基于内容分发网络的访问网页的方法,该方法包括:
[0029]步骤102,发送访问请求。
[0030]访问网页时,终端向服务器发送访问请求。可以通过使用网页的URL (UniformResource Locator,统一资源定位符)向服务器发送访问请求。
[0031]步骤104,接收第一数据,第一数据包括线路编号和与线路编号对应的线路标识,通过线路标识对应的内容分发网络线路获取第二数据,并加载第二数据。
[0032]服务器收到终端发送的访问请求后,向终端发送第一数据。第一数据可以包括HTML (Hypertext Markup Language,超文本标记语言)代码,还可以包括展示网页所需的网页元素,比如文字、样式表等。用户访问的网页可以是PHP(Hypertext Preprocessor,超文本预处理语言)页面,服务器接收到访问请求后通过PHP处理程序动态生成HTML代码。该第一数据还包括线路编号和与线路编号对应的线路标识,线路编号在服务器上与线路标识
--对应。
[0033]线路编号可以是数字、字母等,用以代表不同的内容分发网络线路。其中,由一家第三方网络服务商提供的内容分发网络称为一条内容分发网络线路。线路标识可以是该内容分发网络线路对应的域名或IP地址。通过线路标识可以访问该线路标识对应的内容分发网络线路,获取并加载第二数据,以访问网页内容。
[0034]服务器可以通过将线路编号写入cookie (有时也用其复数形式cookies,指网站为了辨别用户身份、进行sess1n跟踪而储存在用户本地终端上的数据)并把cookie发送给用户终端,从而将线路编号传递给终端。
[0035]本实施例中预设了多家网络服务提供商提供的多条内容分发网络线路,这些线路可以分别覆盖不同的区域,比如线路I覆盖美国区域,由服务商A提供;线路2覆盖中国大陆区域,由服务商B提供等等。各条内容分发网络线路可以从服务器抓取第二数据进行缓存,用户通过内容分发网络线路获取缓存的第二数据。第二数据包括展示网页内容所需的网页元素,比如HTML代码、Flash游戏文件、视频文件、音频文件等,从而可以通过加载第二数据展示该第二数据所对应的网页内容。
[0036]步骤106,判断是否获取到第二数据,若是则执行步骤108,若否则执行步骤110。
[0037]若获取到第二数据,说明当前的线路标识对应的内容分发网络线路是可用的,否则说明当前的线路标识对应的内容分发网络线路不可用。
[0038]步骤108,结束。
[0039]若获取到第二数据,说明当前使用的内容分发网络线路可用,不需要更改线路,可结束该方法流程。
[0040]步骤110,更改线路编号后,将线路编号加入访问请求中,执行步骤102。
[0041]若未获取到第二数据,说明当前使用的内容分发网络线路不可用,需要更改线路。具体地,更改线路编号后,将线路编号加入访问请求中,向服务器发送包含该线路编号的访问请求。比如,当使用数字作为线路编号时,0、1、2……等编号代表各条内容分发网络线路,当获取第二数据失败,说明当前内容分发网络线路不可用时,更改线路编号,比如若当前线路编号是0,则更改的线路编号可以是O加上I为I。具体地,向服务器发送包含该线路编号的访问请求的步骤包括将线路编号加入URL中,并使用该URL访问网页。
[0042]服务器收到访问请求后,会判断访问请求中是否包含线路编号;若是,则向终端返回包含线路编号和与线路编号对应的线路标识的第一数据;若否,则向终端返回包含默认线路编号和与默认线路编号对应的线路标识的第一数据。
[0043]本实施例中,通过对内容分发网络线路进行编号以区分各条线路,线路编号占用的存储空间和网络资源少,将线路编号访问请求中发送给服务器,提高了与服务器之间通信的效率,从而提高切换内容分发网络线路的效率。而且当需要增加或更换内容分发线路时,只需修改线路编号与线路标识的对应关系即可实现,便于维护。
[0044]上述基于内容分发网络的访问网页的方法,预设了多条内容分发网络线路,与线路标识一一对应,通过向服务器发出访问请求,获取包含线路编号和与线路编号对应的线路标识的第一数据,并通过该线路标识对应的内容分发网络获取第二数据,并加载第二数据;当获取第二数据失败时,更改线路编号,发送包含更改的线路编号的访问请求,从而获取到更改的线路编号对应的线路标识,通过该线路标识对应的内容分发网络线路获取第二数据,直至获取到第二数据。当一条内容分发网络线路不可用时,可自动切换到另一条内容分发网络线路,保证了内容分发网络线路的可用性,有效避免了由于一条内容分发网络线路不可用而导致用户无法访问网页的情况。
[0045]在一个实施例中,第一数据包括第一脚本代码,第二数据包括预设的标识文件;判断是否获取到第二数据的步骤包括加载第二数据时,解析第一脚本代码,根据第一脚本代码判断是否获取到标识文件,若是则获取到第二数据,若否则未获取到第二数据。
[0046]本实施例中,第一脚本代码可以是JavaScript (JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言)代码。在加载第二数据时,解析该第一脚本代码,根据该第一脚本代码通过线路标识对应的内容分发网络线路获取标识文件。如果获取到该标识文件,则说明获取到第二数据,否则说明未获取到第二数据。该标识文件可以是文字、符号或图片等。通过内容分发网络线路获取标识文件,提供了一种检测内容分发网络线路是否可用的方法,若不可用时,可及时更换线路,避免了由于一条内容分发网络线路不可用而导致用户无法访问网页的情况。
[0047]在一个实施例中,第一脚本代码包括计时脚本代码;标识文件包括第二脚本代码;解析第一脚本代码,根据第一脚本代码判断是否获取到标识文件的步骤包括:解析计时脚本代码并根据计时脚本代码开始计时;当计时达到预设时间时,判断是否获取到第二脚本代码。
[0048]本实施例中,计时脚本代码可以是JavaScript代码,可以使用计时函数实现计时,比如可以使用JavaScript中的计时器(比如setTimeoutO函数)实现计时。可以通过检测该第二脚本代码中是否存在指定函数判断是否获取到第二脚本代码。具体地,可以在计时脚本代码中使用“src”关键字连接位于内容分发网络上文件形式的第二脚本代码,从而判断该第二脚本代码中是否存在指定函数。连接该第二脚本代码时会先通过当前内容分发网络线路获取该文件,若获取到了该第二脚本代码,可以检测到该第二脚本代码中存在指定函数,从而可以判断获取到第二数据;若没有获取到该第二脚本代码,则检测不到该第二脚本代码中存在指定函数,从而可以判断未获取到第二数据。
[0049]本实施例中,通过从服务器获取计时脚本代码,解析该计时脚本代码实现计时功能,由于一般浏览器都支持脚本代码,而且计时脚本代码通过服务器即时获得,不需要除了浏览器之外的其它应用程序辅助,兼容性强,保证了切换内容分发网络线路的可用性。
[0050]在一个实施例中,第一脚本代码包括加载图片脚本代码;标识文件包括预设的图片;解析第一脚本代码,根据第一脚本代码判断是否获取到标识文件的步骤,包括:解析加载图片脚本代码,并根据加载图片脚本代码加载图片,判断是否成功加载图片。若加载图片成功说明获取到第二数据,若加载图片失败说明未获取到第二数据。
[0051]本实施例中,可以在第一数据中的HTML代码中嵌入一段加载图片脚本代码,该加载图片脚本代码可以为JavaScript脚本代码,在该JavaScript脚本代码中使用

【权利要求】
1.一种基于内容分发网络的访问网页的方法,所述方法包括: 发送访问请求; 接收第一数据,所述第一数据包括线路编号和与所述线路编号对应的线路标识;通过所述线路标识对应的内容分发网络线路获取第二数据,并加载所述第二数据; 判断是否获取到所述第二数据,若否,则更改所述线路编号并加入所述访问请求中,继续发送所述访问请求,直至获取到所述第二数据。
2.根据权利要求1所述的方法,其特征在于,所述第一数据包括第一脚本代码,所述第二数据包括预设的标识文件;所述判断是否获取到所述第二数据包括: 加载所述第二数据时,解析所述第一脚本代码,根据所述第一脚本代码判断是否获取到所述标识文件,若是则获取到所述第二数据,若否则未获取到所述第二数据。
3.根据权利要求2所述的方法,其特征在于,所述第一脚本代码包括计时脚本代码;所述标识文件包括第二脚本代码;所述解析所述第一脚本代码,根据所述第一脚本代码判断是否获取到所述标识文件,包括: 解析所述计时脚本代码并根据所述计时脚本代码开始计时;当计时达到预设时间时,判断是否获取到所述第二脚本代码;和/或 所述第一脚本代码包括加载图片脚本代码;所述标识文件包括预设的图片;所述解析所述第一脚本代码,根据所述第一脚本代码判断是否获取到所述标识文件,包括: 解析所述加载图片脚本代码,并根据所述加载图片脚本代码加载所述图片,判断是否成功加载所述图片。
4.一种基于内容分发网络的访问网页的方法,所述方法包括: 判断访问请求中是否包含线路编号; 若是,则返回包含所述线路编号和与所述线路编号对应的线路标识的第一数据; 若否,则返回包含默认线路编号和与所述默认线路编号对应的线路标识的第一数据。
5.根据权利要求4所述的方法,其特征在于,所述第一数据还包括第一脚本代码。
6.一种基于内容分发网络的访问网页的装置,所述装置包括: 请求模块,用于发送访问请求; 接收模块,用于接收第一数据,所述第一数据包括线路编号和与所述线路编号对应的线路标识;通过所述线路标识对应的内容分发网络线路获取第二数据,并加载所述第二数据; 判断模块,用于判断是否获取到所述第二数据,若否,则更改所述线路编号并加入所述访问请求中,继续发送所述访问请求,直至获取到所述第二数据。
7.根据权利要求6所述的装置,其特征在于,所述判断模块还用于在加载所述第二数据时,解析所述第一脚本代码,根据所述第一脚本代码判断是否获取到所述标识文件,若是则获取到所述第二数据,若否则未获取到所述第二数据。
8.根据权利要求7所述的装置,其特征在于,所述第一脚本代码包括计时脚本代码;所述标识文件包括第二脚本代码;所述判断模块还用于解析所述计时脚本代码并根据所述计时脚本代码开始计时;当计时达到预设时间时,判断是否获取到所述第二脚本代码;和/或 所述第一脚本代码包括加载图片脚本代码;所述标识文件包括预设的图片;所述判断模块还用于解析所述加载图片脚本代码,并根据所述加载图片脚本代码加载所述图片,判断是否成功加载所述图片。
9.一种基于内容分发网络的访问网页的装置,所述装置包括: 请求判断模块,用于判断访问请求中是否包含线路编号; 第一返回模块,用于若所述访问请求中包含所述线路编号,则返回包含所述线路编号和与所述线路编号对应的线路标识的第一数据; 第二返回模块,用于若所述访问请求中不包含所述线路编号,则返回包含默认线路编号和与所述默认线路编号对应的线路标识的第一数据。
10.根据权利要求9所述的装置,其特征在于,所述第一数据还包括第一脚本代码。
【文档编号】H04L29/06GK104426845SQ201310367745
【公开日】2015年3月18日 申请日期:2013年8月21日 优先权日:2013年8月21日
【发明者】徐国恒 申请人:博雅网络游戏开发(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1