用于CDN静态网络修复的方法及装置与流程

文档序号:15817627发布日期:2018-11-02 22:47阅读:413来源:国知局
用于CDN静态网络修复的方法及装置与流程

本发明涉及互联网信息处理领域,具体而言,涉及一种用于cdn静态网络修复的方法及装置。

背景技术

大部分公司的业务或多或少都会依赖一些第三方公司的服务,cdn服务算是第三方服务的一种。cdn这一类第三方服务属于基础服务,与具体的业务没有关系,也不直接与用户产生关联,但是一旦基础服务出现异常往往会导致整个业务完全不可用。

cdn服务出现异常,放在cdn服务上的静态文件,影音文件无法正常访问的话,就会导致用户看不到正常的内容或者无法完成相关的交互操作,比如登录,比如购买,整个业务站点基本上就处于全部瘫痪状态了。基础服务很多后尾效应比较严重,比如dns服务出现异常后,有可能局部地区的dns会很长时间出现异常;比如cdn服务异常,很多时候这些异常会被用户或者一些小的运营商的内部代理服务器缓存掉。及时发现,处理基础服务的异常,可以给业务争取可用的时间。

目前,在大部分的公司可例如,cdn网络服务是依靠部署在各地的边缘服务器和中心平台的负载均衡、内容分发、调度等使用户就近获取所需内容。当请求量超过能负载的最大值,就会出现异常情况,这种异常情况出现的概率很小,但是一旦出现,就会使附近的边缘服务器重复出现异常情况,比如浏览器请求的静态资源异常情况一旦出现,在一定地域范围内的浏览器请求相同的静态资源就会出现同样的问题,比较常见的如样式丢失,页面卡住,造成服务器挂掉的假象。

因此,需要一种新的用于cdn静态网络修复的方法及装置。

在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

有鉴于此,本发明提供一种用于cdn静态网络修复的方法及装置,能够缓解大数据量下cdn静态网络异常情况造成的地域服务瘫痪问题。

本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本发明的一方面,提出一种用于cdn静态网络修复的方法,该方法包括:

通过浏览器获取静态资源加载相关数据;

根据相关数据判断静态资源加载是否存在异常情况;

在所述静态资源加载存在异常情况时,根据预定规则重新加载文件;以及

记录所述静态资源加载异常情况。

在本公开的一种示例性实施例中,所述通过浏览器获取静态资源加载相关数据,包括:

通过在所述浏览器端缓存脚本获取所述静态资源加载相关数据。

在本公开的一种示例性实施例中,所述根据相关数据判断静态资源加载是否存在异常情况,包括:

根据相关数据判断静态资源加载中样式文件的加载是否存在异常情况。

在本公开的一种示例性实施例中,所述根据相关数据判断静态资源加载中样式文件的加载是否存在异常情况,包括:

通过所述相关数据判断预定标签的预定样式是否生效;以及

如果所述预定标签的所示预定样式未生效,则所述静态资源加载存在异常情况。

在本公开的一种示例性实施例中,所述根据相关数据判断静态资源加载是否存在异常情况,包括:

根据相关数据判断静态资源加载中脚本文件的加载是否存在异常情况。

在本公开的一种示例性实施例中,所述根据相关数据判断静态资源加载中脚本文件的加载是否存在异常情况,包括:

通过所述相关数据判断javascript是否执行;

如果所述相关数据判断javascript未执行,则所述静态资源加载存在异常情况。

在本公开的一种示例性实施例中,所述在所述静态资源加载存在异常情况时,根据预定规则重新加载文件,包括:

通过实时数据,生成重新加载文件次数;

在所述静态资源加载存在异常情况时,判断所述重新加载文件次数是否小于预定数值;

如果所述重新加载文件次数小于预定数值,则重新加载文件。

在本公开的一种示例性实施例中,所述重新加载文件,包括:

通过cdn服务器重新加载文件;以及

通过非cdn服务器重新加载文件。

在本公开的一种示例性实施例中,所述记录所述静态资源加载异常情况,包括:

记录所述重新加载文件次数;以及

记录静态资源异常相关数据。

根据本发明的一方面,提出一种用于cdn静态网络修复的装置,该装置包括:

数据模块,用于通过浏览器获取静态资源加载相关数据;

判断模块,用于根据相关数据判断静态资源加载是否存在异常情况;

重载模块,用于在所述静态资源加载存在异常情况时,根据预定规则重新加载文件;以及

