CN105354126B - 监控页面脚本文件中异常的方法和装置 - Google Patents
监控页面脚本文件中异常的方法和装置 Download PDFInfo
- Publication number
- CN105354126B CN105354126B CN201510659364.5A CN201510659364A CN105354126B CN 105354126 B CN105354126 B CN 105354126B CN 201510659364 A CN201510659364 A CN 201510659364A CN 105354126 B CN105354126 B CN 105354126B
- Authority
- CN
- China
- Prior art keywords
- page
- script file
- exception information
- jointly
- page script
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种监控页面脚本文件中异常的方法和装置,所述方法包括:获取页面脚本文件;根据获取的页面脚本文件渲染当前页面时,加载各个页面在加载时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件;根据所述监控异常事件调用异常获取函数来收集在根据获取的页面脚本文件渲染当前页面时产生的异常信息;将所述异常信息发送给服务器以存储在异常信息库中。这样在监控异常事件对渲染页面的监控过程中,可以监控整个渲染过程中的页面脚本文件,且能够准确提取异常信息,减少了在每个页面脚本文件中进行多次捕获异常信息操作和重现异常所浪费的时间,提高了捕获异常信息的效率。
Description
技术领域
本发明涉及脚本调试技术领域,特别是涉及一种监控页面脚本文件中异常的方法和装置。
背景技术
随着脚本语言在前端交互的开发过程中被普遍使用,脚本语言的调试在前端的开发和上线过程中是经常面临的问题。而目前在脚本文件中的异常都是由开发者人工监控捕获,在开发过程中,由于企业级应用功能非常复杂和开发者的编码习惯不同,对判断或处理异常代码也会采用不同的方式,这样会造成异常丢失或者异常信息不够准确的情况,不能准确捕获异常信息。另外,在企业级应用上线后每个用户运行的版本之间的差异也比较大,当用户在使用时发生一些异常时,开发人员不能同时把异常信息记录下来,而是需要开发人员花费大量的时间去重现异常的情况,才能捕获异常信息。这样开发人员不能保证对脚本文件进行全面监控,并且捕获异常信息的效率低。
发明内容
基于此,有必要针对脚本文件中异常信息的捕获效率低的问题,提供一种监控页面脚本文件中异常的方法和装置。
一种监控页面脚本文件中异常的方法,所述方法包括:
获取页面脚本文件;
根据获取的页面脚本文件渲染当前页面时,加载各个页面在加载时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件;
根据所述监控异常事件调用异常获取函数来收集在根据获取的页面脚本文件渲染当前页面时产生的异常信息;
将所述异常信息发送给服务器以存储在异常信息库中。
在其中一个实施例中,所述根据获取的页面脚本文件渲染当前页面时,加载各个页面在加载时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件包括:
根据获取的页面脚本文件渲染当前页面以加载页面头部时,加载各个页面在加载相应的页面头部时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件。
在其中一个实施例中,所述将所述异常信息发送给服务器以存储在异常信息库中,包括:
在当前页面渲染完毕或者渲染中断后,将收集到的所述异常信息统一发送给服务器,使所述服务器将所述异常信息存储在异常信息库中。
在其中一个实施例中,所述将所述异常信息发送给服务器以存储在异常信息库中之后,还包括:
当所述异常信息库中在预定期间内收集到的单个页面脚本文件的异常信息的条数达到预设阈值时触发预警。
在其中一个实施例中,所述将所述异常信息发送给服务器以存储在异常信息库中之后,还包括:
向所述服务器发送读取所述异常信息库中的异常信息的请求;
接收所述服务器根据所述请求读取并发送的所述异常信息库中的异常信息;
根据接收的所述异常信息生成图表并显示。
上述监控页面脚本文件的方法,首先获取页面脚本文件,在根据获取的页面脚本文件开始渲染当前页面时,加载各个页面在加载时共同依赖的页面脚本文件,通过共同依赖的页面脚本文件注册监控异常事件,因为页面脚本文件的渲染过程是基于共同依赖的页面脚本文件的,在页面脚本文件进行渲染页面时,通过注册监控异常事件,可以保证对整个页面渲染过程进行监控,并通过调用异常获取函数来收集异常信息,将异常信息存储在服务器的异常信息库中。这样在监控异常事件对渲染页面的监控过程中,可以监控整个渲染过程中的页面脚本文件,且能够准确提取异常信息,减少了在每个页面脚本文件中进行多次捕获异常信息操作和重现异常所浪费的时间,提高了捕获异常信息的效率。
一种监控页面脚本文件中异常的装置,其特征在于,所述装置包括:
脚本文件获取模块,用于获取页面脚本文件;
监控触发模块,用于根据获取的页面脚本文件渲染当前页面时,加载各个页面在加载时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件;
异常信息收集模块,用于根据所述监控异常事件调用异常获取函数来收集在根据获取的页面脚本文件渲染当前页面时产生的异常信息;
异常信息存储模块,用于将所述异常信息发送给服务器以存储在异常信息库中。
在其中一个实施例中,所述监控触发模块还用于根据获取的页面脚本文件渲染当前页面以加载页面头部时,加载各个页面在加载页面的头部时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件。
在其中一个实施例中,所述异常信息存储模块还用于在当前页面渲染完毕或者渲染中断后,将收集到的所述异常信息统一发送给服务器,使所述服务器将所述异常信息存储在异常信息库中。
在其中一个实施例中,所述装置还包括:
预警触发模块,用于当所述异常信息库中在预定期间内收集到的单个页面脚本文件的异常信息的条数达到预设阈值时触发预警。
在其中一个实施例中,所述装置还包括:
异常信息读取模块,用于向所述服务器发送读取所述异常信息库中的异常信息的请求;
异常信息接收模块,用于接收所述服务器根据所述请求读取并发送的所述异常信息库中的异常信息;
图表生成模块,用于根据所述服务器返回的所述异常信息生成图表并显示。
上述监控页面脚本文件的装置,首先脚本获取模块获取页面脚本文件,监控触发模块在根据获取的页面脚本文件渲染当前页面时,加载各个页面共同依赖的页面脚本文件,并通过共同依赖的页面脚本文件注册监控异常事件,因为页面脚本文件的渲染过程是基于各个页面共同依赖的页面脚本文件的,在页面脚本文件进行渲染页面时,通过注册监控异常事件可以保证对整个页面渲染过程进行监控,并通过异常信息收集模块调用异常获取函数来收集异常信息,异常信息存储模块将异常信息存储在服务器的异常信息库中。这样在对渲染页面的监控过程中,可以监控整个渲染过程中的页面脚本文件,且能够准确提取异常信息,减少了在每个页面脚本文件中进行多次捕获异常信息操作和重现异常所浪费的时间,提高了捕获异常信息的效率。
附图说明
图1为一个实施例中监控页面脚本文件中异常的系统的应用环境图;
图2为一个实施例中监控页面脚本文件中异常的方法的流程示意图;
图3为另一个实施例中图表生成步骤的流程示意图;
图4为一个实施例中监控页面脚本文件中异常的方法的流程示意图;
图5为一个实施例中监控页面脚本文件中异常的装置的结构框图;
图6为另一个实施例中监控页面脚本文件中异常的装置的结构框图;
图7为再一个实施例中监控页面脚本文件中异常的装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中监控页面脚本文件中异常的系统的应用环境图。监控页面脚本文件中异常的系统包括终端110和服务器120。终端110和服务器120通过网络传输数据,终端110上安装有浏览器和可以访问页面的客户端。终端110通过浏览器或可以访问页面的客户端访问服务器120。
如图2所示,在一个实施例中,提供一种监控页面脚本文件中异常的方法,本实施例以该方法应用于上述图1中监控页面脚本文件中异常的系统中的终端110上举例说明。该方法具体包括以下步骤:
步骤202,获取页面脚本文件。
在一个实施例中,终端110根据网页地址向服务器120发送访问请求,服务器120根据接收到的访问请求返回渲染当前页面所需要的页面脚本文件。页面脚本是指在网页页面中使用的脚本程序,在网页页面中的脚本程序通常由脚本语言编写,比如JavaScript。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,同时也是一种广泛用于客户端网页开发的脚本语言,用来给网页添加动态功能。将利用脚本语言编写的程序集合保存为一个独立的文件,这个独立文件为页面脚本文件。页面脚本文件包括控件代码文件、框架代码文件、业务代码文件和各个代码文件都依赖的页面脚本文件等。
步骤204,根据获取的页面脚本文件渲染当前页面时,加载各个页面在加载时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件。
具体地,页面渲染就是浏览器将页面代码根据定义的规则显示在浏览器窗口中的整个过程。当前页面是指浏览器根据网页地址正在加载的页面。共同依赖的页面脚本文件在页面的渲染过程中会加载多个页面脚本文件,在加载每个页面脚本文件之前都需要加载一个共同的页面脚本文件,这个共同的页面脚本文件就可以作为共同依赖的脚本文件。在共同依赖的脚本文件中放入了注册监控异常的事件,在加载共同依赖的脚本文件时根据注册监控异常的事件在操作系统中注册监控异常事件,注册监控异常事件后则开始执行监控异常的动作。各个页面是已知的多个页面中的页面,比如可以是同一网站中的页面或者同一公司所开发的页面。
在一个实施例中,终端110接收到服务器120返回的页面脚本文件后,终端110开始根据获取的页面脚本文件渲染当前页面,并且在渲染页面的过程中首先加载各个页面在加载当前页面时所共同依赖的页面脚本文件,在加载共同依赖的页面脚本文件时通过共同依赖的页面脚本文件注册监控异常事件,对当前页面的渲染过程中页面脚本文件发生的异常进行监控。
在一个实施例中,将注册监控异常的事件置于共同依赖的页面脚本文件中,终端110开始渲染页面时,先加载各个页面共同依赖的页面脚本文件,根据所共同依赖的页面脚本文件中的注册监控异常的时间注册监控异常事件,开始对页面渲染过程实行监控。加载完共同依赖的页面脚本文件后,加载各个页面脚本文件,监控事件监控各个页面脚本文件中的代码异常直到页面渲染中断或完毕。
在一个实施例中,终端110接收到服务器120返回的页面控件脚本文件、页面框架脚本文件、页面业务脚本文件和页面脚本文件共同依赖的页面基础脚本文件。在共同依赖的页面基础脚本文件中放置了注册监控异常的事件,注册监控异常的事件用于注册监控异常事件。监控异常事件用以监控页面控件脚本文件、页面框架脚本文件和页面业务脚本文件中的代码异常。终端110开始渲染页面时先加载共同依赖的页面基础脚本文件同时注册监控异常事件,开始对渲染过程实行监控。终端110在加载完共同依赖的页面基础脚本文件后,加载页面控件脚本文件、页面框架脚本文件和页面业务脚本文件,监控事件对整个渲染过程中加载的页面控件脚本文件、页面框架脚本文件和页面业务脚本文件中的代码或程序异常进行监控。
举例说明,在本方案中采用window.onerror事件去监控捕获异常信息。
window.onerror=function(msg,url,line,col,e){
console.log(msg);
}
其中msg是出错信息,url是文件名,line是行号,col是列号。
步骤206,根据监控异常事件调用异常获取函数来收集在根据获取的页面脚本文件渲染当前页面时产生的异常信息。
具体地,根据所注册的监控异常事件调用异常获取函数。异常获取函数对在过程中的页面脚本文件中发生的异常进行记录形成异常信息,异常信息包括发生异常的页面脚本文件名称、异常的内容以及异常在页面脚本文件中的位置等。其中异常在页面脚本文件中的位置包括异常代码在页面脚本文件中的行号和列号。
在一个实施例中,在注册监控异常事件后,监控异常事件开始监控页面渲染过程中所加载页面脚本文件的异常。终端110根据监控事件调用与监控事件对应的异常获取函数,当监控事件监控到页面渲染过程中所加载的页面脚本文件中存在异常时,异常获取函数机会记录发生异常的信息。
步骤208,将异常信息发送给服务器以存储在异常信息库中。
在一个实施例中,终端110将通过异常获取函数所记录的异常信息发送给服务器120。服务气120接收到异常信息后,在数据库中建立或者已经建立了异常信息库,并将异常信息存储在异常信息库中。异常信息库是异常信息的集合。
本实施例中,在监控异常事件对渲染页面的监控过程中,可以监控整个渲染过程中的页面脚本文件,且能够准确提取异常信息,减少了在每个页面脚本文件中进行多次捕获异常信息操作和重现异常所浪费的时间,提高了捕获异常信息的效率。
在一个实施例中,步骤204包括:根据获取的页面脚本文件渲染当前页面以加载页面头部时,加载各个页面在加载相应的页面头部时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件。
具体地,页面头部是指在加载页面过程中,所加载的页面脚本文件中页面头部代码部分,具体可以是用<head>...</head>所标记的部分。终端110根据获取到的页面脚本文件渲染页面时,且终端110开始加载页面头部时,则先加载各个页面在加载页面的头部时所共同依赖的页面脚本文件或者加载每个页面中页面脚本文件所共同依赖的页面脚本文件,并且在共同依赖的页面脚本文件中注册有监控事件,在加载共同依赖的页面脚本文件的同时触发监控事件,监控事件对整个页面渲染过程中加载的页面脚本文件中的代码异常进行监控。
本实施例中,在页面渲染开始时,页面首先需要加载页面头部,在加载页面头部时加载所共同依赖的页面脚本文件并通过共同依赖的页面脚本文件注册监控异常事件,则监控异常事件可以对整个页面渲染过程进行监控,达到全面监控的效果。
在一个实施例中,步骤208包括:当前页面渲染完毕或者渲染中断后,将收集到的所述异常信息统一发送给服务器,使所述服务器将所述异常信息存储在异常信息库中。
在一个实施例中,终端110采用异步方式,等待页面渲染流程完毕或页面渲染流程中断后,将通过异常获取函数收集到的不同时间监控到的异常信息统一发送给服务器120,服务器120将异常信息存储在异常信息库中。异步是计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。
在一个实施例中,终端110设定了计时器,计时器在终端110开始渲染页面时开始计时,当计时器所计时间达到预定时间时,则终端110将通过异常获取函数收集到的异常信息统一发送给服务器120。服务器120将接收到的异常信息存储在异常信息库中。预定时间可以是3秒到10秒,也可以是5秒到15秒,预定时间大于整个页面渲染过程所花费的时间。
本实施例中,在当前页面渲染完毕或者渲染终端后统一发送给服务器以存储在异常信息库中,避免了需要多次发送异常信息的情况。
在一个实施例中,步骤208之后还包括触发预警的步骤,具体包括:当异常信息库中在预定期间内收集到的单个页面脚本文件的异常信息的条数达到预设阈值时触发预警。
具体地,终端110或服务器120对异常信息库中在异常发生时间的预设期间内监控异常事件监控的单个页面脚本文件的异常信息的条数进行统计,终端110或服务器120判断每个脚本文件的异常信息的条数是否大于阈值,如果大于阈值则触发预警。预设的异常信息收集期间可以是一个小时、一天、一个星期或者一个月中的至少一种。阈值可以设置为5条到30条,也可以设置为5条到10条。
在一个实施例中,服务器120统计在异常发生时间的预设期间内监控异常事件所监控的单个页面脚本文件中异常信息的条数,并将预设期间内异常信息的条数大于阈值的页面脚本文件的异常信息发送给终端110。终端110调用预警接口触发邮件预警,通过邮件系统将页面脚本文件的异常信息发送给相关负责人。
本实施例中,通过统计预设期间内监控异常事件所监控的单个页面脚本文件中异常信息的条数来触发预警,设置预警可以减少为了监控异常投入的人力、财力和时间等资源,减少了资源的消耗,提高了监控效率。
如图3所示,在一个实施例中,步骤208之后还包括图表生成步骤,具体包括以下步骤:
步骤302,向服务器发送读取异常信息库中的异常信息的请求。
具体地,终端110通过浏览器、可以访问页面的客户端通过网络向服务器120发送读取异常信息库中的异常信息的请求。
步骤304,接收服务器根据请求读取并发送的异常信息库中的异常信息。
具体地,服务器120接收到终端110发送的读取请求,根据读取请求读取异常信息库中的异常信息,并将读取的异常信息发送给终端110。
步骤306,根据服务器返回的异常信息生成图表并显示。
具体地,终端110接收服务器120根据请求返回的异常信息,终端110对异常信息进行分析或统计,并根据分析或统计结果生成图表,并在终端110上的浏览器、客户端或监控平台中显示。所生成的图表可以是柱状图、饼状图、分布图、列表或曲线图等中至少一种。
在一个实施例中,终端110可以调用第三方插件,比如Excel、ECharts或MGraph等软件对终端110接收到的异常信息进行处理并生成图表显示在终端110上。
本实施例中,通过读取服务器异常信息库中的异常信息,并通过图表显示出来,通过图表可以直观的反映页面脚本文件的异常情况,节省了分析异常信息的时间。
在一个实施例中,提供一种监控页面脚本文件中异常的方法,具体请参照图4:
终端110在渲染页面的过程中,首先加载各个页面所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件,对页面渲染过程实行监控。
在页面渲染过程中,终端110在加载控件前端代码脚本文件、框架前端代码脚本文件和业务前端代码脚本文件的同时对所加载的脚本文件通过监控异常事件进行监控并生成与脚本文件对应的异常日志。异常日志中记载了脚本文件中代码发生异常的时间和发生异常在脚本文件中的具体位置等异常信息。终端110将异常日志发送给服务器120,服务器120将异常日志处理形成异常信息存储在数据库中。
终端110读取服务器120的数据库中所存储的异常信息,并通过调用第三方图表生成软件对异常信息进行处理并生成图表显示在终端110上。
终端110或服务器120统计数据库中单个脚本文件在异常发生时间的预定期间内的异常信息的条数,并判断所统计的异常信息条数是否大于阈值,如果大于阈值则触发预警。
前端代码监控平台运行在服务器120上,终端110通过前端代码监控平台可以监控到前端代码脚本文件中的异常情况,并且可以准确提取前端代码脚本文件中发生异常的代码的位置,可以及时对前端代码脚本文件中的异常进行调试。
举例说明,异常获取函数部分代码如下:
利用异常获取函数可以异步收集页面脚本文件中发生异常时的异常信息,还可以将其收集到的异常信息存储在数据库中,并且还可以实现将异常信息在终端110的浏览器中打印出来,方便开发人员对页面脚本文件中的异常进行准确定位并进行调试。
如图5所示,在一个实施例中,提供一种监控页面脚本文件中异常的装置500,所述装置包括:脚本文件获取模块502、监控触发模块504、异常信息收集模块506和异常信息存储模块508。
脚本文件获取模块502,用于获取页面脚本文件。
监控触发模块504,用于根据获取的页面脚本文件渲染当前页面时,加载各个页面在加载时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件。
异常信息收集模块506,用于根据监控异常事件调用异常获取函数来收集在根据获取的页面脚本文件渲染当前页面时产生的异常信息。
异常信息存储模块508,用于将异常信息发送给服务器以存储在异常信息库中。
本实施例中,在监控异常事件对渲染页面的监控过程中,可以监控整个渲染过程中的页面脚本文件,且能够准确提取异常信息,减少了在每个页面脚本文件中进行多次捕获异常信息操作和重现异常所浪费的时间,提高了捕获异常信息的效率。
在一个实施例中,监控触发模块504还用于根据获取的页面脚本文件渲染当前页面以加载页面头部时,加载各个页面在加载页面的头部时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件。
本实施例中,在页面渲染开始时,页面首先需要加载页面头部,在加载页面头部之前加载各个页面头部所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件,则监控异常事件可以对整个页面渲染过程进行监控。
在一个实施例中,异常信息存储模块508还用于在当前页面渲染完毕或者渲染中断后,将收集到的异常信息统一发送给服务器,使服务器将异常信息存储在异常信息库中。
本实施例中,避免了需要多次发送异常信息的情况,而是通过将异常信息收集起来,在页面渲染完毕或页面渲染中断后统一发送给服务器以存储在异常信息库中。
如图6所示,在一个实施例中,所述装置500还包括预警触发模块510。
预警触发模块510用于当异常信息库中在预定期间内收集到的单个页面脚本文件的异常信息的条数达到预设阈值时触发预警。
本实施例中,将不同时间监控到的异常信息收集起来,在页面渲染完毕或页面渲染中断后统一发送给服务器以存储在异常信息库中,避免了需要多次发送异常信息的情况。
如图7所示,在一个实施例中,所述装置500还包括异常信息读取模块512和图表生成模块514。
异常信息读取模块512,用于向服务器发送读取异常信息库中的异常信息的请求。
异常信息接收模块514,用于接收服务器根据请求读取并发送的异常信息库中的异常信息。
图表生成模块516,用于根据服务器返回的异常信息生成图表并显示。
本实施例中,通过读取服务器异常信息库中的异常信息,并通过图表显示出来,通过图表可以直观的反映页面脚本文件的异常情况,节省了分析异常信息的时间。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种监控页面脚本文件中异常的方法,所述方法包括:
获取页面脚本文件;
根据获取的页面脚本文件渲染当前页面时,加载各个页面在加载时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件;所述共同依赖的页面脚本文件为在页面的渲染过程中,加载的多个页面脚本文件之前所加载的一个共同的页面脚本文件;在所述共同依赖的脚本文件中放入了注册监控异常的事件,在加载所述共同依赖的脚本文件时根据注册监控异常的事件在操作系统中注册监控异常事件;
根据所述监控异常事件调用异常获取函数来收集在根据获取的页面脚本文件渲染当前页面时产生的异常信息;
将所述异常信息发送给服务器以存储在异常信息库中。
2.根据权利要求1所述的方法,其特征在于,所述根据获取的页面脚本文件渲染当前页面时,加载各个页面在加载时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件包括:
根据获取的页面脚本文件渲染当前页面以加载页面头部时,加载各个页面在加载相应的页面头部时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件。
3.根据权利要求1所述的方法,其特征在于,所述将所述异常信息发送给服务器以存储在异常信息库中,包括:
在当前页面渲染完毕或者渲染中断后,将收集到的所述异常信息统一发送给服务器,使所述服务器将所述异常信息存储在异常信息库中。
4.根据权利要求1所述的方法,其特征在于,所述将所述异常信息发送给服务器以存储在异常信息库中之后,还包括:
当所述异常信息库中在预定期间内收集到的单个页面脚本文件的异常信息的条数达到预设阈值时触发预警。
5.根据权利要求1所述的方法,其特征在于,所述将所述异常信息发送给服务器以存储在异常信息库中之后,还包括:
向所述服务器发送读取所述异常信息库中的异常信息的请求;
接收所述服务器根据所述请求读取并发送的所述异常信息库中的异常信息;
根据接收的所述异常信息生成图表并显示。
6.一种监控页面脚本文件中异常的装置,其特征在于,所述装置包括:
脚本文件获取模块,用于获取页面脚本文件;
监控触发模块,用于根据获取的页面脚本文件渲染当前页面时,加载各个页面在加载时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件;所述共同依赖的页面脚本文件为在页面的渲染过程中,加载的多个页面脚本文件之前所加载的一个共同的页面脚本文件;在所述共同依赖的脚本文件中放入了注册监控异常的事件,在加载所述共同依赖的脚本文件时根据注册监控异常的事件在操作系统中注册监控异常事件;
异常信息收集模块,用于根据所述监控异常事件调用异常获取函数来收集在根据获取的页面脚本文件渲染当前页面时产生的异常信息;
异常信息存储模块,用于将所述异常信息发送给服务器以存储在异常信息库中。
7.根据权利要求6所述的装置,其特征在于,所述监控触发模块还用于根据获取的页面脚本文件渲染当前页面以加载页面头部时,加载各个页面在加载页面的头部时所共同依赖的页面脚本文件,通过所共同依赖的页面脚本文件注册监控异常事件。
8.根据权利要求6所述的装置,其特征在于,所述异常信息存储模块还用于在当前页面渲染完毕或者渲染中断后,将收集到的所述异常信息统一发送给服务器,使所述服务器将所述异常信息存储在异常信息库中。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
预警触发模块,用于当所述异常信息库中在预定期间内收集到的单个页面脚本文件的异常信息的条数达到预设阈值时触发预警。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
异常信息读取模块,用于向所述服务器发送读取所述异常信息库中的异常信息的请求;
异常信息接收模块,用于接收所述服务器根据所述请求读取并发送的所述异常信息库中的异常信息;
图表生成模块,用于根据所述服务器返回的所述异常信息生成图表并显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510659364.5A CN105354126B (zh) | 2015-10-13 | 2015-10-13 | 监控页面脚本文件中异常的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510659364.5A CN105354126B (zh) | 2015-10-13 | 2015-10-13 | 监控页面脚本文件中异常的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105354126A CN105354126A (zh) | 2016-02-24 |
CN105354126B true CN105354126B (zh) | 2018-07-27 |
Family
ID=55330100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510659364.5A Active CN105354126B (zh) | 2015-10-13 | 2015-10-13 | 监控页面脚本文件中异常的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354126B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354577A (zh) * | 2016-08-22 | 2017-01-25 | 上海亿账通互联网科技有限公司 | crash信息存储方法及系统 |
CN108022028B (zh) * | 2016-11-01 | 2021-02-26 | 南京途牛科技有限公司 | 一种资源处理方法及装置 |
CN107896156A (zh) * | 2016-11-26 | 2018-04-10 | 上海壹账通金融科技有限公司 | web前端异常的监控方法、监控服务器及监控系统 |
CN108268332A (zh) * | 2017-08-10 | 2018-07-10 | 广州神马移动信息科技有限公司 | 网页异常监控方法、设备及系统 |
CN110198324B (zh) * | 2018-02-26 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 数据监控方法、装置、浏览器及终端 |
CN109582890A (zh) * | 2018-10-25 | 2019-04-05 | 平安科技(深圳)有限公司 | 页面加载方法、装置、计算机设备及存储介质 |
CN109710440A (zh) * | 2018-12-14 | 2019-05-03 | 平安科技(深圳)有限公司 | 网页前端的异常处理方法、装置、存储介质及终端设备 |
CN110347565B (zh) * | 2019-05-24 | 2022-06-03 | 平安科技(深圳)有限公司 | 一种应用程序的异常分析方法及装置、电子设备 |
CN110287056B (zh) * | 2019-07-04 | 2023-04-28 | 郑州悉知信息科技股份有限公司 | 网页错误信息获取方法和装置 |
CN110399275B (zh) * | 2019-07-18 | 2023-02-03 | 口碑(上海)信息技术有限公司 | 异常展示方法及装置 |
CN111061613A (zh) * | 2019-12-12 | 2020-04-24 | 深圳前海环融联易信息科技服务有限公司 | 前端异常监控方法、装置及计算机设备 |
CN112069034B (zh) * | 2020-09-22 | 2024-07-12 | 深圳市欢太科技有限公司 | 快应用的异常处理方法、装置、电子设备以及存储介质 |
CN112528186B (zh) * | 2020-12-17 | 2023-05-19 | 度小满科技(北京)有限公司 | 一种网页监控方法、装置及系统 |
CN112749059A (zh) * | 2021-01-13 | 2021-05-04 | 叮当快药科技集团有限公司 | 前端异常监控的方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN103856471A (zh) * | 2012-12-06 | 2014-06-11 | 阿里巴巴集团控股有限公司 | 跨站脚本攻击监控系统及方法 |
CN104809045A (zh) * | 2015-04-27 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 监控脚本的运行方法及装置 |
-
2015
- 2015-10-13 CN CN201510659364.5A patent/CN105354126B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN103856471A (zh) * | 2012-12-06 | 2014-06-11 | 阿里巴巴集团控股有限公司 | 跨站脚本攻击监控系统及方法 |
CN104809045A (zh) * | 2015-04-27 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 监控脚本的运行方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于服务器和客户端协作的跨站脚本攻击检测防御研究;许思远;《中国优秀硕士学位论文全文库》;20111015;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105354126A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105354126B (zh) | 监控页面脚本文件中异常的方法和装置 | |
CN110399293B (zh) | 系统测试方法、装置、计算机设备和存储介质 | |
CN111522711B (zh) | 一种数据监控处理系统、方法、执行端、监控端及电子设备 | |
CN104809030A (zh) | 一种基于Android的异常处理系统及处理方法 | |
CN107085549B (zh) | 故障信息生成的方法和装置 | |
US20150026813A1 (en) | Method and system for detecting network link | |
CN107784205B (zh) | 一种用户产品审核的方法、装置、服务器和存储介质 | |
CN111245900A (zh) | 一种分布式消息发送的处理系统及其处理方法 | |
WO2019140739A1 (zh) | 客户回访的判断方法、电子装置及计算机可读存储介质 | |
CN110287056A (zh) | 网页错误信息获取方法和装置 | |
CN108073499B (zh) | 应用程序的测试方法及装置 | |
CN107181607A (zh) | 一种基于端到端的应用系统故障定位方法及装置 | |
CN112100035A (zh) | 一种页面异常检测方法、系统及相关装置 | |
CN113849362B (zh) | 一种业务服务平台管理方法、装置和计算机可读存储介质 | |
CN111984896A (zh) | 埋点数据采集方法、装置、计算机设备及可读存储介质 | |
CN110287053A (zh) | 分布式系统异常统一处理的方法 | |
EP3131041A1 (en) | Testing of enterprise resource planning systems | |
CN114816815A (zh) | 故障定位方法、日志格式的配置方法、设备及存储介质 | |
CN113849330A (zh) | 一种监测、分析应用故障原因的方法、设备及存储介质 | |
CN109034947A (zh) | 一种电商平台的订单数据获取方法、系统和装置 | |
CN114024867B (zh) | 网络异常检测方法及装置 | |
CN116010244A (zh) | 自动化测试方法、装置、电子设备及存储介质 | |
US9183388B2 (en) | Injustice detecting system, injustice detecting device and injustice detecting method | |
CN110889065A (zh) | 页面停留时长确定方法、装置与设备 | |
CN112446030B (zh) | 一种网页端的文件上传漏洞检测方法和装置 |
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 |