一种对浏览器崩溃进行预警的方法和系统的制作方法

文档序号:6397515阅读:254来源:国知局
专利名称:一种对浏览器崩溃进行预警的方法和系统的制作方法
技术领域
本发明涉及计算机领域,具体地涉及一种对浏览器崩溃进行预警的方法及系统。
背景技术
目前,在网页加载的过程中,常常由于种种原因使得浏览器反应变得很慢,或者造成浏览器失去响应,甚至会导致机器无法进行其他的操作。导致浏览器崩溃的原因有内存泄露、网页代码复杂和浏览器的Bug、网页数据过多、ajax的web服务漏洞等。在Windows系统中,当IE遇到崩溃时,自动崩溃恢复等功能可帮助减轻这些崩溃的影响,同时为了从源头杜绝这些崩溃的发生,采用了多种不同的机制来收集关于崩溃的信息,其中一种就是Windows错误报告。对于选择启用Windows错误报告的用户,IE会在崩溃发生时收集浏览器的状态信息并将该信息封装到一个错误报告中,此信息有助于开发人员调试错误根源并修复崩溃。如果在浏览期间遇到浏览器挂起,Internet Explorer也会发送错误报告。这些机制最终可能会向报告重复的问题,但其有助于构建庞大且具有统计意义的数据量。当收集了丰富的崩溃样本之后,首先删除具有重复问题的报告,然后根据崩溃来源对数据进行分类从而了解哪些区域对IE可靠性具有较大影响。接下来,对来自每个类别的数据进行整理以便系统地分析崩溃,可以使用“故障曲线”确定问题的优先级,例如采用条形图,其中每一个条形图表示一种唯一的崩溃,崩溃按从最常遇到到最少遇到进行排序。在绘制了故障曲线之后,从曲线顶部最常遇到的问题开始分析每个问题,针对每个问题分别进行改进。例如在IE9Beta期间,以下类别可能产生可靠性问题(I) IE代码错误IE代码错误是大部分崩溃的根源。由于引入了大量新代码,IE崩溃与第三方崩溃的比率在预发行版(Beta和发布候选版)中较高。(2)加载项尽管加载项是IE浏览体验的核心部分,但它们也是IE中可靠性问题的主要原因。与加载项相关的崩溃通常在打开新选项卡或启动IE时发生。一些加载项不兼容较新的IE版本,可能导致崩溃。(3) ActiveX 控件如今的许多网站使用 Flash、Silverlight 和 QuickTime 等ActiveX控件来显示交互式内容和视频。因为ActiveX控件在本质上是在浏览器中运行的Windows应用程序,所以质量较差的控件可能导致浏览器选项卡崩溃或挂起。(4)图形驱动程序IE9向硬件加速图形的过渡高度依赖于生态系统中显卡驱动程序的质量。在IE9 Beta期间从反馈发送工具收到的崩溃报告中有41%是由显卡驱动程序造成的。这些崩溃发生在与加载项崩溃类似的场景中,所以它们对正常浏览具有非常重要的影响。(5)其他第三方软件许多软件程序(比如防病毒工具和自定义下载管理器)可能影响IE的可靠性。基于Windows操作系统的错误报告,其与是操作系统进行绑定的,并且其只是反馈给开发人员,作为浏览器的使用者不会得到任何并于浏览器崩溃的报错或预警,即目前没有一个对浏览器崩溃进行预警的机制。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种对浏览器崩溃进行预警的方法和系统。依据本发明的一个方面,提供一种对浏览器崩溃进行预警的系统,包括浏览器端和服务器端;所述浏览器端包括一个或多个浏览器客户端;GET 接口和 POST 接 口 ;所述服务器端至少包括一第一崩溃服务器、一第二崩溃服务器和一第三崩溃服务器,其中,所述第一崩溃服务器用于崩溃基本信息的收集,所述第二崩溃服务器用于崩溃数据包的收集,所述第三崩溃服务器用于崩溃分析结果的回传;所述浏览器客户端发生崩溃时,通过GET接口发送崩溃基本信息给所述第一崩溃服务器;所述第一崩溃服务器处理所述崩溃基本信息,并向所述浏览器客户端返回参数;所述浏览器客户端根据所述参数判断是否需要上传崩溃数据包,当需要上传时,则通过所述POST接口向所述第二崩溃服务器上传所述崩溃数据包;自动化分析接口,根据收集的所述崩溃基本信息以及对所述崩溃数据包进行分析而产生崩溃分析结果;所述第三崩溃服务器收到崩溃分析结果,向所述浏览器端返回崩溃预警。可选地,所述崩溃基本信息包括崩溃浏览器的版本信息、浏览器所在硬件的标识、浏览器侧产生崩溃的模块或组件的名称、浏览器侧产生崩溃的模块或组件的版本以及浏览器侧产生崩溃时的IE环境的信息中的至少一个。可选地,所述崩溃数据包是一个二进制文件,其内容至少包括下述项中的一个部分内存和崩溃的线程、线程调用栈;系统崩溃的快照;系统当前的与浏览器崩溃相关的寄存器信息。可选地,所述第三崩溃服务器采用MySQL数据库作为存储引擎,MySQL数据库包括主库和从库,所述主库与从库之间数据进行自动同步;所述主库用于插入来自浏览器客户端的数据,所述从库主要用于保存崩溃基本信息以及对崩溃数据包进行了自动化崩溃分析后的分析结果,以便于后台管理员的管理和/或sphinx索引服务器的索引。可选地,所述第三崩溃服务器向所述浏览器端返回崩溃预警,包括在所述浏览器端显示崩溃预警信息;所述崩溃预警信息包括第一类崩溃预警信息和/或第二类崩溃预警信息;所述第一类崩溃预警信息是基于崩溃基本信息的各类参数进行统计而分析出的崩溃预警信息;所述第二类崩溃预警信息是基于崩溃数据包的分析结果并针对特定用户给出的崩溃预警信息。可选地,所述特定用户包括指定浏览器所在机器标识所对应的浏览器客户端;或浏览器用户登录浏览器时分配有浏览器用户唯一标识所对应的浏览器客户端。
可选地,所述崩溃预警信息至少包括下述信息中的一个崩溃率信息、崩溃模块信息、崩溃堆栈信息、崩溃进程类型信息、崩溃线程类型信息、进程崩溃阶段信息、线程崩溃阶段信息、指定崩溃数据包的标识信息。可选地,所述浏览器端配置为显示浏览器的各种版本单独监控结果或版本间的对比结果;或者,显示每个浏览器版本的浏览器崩溃的参数的统计结果;或者,当导致浏览器崩溃的参数的数据量超过预期阀值时通过消息提醒方式提示用户进行预警。依据本发明的另一方面,提供一种对浏览器崩溃进行预警的方法,包括第一崩溃服务器接收来自浏览器端的至少一浏览器客户端在发生崩溃时通过GET接口发送来的崩溃基本信息,所述第一崩溃服务器处理所述崩溃基本信息,并向所述浏览器客户端返回参数,该参数标明是否需要上传该次崩溃时的崩溃数据包;第二崩溃服务器在所述参数标明上传崩溃数据包时,接收通过浏览器侧的POST接口上传的崩溃数据包;根据收集的所述崩溃基本信息以及对所述崩溃数据包进行自动化崩溃分析而产生崩溃分析结果;第三崩溃服务器收到所述崩溃分析结果,并向所述浏览器端返回崩溃预警信息。可选地,所述崩溃基本信息包括崩溃浏览器的版本信息、浏览器所在硬件的标识、浏览器侧产生崩溃的模块或组件的名称、浏览器侧产生崩溃的模块或组件的版本以及浏览器侧产生崩溃时的IE环境的信息中的至少一个。可选地,所述崩溃数据包是一个二进制文件,其内容至少包括下述项中的一个部分内存和崩溃的线程、线程调用栈;系统崩溃的快照;系统当前的与浏览器崩溃相关的寄存器信息。可选地,所述第三崩溃服务器采用MySQL数据库作为存储引擎,MySQL数据库包括主库和从库,所述主库与从库之间数据进行自动同步;所述主库用于插入来自浏览器客户端的数据,所述从库主要用于保存崩溃基本信息以及对崩溃数据包进行了自动化崩溃分析后的分析结果,以便于后台管理员的管理和/或sphinx索引服务器的索引。可选地,对所述崩溃数据包进行自动化崩溃分析包括通过自动化分析接口对获取的崩溃数据包进行分析,并将分析保存在自动化分析表的stack字段或callstack字段中,其中,stack和callstack分别是IE内核浏览器和WebKit内核浏览器中使用的参数,所述stack或者callstack字段包含已分析出来的崩溃模块或函数名称,或者关键模块的崩溃情况;或调用上述崩溃模块或函数之前的浏览器端执行的步骤或者操作。可选地,所述第三崩溃服务器向所述浏览器端返回崩溃预警,包括检索所述callstack或者stack字段中的分析结果记录,获取特定用户给出的崩溃预警信息,并在所述浏览器端显示崩溃预警信息;所述崩溃预警信息包括第一类崩溃预警信息和/或第二类崩溃预警信息;所述第一类崩溃预警信息是基于崩溃基本信息的各类参数进行统计而分析出的崩溃预警信息;所述第二类崩溃预警信息是基于崩溃数据包的分析结果并针对特定用户给出的崩溃预警信息。可选地,所述特定用户包括指定浏览器所在机器标识所对应的浏览器客户端;或浏览器用户登录浏览器时分配有浏览器用户唯一标识所对应的浏览器客户端。
可选地,所述崩溃预警信息至少包括下述信息中的一个崩溃率信息、崩溃模块信息、崩溃堆栈信息、崩溃进程类型信息、崩溃线程类型信息、进程崩溃阶段信息、线程崩溃阶段信息、指定崩溃数据包的标识信息。可选地,对所述崩溃数据包进行自动化崩溃分析读取崩溃数据包,并把IE内核浏览器、WebKit内核浏览器各自的崩溃数据包分别传送到按时间进行划分的不同文件目录中;实时监控所述按照时间进行划分目录下的文件,并实时对新的崩溃数据文件进行分析。 可选地,所述方法还包括配置浏览器端以显示浏览器的各种版本单独监控结果或版本间的对比结果;或者,以显示每个浏览器版本的浏览器崩溃的参数的统计结果;或者,配置浏览器端,当导致浏览器崩溃的参数的数据量超过预期阀值时通过消息提醒方式提示用户进行预警。。依据本发明的另一方面,提供一种浏览器崩溃预警的方法,包括当所述浏览器发生崩溃时,其通过GET接口发送崩溃基本信息给用于收集崩溃基本信息的第一崩溃服务器;所述浏览器侧接收来自所述第一崩溃服务器处理所述崩溃基本信息而返回所述浏览器的参数,该参数标明是否需要上传该次崩溃时的崩溃数据包,当需要上传时,则通过所述POST接口向用于收集崩溃数据包的第二崩溃服务器上传所述崩溃数据包;所述浏览器侧接收来自用于回传崩溃分析结果的第三崩溃服务器返回的、基于自动化分析接口根据收集的所述崩溃基本信息以及对所述崩溃数据包进行分析产生的崩溃分析结果的崩溃预警信息。可选地,所述崩溃基本信息包括崩溃浏览器的版本信息、浏览器所在硬件的标识、浏览器侧产生崩溃的模块或组件的名称、浏览器侧产生崩溃的模块或组件的版本以及浏览器侧产生崩溃时的IE环境的信息中的至少一个。可选地,所述崩溃数据包是一个二进制文件,其内容至少包括下述项中的一个部分内存和崩溃的线程、线程调用栈;系统崩溃的快照;系统当前的与浏览器崩溃相关的寄存器信息。可选地,所述崩溃预警信息包括第一类崩溃预警信息和/或第二类崩溃预警信息;所述第一类崩溃预警信息是基于崩溃基本信息的各类参数进行统计而分析出的崩溃预警信息;所述第二类崩溃预警信息是基于崩溃数据包的分析结果并针对特定用户给出的崩溃预警信息。可选地,所述特定用户包括指定浏览器所在机器标识所对应的浏览器;或浏览器用户登录浏览器时分配有浏览器用户唯一标识所对应的浏览器。可选地,所述崩溃预警信息至少包括下述信息中的一个崩溃率信息、崩溃模块信息、崩溃堆栈信息、崩溃进程类型信息、崩溃线程类型信息、进程崩溃阶段信息、线程崩溃阶段信息、指定崩溃数据包的标识信息。可选地,所述方法还包括配置浏览器端以显示所述接收的崩溃预警信息。
可选地,所述浏览器侧接收的崩溃预警信息是依据浏览器侧的机器标识而发送到浏览器侧的。可选地,所述显示所述接收的崩溃预警信息包括:显示浏览器的各种版本单独监控结果或版本间的对比结果;或者显示每个浏览器版本的浏览器崩溃的参数的统计结果;或者当导致浏览器崩溃的参数的数据量超过预期阀值时通过消息提醒方式提示用户进行预警。根据本发明的系统以及方法,可以在用户进行正常浏览时,基于很多用户提交的崩溃报告分析后的结果,预先告知某些可能会导致崩溃的因素和存在的风险,提醒用户作必要的更新操作,通过这种预警或提醒的方式以尽可能的减少用户浏览器的崩溃以及降低崩溃对用户的影响。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式