记录模块,用于记录所述静态资源加载异常情况。

根据本发明的用于cdn静态网络修复的方法及装置能够缓解大数据量下cdn静态网络异常情况造成的地域服务瘫痪问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的一种用于cdn静态网络修复的方法的流程图。

图2是根据另一示例性实施例示出的一种用于cdn静态网络修复的方法的示意图。

图3是根据另一示例性实施例示出的一种用于cdn静态网络修复的方法的流程图。

图4是根据一示例性实施例示出的一种用于cdn静态网络修复的方法中统计数据示意图。

图5是根据一示例性实施例示出的一种用于cdn静态网络修复的装置的框图。

具体实施例

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。

本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。

下面结合附图对本公开示例实施方式进行详细说明。

图1是根据一示例性实施例示出的一种用于cdn静态网络修复的方法的流程图。

如图1所示,在s102中,通过浏览器获取静态资源加载相关数据。

web资源是放在internet网上供外界访问的文件或程序,又根据它们呈现的效果及原理不同,将它们划分为静态资源和动态资源。静态资源是浏览器能够直接打开的资源,可例如,javascript文件,在打开方式中选择ie浏览器打开,浏览器可以直接打开没有出现问题,那么就说明它是一个静态资源。html文件、css文件、javascript文件等它们都是静态资源。一些资源浏览器不能够直接打开,经过翻译之后浏览器能够打开的资源称之动态资源。比如说jsp文件、servlet、php、asp等这些都是动态资源。通常来说,不需要在运行时更改的资源使用静态资源;而需要在运行时更改的资源使用动态资源。动态资源需要使用的系统开销大于静态资源的系统开销。在本公开的一种示例性实施例中,所述通过浏览器获取静态资源加载相关数据,包括:通过在所述浏览器端缓存脚本获取所述静态资源加载相关数据。

在s104中,根据相关数据判断静态资源加载是否存在异常情况。

如上文所述,可例如,通过在所述浏览器端缓存脚本获取所述静态资源加载相关数据,所述脚本可例如为检测脚本。通过检测脚本检测相关数据以判断静态资源加载是否存在异常情况。静态资源加载异常情况可例如,包括:样式文件的加载存在异常情况;脚本文件的加载存在异常情况。

在s106中,在所述静态资源加载存在异常情况时,根据预定规则重新加载文件。

预定规则可例如包括,预先设置重新加载次数,在预设的次数内,重新加载静态资源,一直到加载成功,或者超过可允许范围内的重载次数。重新加载的服务器可例如为cdn服务器或者为非cdn服务器。通过cdn服务器重新加载的次数和通过非cdn服务器加载的次数均可以为预设置的数值,本发明不以此为限。

在s108中,记录所述静态资源加载异常情况。通过浏览器获取静态资源加载时,每次对静态资源的异常情况都需要进行统计,还可例如将统计数据发送到服务器进行记录。

根据本发明的用于cdn静态网络修复的方法,通过由浏览器获取静态资源加载相关数据判断静态资源加载是否异常,如果存在异常则进行后续处理的方式,能够缓解大数据量下cdn静态网络异常情况造成的地域服务瘫痪问题。

应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。

图2是根据另一示例性实施例示出的一种用于cdn静态网络修复的方法的示意图。

如图2所示,在本公开的一种示例性实施例中,所述根据相关数据判断静态资源加载是否存在异常情况,包括:根据相关数据判断静态资源加载中样式文件的加载是否存在异常情况,以及根据相关数据判断静态资源加载中脚本文件的加载是否存在异常情况。

在本公开的一种示例性实施例中,根据相关数据判断静态资源加载中样式文件的加载是否存在异常情况,包括:通过所述相关数据判断预定标签的预定样式是否生效;以及如果所述预定标签的所示预定样式未生效,则所述静态资源加载存在异常情况。样式文件(cascadingstylesheet,css,也译作“层叠样式表单”。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。css文件是无法独立运行的,必须与html的代码配合起来才能看到效果的,css就是对html文件进行样式控制的(包含长,宽,高,色,字体大小等)。查看css的文件是否生效可例如通过文本编辑器查询。还可例如,通过判断页面通用数据是否生效以及元素样式是否生效来判断静态资源加载中的样式文件的加载是否存在异常情况,然而本发明不以此为限。

在本公开的一种示例性实施例中,所述根据相关数据判断静态资源加载中脚本文件的加载是否存在异常情况,包括:通过所述相关数据判断javascript是否执行;如果所述相关数据判断javascript未执行,则所述静态资源加载存在异常情况。javascript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为javascript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在html(标准通用标记语言下的一个应用)网页上使用,用来给html网页增加动态功能。可例如,通过判断全局脚本变量是否有意义、页面是否初始化以及渲染是否成功来判断静态资源加载中的javascript是否执行,然而本发明不以此为限。

图3是根据另一示例性实施例示出的一种用于cdn静态网络修复的方法的流程图。

如图3所示,在s302中,通过实时数据,生成重新加载文件次数。在浏览器浏览网页的过程中,通过实时数据,获取静态资源加载异常情况时,生成重新加载文件次数的数据记录。

在s304中,在所述静态资源加载存在异常情况时,判断所述重新加载文件次数是否小于预定数值。可例如,通过经验数据或者各地区网络情况判断得到的人为数据,设置预定数值,预定数值设定了在静态资源存在异常情况时,最大的重新加载次数。如果判断得到重新加载文件次数小于预定数值,则进入s306。如果判断得到重新加载文件的次数大于预定数值,可例如放弃再次加载,还可例如,给出提示信息,尝试其他的加载方法等,本发明不以此为限。

在s306中,根据预定规则重新加载文件。在静态资源加载异常时,只要没超过最大重新加载次数的预定数值,则重新加载文件。在本公开的一种示例性实施例中,所述在所述静态资源加载存在异常情况时,根据预定规则重新加载文件,包括:在本公开的一种示例性实施例中,所述重新加载文件,包括:通过cdn服务器重新加载文件;以及通过非cdn服务器重新加载文件。cdn的全称是contentdeliverynetwork,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,cdn系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决internet网络拥挤的状况,提高用户访问网站的响应速度。

根据本发明的用于cdn静态网络修复的方法,在浏览器获取静态资源存在异常情况时,采用读取cdn服务器与非cdn服务器的数据进行重新加载页面的方式,能够解决大数据量下cdn静态网络异常情况造成的地域服务瘫痪问题,提升用户体验。

图4是根据一示例性实施例示出的一种用于cdn静态网络修复的方法中统计数据示意图。如图4所示,在本公开的一种示例性实施例中,所述记录所述静态资源加载异常情况,包括:记录所述重新加载文件次数;以及记录静态资源异常相关数据。还可例如,将上述统计数据发送到服务器进行分析处理。

根据本发明的用于cdn静态网络修复的方法,通过分别记录不同种类的静态资源加载异常情况的数据,以供后续分析处理的方式,能够实时监测网络的异常情况,及时找到网络以及运营过程中的网络问题。

本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图5是根据一示例性实施例示出的一种用于cdn静态网络修复的装置的框图。

数据模块502用于通过浏览器获取静态资源加载相关数据。

判断模块504用于根据相关数据判断静态资源加载是否存在异常情况。

重载模块506用于在所述静态资源加载存在异常情况时,根据预定规则重新加载文件。

记录模块508用于记录所述静态资源加载异常情况。

根据本发明的用于cdn静态网络修复的装置,通过由浏览器获取静态资源加载相关数据判断静态资源加载是否异常,如果存在异常则进行后续处理的方式,能够缓解大数据量下cdn静态网络异常情况造成的地域服务瘫痪问题。

本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例的方法。

通过以上的详细描述,本领域的技术人员易于理解,根据本发明实施例的用于cdn静态网络修复的方法及装置具有以下优点中的一个或多个。

根据一些实施例,本发明的用于cdn静态网络修复的方法,通过由浏览器获取静态资源加载相关数据判断静态资源加载是否异常,如果存在异常则进行后续处理的方式,能够缓解大数据量下cdn静态网络异常情况造成的地域服务瘫痪问题。

根据另一些实施例,本发明的用于cdn静态网络修复的方法,通过分别记录不同种类的静态资源加载异常情况的数据,以供后续分析处理的方式,能够实时监测网络的异常情况,及时找到网络以及运营过程中的网络问题。

根据再一些实施例,本发明的用于cdn静态网络修复的方法,通过分别记录不同种类的静态资源加载异常情况的数据,以供后续分析处理的方式,能够实时监测网络的异常情况,及时找到网络以及运营过程中的网络问题。

以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本发明可实施的范畴。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1