通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本发明提出的在云端对浏览器崩溃进行预警的系统框图;图2示出了本发明提出的一种对浏览器崩溃进行预警的方法的流程图;图3示出了本发明提出的一种浏览器崩溃预警的方法的流程图;图4示出了浏览器端向云端发送Get请求信息的流程图;图5示出了通过POST接口的dump包文件的上传流程图;图6示出了在收到dump包之后的操作流程图。
具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本发明提出了一种在云端对浏览器崩溃进行预警的系统,其系统框图如图1所示。该系统包括浏览器端100和云端200,其中浏览器端100包括一个或多个浏览器客户端,如图所示,浏览器客户端1,浏览器客户端2以及浏览器客户端η。云端200包括多个云崩溃服务器(例如云崩溃服务器4、云崩溃服务器5、云崩溃服务器6,这种划分仅为一种功能划分)、缓存服务器7、数据队列服务器8、MySQL数据库9、Sphinx索引服务器KKwindows机器11和12,各个传输/发送/接收数据或信息的接口(如Get接口、P0ST接口),等等。这里以三个崩溃服务器为例,其中,云崩溃服务器4 (第一崩溃服务器)主要负责崩溃基本信息的收集,云崩溃服务器5 (第二崩溃服务器)主要负责崩溃数据包即dump包的收集,云崩溃服务器6 (第三崩溃服务器)主要负责崩溃分析结果的回传。
当浏览器端的至少一个浏览器客户端(例如:某浏览器)发生崩溃时,浏览器客户端通过Get方式请求云崩溃服务器端,比如,通过GET接口发送崩溃基本信息到第一崩溃服务器4,由其对GET请求进行处理(处理该崩溃基本信息),浏览器端根据云崩溃服务器端的返回值,来确定是否需要上传dump包,比如,由第一崩溃服务器4向该浏览器客户端返回参数,在浏览器这一侧/端,接收到返回的该参数,该浏览器客户端会根据该返回的参数来判断是否需要上传崩溃数据包(dump包),例如,返回结果为“ {" dumpid": 〃0〃,〃sverify: 〃sverify_val〃} ”,则表示不需要上传dump文件,返回结果为“ " dumpid": 〃dump_id〃, "sverify: 〃sverify_val〃} ”,则表示需要上传dump文件,同时回传dump_id。然后,浏览器客户端根据云崩溃服务器端sverify值效验此次数据是否合法。表I和表2分别示出了 Get请求信息(其主要包括例如:崩溃基本信息)中的参数说明以及pubkey参数详细列表。Get请求信息包括pubkey,由表2可知pubkey包括version、crash_type、more_crash_name、more_crash_version、ie_version,其中 version信息给出了崩溃浏览器的版本信息,m0re_craSh_name给出了浏览器侧产生崩溃的模块、组件的名称,more_crash_versio给出了浏览器侧产生崩溃的模块、组件的版本,ie_version给出了浏览器侧产生崩溃时的IE环境的信息。这些Get请求信息也可以包含在该Get请求的崩溃基本信息中,如该崩溃基本信息也包括:崩溃浏览器的版本信息、浏览器所在硬件的标识、浏览器侧产生崩溃的模块或组件的名称、浏览器侧产生崩溃的模块或组件的版本以及浏览器侧产生崩溃时的IE环境的信息中的至少一个,等等。表I`
权利要求
1.一种对浏览器崩溃进行预警的系统,包括: 浏览器端和服务器端; 所述浏览器端包括一个或多个浏览器客户端; GET 接口和 POST 接口 ; 所述服务器端至少包括一第一崩溃服务器、一第二崩溃服务器和一第三崩溃服务器,其中,所述第一崩溃服务器用于崩溃基本信息的收集,所述第二崩溃服务器用于崩溃数据包的收集,所述第三崩溃服务器用于崩溃分析结果的回传; 所述浏览器客户端发生崩溃时,通过GET接口发送崩溃基本信息给所述第一崩溃服务器; 所述第一崩溃服务器处理所述崩溃基本信息,并向所述浏览器客户端返回参数;所述浏览器客户端根据所述参数判断是否需要上传崩溃数据包,当需要上传时,则通过所述POST接口向所述第二崩溃服务器上传所述崩溃数据包; 自动化分析接口,根据收集的所述崩溃基本信息以及对所述崩溃数据包进行分析而产生崩溃分析结果; 所述第三崩溃服务器收到崩溃分析结果,向所述浏览器端返回崩溃预警。
2.如权利要求1所述的系统,其特征在于,所述崩溃基本信息包括: 崩溃浏览器的版本信息、浏览器所在硬件的标识、浏览器侧产生崩溃的模块或组件的名称、浏览器侧产生崩溃的模块或组件的版本以及浏览器侧产生崩溃时的IE环境的信息中的至少一个。
3.如权利要求1所述的系统,其特征在于: 所述崩溃数据包是一个二进制文件,其内容至少包括下述项中的一个: 部分内存和崩溃的线程、线程调用栈; 系统崩溃的快照; 系统当前的与浏览器崩溃相关的寄存器信息。
4.如权利要求1所述的系统,其特征在于,所述第三崩溃服务器采用MySQL数据库作为存储引擎,MySQL数据库包括主库和从库,所述主库与从库之间数据进行自动同步; 所述主库用于插入来自浏览器客户端的数据,所述从库主要用于保存崩溃基本信息以及对崩溃数据包进行了自动化崩溃分析后的分析结果,以便于后台管理员的管理和/或sphinx索引服务器的索引。
5.如权利要求1所述的系统,其特征在于,所述第三崩溃服务器向所述浏览器端返回崩溃预警,包括在所述浏览器端显示崩溃预警信息; 所述崩溃预警信息包括:第一类崩溃预警信息和/或第二类崩溃预警信息; 所述第一类崩溃预警信息是基于崩溃基本信息的各类参数进行统计而分析出的崩溃预警信息; 所述第二类崩溃预警信息是基于崩溃数据包的分析结果并针对特定用户给出的崩溃预警信息。
6.如权利要求5所述的系统,其特征在于,所述特定用户包括: 指定浏览器所在机器标识所对应的浏览器客户端;或 浏览器用户登录浏览器时分配有浏览器用户唯一标识所对应的浏览器客户端。
7.如权利要求5所述的系统,其特征在于,所述崩溃预警信息至少包括下述信息中的一个: 崩溃率信息、崩溃模块信息、崩溃堆栈信息、崩溃进程类型信息、崩溃线程类型信息、进程崩溃阶段信息、线程崩溃阶段信息、指定崩溃数据包的标识信息。
8.如权利要求1所述的系统,其特征在于,所述浏览器端配置为: 显示浏览器的各种版本单独监控结果或版本间的对比结果;或者, 显示每个浏览器版本的浏览器崩溃的参数的统计结果;或者, 当导致浏览器崩溃的参数的数据量超过预期阀值时通过消息提醒方式提示用户进行预警。
9.一种对浏览器崩溃进行预警的方法,包括: 第一崩溃服务器接收来自浏览器端的至少一浏览器客户端在发生崩溃时通过GET接口发送来的崩溃基本信息,所述第一崩溃服务器处理所述崩溃基本信息,并向所述浏览器客户端返回参数,该参数标明是否需要上传该次崩溃时的崩溃数据包; 第二崩溃服务器在所述参数标明上传崩溃数据包时,接收通过浏览器侧的POST接口上传的崩溃数据包; 根据收集的所述崩溃基本信息以及对所述崩溃数据包进行自动化崩溃分析而产生崩溃分析结果; 第三崩溃服务器收到所述崩溃分析结果,并向所述浏览器端返回崩溃预警信息。
10.如权利要求9所述的方法,其特征在于,所述崩溃基本信息包括:` 崩溃浏览器的版本信息、浏览器所在硬件的标识、浏览器侧产生崩溃的模块或组件的名称、浏览器侧产生崩溃的模块或组件的版本以及浏览器侧产生崩溃时的IE环境的信息中的至少一个。
11.如权利要求9所述的方法,其特征在于: 所述崩溃数据包是一个二进制文件,其内容至少包括下述项中的一个: 部分内存和崩溃的线程、线程调用栈; 系统崩溃的快照; 系统当前的与浏览器崩溃相关的寄存器信息。
12.如权利要求9所述的方法,其特征在于,所述第三崩溃服务器采用MySQL数据库作为存储引擎,MySQL数据库包括主库和从库,所述主库与从库之间数据进行自动同步; 所述主库用于插入来自浏览器客户端的数据,所述从库主要用于保存崩溃基本信息以及对崩溃数据包进行了自动化崩溃分析后的分析结果,以便于后台管理员的管理和/或sphinx索引服务器的索引。
13.如权利要求9所述的方法,其特征在于,对所述崩溃数据包进行自动化崩溃分析包括: 通过自动化分析接口对获取的崩溃数据包进行分析,并将分析保存在自动化分析表的stack字段或callstack字段中,其中,stack和callstack分别是IE内核浏览器和WebKit内核浏览器中使用的参数,所述stack或者callstack字段包含: 已分析出来的崩溃模块或函数名称,或者关键模块的崩溃情况;或 调用上述崩溃模块或函数之前的浏览器端执行的步骤或者操作。
14.如权利要求13所述的方法,其特征在于,所述第三崩溃服务器向所述浏览器端返回崩溃预警,包括: 检索所述callstack或者stack字段中的分析结果记录,获取特定用户给出的崩溃预警信息,并在所述浏览器端显示崩溃预警信息; 所述崩溃预警信息包括:第一类崩溃预警信息和/或第二类崩溃预警信息; 所述第一类崩溃预警信息是基于崩溃基本信息的各类参数进行统计而分析出的崩溃预警信息; 所述第二类崩溃预警信息是基于崩溃数据包的分析结果并针对特定用户给出的崩溃预警信息。
15.如权利要求14所述的方法,其特征在于,所述特定用户包括: 指定浏览器所在机器标识所对应的浏览器客户端;或 浏览器用户登录浏览器时分配有浏览器用户唯一标识所对应的浏览器客户端。
16.如权利要求14所述的方法,其特征在于,所述崩溃预警信息至少包括下述信息中的一个: 崩溃率信息、崩溃模块信息、崩溃堆栈信息、崩溃进程类型信息、崩溃线程类型信息、进程崩溃阶段信息、线程崩溃阶段信息、指定崩溃数据包的标识信息。
17.如权利要求13所述的方法,其特征在于,对所述崩溃数据包进行自动化崩溃分析: 读取崩溃数据包,并把IE内核浏览器、WebKit内核浏览器各自的崩溃数据包分别传送到按时间进行划分的不同文件目录中; 实时监控所述按照时间进行划分目录下的文件,并实时对新的崩溃数据文件进行分析。
18.如权利要求9所述的方法,其特征在于,还包括: 配置浏览器端以显示浏览器的各种版本单独监控结果或版本间的对比结果;或者,以显示每个浏览器版本的浏览器崩溃的参数的统计结果;或者, 配置浏览器端,当导致浏览器崩溃的参数的数据量超过预期阀值时通过消息提醒方式提示用户进行预警。
19.一种浏览器崩溃预警的方法,包括: 当所述浏览器发生崩溃时,其通过GET接口发送崩溃基本信息给用于收集崩溃基本信息的第一崩溃服务器; 所述浏览器侧接收来自所述第一崩溃服务器处理所述崩溃基本信息而返回所述浏览器的参数,该参数标明是否需要上传该次崩溃时的崩溃数据包,当需要上传时,则通过所述POST接口向用于收集崩溃数据包的第二崩溃服务器上传所述崩溃数据包; 所述浏览器侧接收来自用于回传崩溃分析结果的第三崩溃服务器返回的、基于自动化分析接口根据收集的所述崩溃基本信息以及对所述崩溃数据包进行分析产生的崩溃分析结果的崩溃预警信息。
20.如权利要求19所述的方法,其特征在于,所述崩溃基本信息包括: 崩溃浏览器的版本信息、浏览器所在硬件的标识、浏览器侧产生崩溃的模块或组件的名称、浏览器侧产生崩溃的模块或组件的版本以及浏览器侧产生崩溃时的IE环境的信息中的至少一个。
21.如权利要求19所述的方法,其特征在于: 所述崩溃数据包是一个二进制文件,其内容至少包括下述项中的一个: 部分内存和崩溃的线程、线程调用栈; 系统崩溃的快照; 系统当前的与浏览器崩溃相关的寄存器信息。
22.如权利要求19所述的方法,其特征在于,所述崩溃预警信息包括:第一类崩溃预警信息和/或第二类崩溃预警信息; 所述第一类崩溃预警信息是基于崩溃基本信息的各类参数进行统计而分析出的崩溃预警信息; 所述第二类崩溃预警信息是基于崩溃数据包的分析结果并针对特定用户给出的崩溃预警信息。
23.如权利要求22所述的方法,其特征在于,所述特定用户包括: 指定浏览器所在机器标识所对应的浏览器;或 浏览器用户登录浏览器时分配有浏览器用户唯一标识所对应的浏览器。
24.如权利要求22所述的方法,其特征在于,所述崩溃预警信息至少包括下述信息中的一个: 崩溃率信息、崩溃模块信息、崩溃堆栈信息、崩溃进程类型信息、崩溃线程类型信息、进 程崩溃阶段信息、线程崩溃阶段信息、指定崩溃数据包的标识信息。
25.如权利要求19所述的方法,其特征在于,还包括: 配置浏览器端以显示所述接收的崩溃预警信息。
26.如权利要求19所述的方法,其特征在于,所述浏览器侧接收的崩溃预警信息是依据浏览器侧的机器标识而发送到浏览器侧的。
27.如权利要求25所述的方法,其特征在于,所述显示所述接收的崩溃预警信息包括: 显示浏览器的各种版本单独监控结果或版本间的对比结果;或者 显示每个浏览器版本的浏览器崩溃的参数的统计结果;或者 当导致浏览器崩溃的参数的数据量超过预期阀值时通过消息提醒方式提示用户进行预警。
全文摘要
本发明涉及一种对浏览器崩溃进行预警的方法和系统,其中所述对浏览器崩溃进行预警的方法包括第一崩溃服务器接收来自浏览器端的至少一浏览器客户端在发生崩溃时通过GET接口发送的崩溃基本信息,处理后向浏览器客户端返回参数,该参数表明是否要上传该次崩溃时的崩溃数据包;第二崩溃服务器在表明上传崩溃数据包时接收浏览器侧的POST接口上传的崩溃数据包;根据收集的崩溃基本信息和对崩溃数据包自动化崩溃分析而产生崩溃分析结果;第三崩溃服务器收到崩溃分析结果向浏览器端返回崩溃预警信息。由此可以预先向浏览器客户告知可能导致浏览器崩溃的因素或提醒用户作必要的更新操作,以减少浏览器崩溃次数和降低崩溃对用户的影响。
文档编号G06F11/34GK103077108SQ20131000451
公开日2013年5月1日 申请日期2013年1月7日 优先权日2013年1月7日
发明者范家鹏, 张鹏翼, 任寰 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1