本发明属于浏览器卡死监控领域,特别涉及一种监测浏览器卡死的控制方法及控制装置。
背景技术:
随着计算机技术和网络技术的不断发展,互联网在人们的生活、学习、工作、科研中起到了不可或缺的作用,人们几乎每一天都要通过互联网来完成各种各样的事务,获取各种各样的信息。不同的网站所提供的信息或者是服务是不同的,当用户需要获取新闻时,需要去浏览新闻网站,当用户需要购买东西时,可以浏览专门的购物网站。
现如今,互联网已经成为了人们生活中的一种习惯,但是,人们在浏览网页时,总会由于各种因素而导致浏览器卡死,但是具体的卡死原因却没有进行及时上报,从而使浏览器开发商无法有效地解决网页卡死的问题,导致无法有效解决浏览器卡死问题,就目前而言,当浏览器出现卡死的状况,人们通常会在任务管理菜单中强行结束进程,又或者出现该网站无法访问的界面,但这些并不能有效的防止后期访问时再出现卡死问题,
因为并没有一种能够将浏览器卡死问题进行收集并上报的有效方法,只有知道了浏览器卡死的具体原因才能够对症下药,有效的解决页面卡死的问题。
而目前,市场上并没有一种能够有效解决上述问题的办法,特别是一种监测浏览器卡死的控制方法及控制装置。
技术实现要素:
针对现有技术存在的技术缺陷,本发明的目的是提供一种监测浏览器卡死的控制方法及控制装置,根据本发明的一个方面,一种监测浏览器卡死的控制方法,用于对浏览器是否卡死进行监测,包括如下步骤:
i、判断在单位时间t内是否接收到来自被测试线程的反馈信息;
ii、若未接收到所述反馈信息,则向服务器发送当前卡死相关信息。
优选地,所述被测试线程包括如下线程中的任一个或任多个:
-io线程;以及
-ui线程。
优选地,一个观察者线程向所述被测试线程发送测试信息,所述反馈信息与所述测试信息相对应。
优选地,一个观察者线程定期向所述被测试线程发送测试信息。
优选地,所述步骤i包括如下步骤:
i1.判断第三方线程在单位时间t内是否接收到来自所述被测试线程的反馈信息,其中,所述第三方线程为与所述被测试线程进行通讯的现场。
优选地,所述单位时间t的范围为:2s≤t≤16s。
优选地,所述当前卡死相关信息至少包括如下信息中的任一种或任多种:
-当前用户系统环境信息;
-进程内存快照信息;以及
-浏览器进程日志。
优选地,还包括如下步骤:
iii、服务器记录所述当前卡死相关信息。
根据本发明的另一个方面,提供了一种监测浏览器卡死的控制装置,用于对浏览器是否卡死进行监测,包括:
第一判断装置:判断在单位时间t内是否接收到来自被测试线程的反馈信息;
第一处理装置:若未接收到所述反馈信息,则向服务器发送当前卡死相关信息。
优选地,所述第一判断装置还包括:
第二判断装置:判断第三方线程在单位时间t内是否接收到来自所述被测试线程的反馈信息,其中,所述第三方线程为与所述被测试线程进行通讯的现场。
优选地,还包括:
第二处理装置:服务器记录所述当前卡死相关信息。
本发明提供了一种监测浏览器卡死的控制方法及控制装置,通过在单位时间内获取被测试线程的反馈信息,若在单位时间内未接收到被测试线程的反馈信息,则向服务器发送当前卡死的相关信息,从而确认卡死的具体原因,本发明操作简单,使用方便,实用性强,具有极高的商业价值。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出了本发明的具体实施方式的,一种监测浏览器卡死的控制方法的具体流程示意图;
图2示出了本发明的第一实施例的,判断第三方线程在单位时间t内是否接收到来自所述被测试线程的反馈信息的具体流程示意图;
图3示出了本发明的第二实施例的,服务器记录所述当前进程的快照信息的具体流程示意图;以及
图4示出了本发明的另一具体实施方式的,一种监测浏览器卡死的控制装置的模块连接示意图。
具体实施方式
为了更好的使本发明的技术方案清晰地表示出来,下面结合附图对本发明作进一步说明。
图1示出了本发明的具体实施方式的,一种监测浏览器卡死的控制方法的具体流程示意图,具体地,包括如下步骤:
首先,进入步骤s101,判断在单位时间t内是否接收到来自被测试线程的反馈信息,终端观察者线程基于终端行为向测试线程发送测试信息,所述被测试线程若在单位时间内向观察者线程发送被测试线程的反馈信息,则证明所述终端与用户交互属于正常状态,若所述被测试线程没在单位时间内没有向所述观察者线程发送被测试线程的反馈信息,则执行步骤s102,本领域的技术人员理解,此步骤为判断步骤。
进一步地,所述被测试线程包括如下线程中的任一个或任多个:io线程以及ui线程,本领域技术人员理解,所述io线程即为所述终端中开启的所有的线程,而所述ui线程即为当前页面显示的线程,所述被测试线程可以根据实际需求进行一个或多个线程的测试。
进一步地,一个观察者线程向所述被测试线程发送测试信息,所述反馈信息与所述测试信息相对应,在这样的实施例中,所述终端在所述浏览器中创建一个观察者线程,同时,所述观察者线程向所述被测试线程发送测试信息,所述被测试线程在接收到所述测试信息时,在单位时间内向所述观察者线程发送与所述测试信息相对应的反馈信息,优选地,若所述终端浏览器中存在多个线程,则可以同时创建多个观察者线程向多个线程发送测试信息。
进一步地,一个观察者线程定期向所述被测试线程发送测试信息,本领域技术人员理解,所述观察者线程可通过设置测试间隔的单位时间,并基于测试间隔的单位时间定期向所述被测试线程发送测试信息,相应的,还可将所述观察者线程设置为实时测试,而所述反馈信息同样也是实时反馈。
进一步地,所述单位时间t的范围为:2s≤t≤16s,本领域技术人员理解,所述观察者线程向所述被测试线程发送测试请求,当所述被测试线程发送反馈信息时,则记录该反馈时间与所述观察者线程向所述被测试线程发送测试请求的时间,两者的时间差即可设置为所述单位时间,优选地,可获取多次的间隔时间,并将间隔时间中的最长时间作为单位时间。
最后,进入步骤s102,若未接收到所述反馈信息,则向服务器发送当前卡死相关信息,所述观察者线程向所述被测试线程发送测试请求,若所述被测试线程在单位时间内没有向所述观察者线程发送反馈信息,则可认定所述网页处于卡死状态,并向所述终端服务器发送当前卡死信息,所述当前卡死相关信息至少包括如下信息中的任一种或任多种:当前用户系统环境信息、进程内存快照信息以及浏览器进程日志,具体地,所述当前用户系统环境信息包括所述浏览器版本与访问页面是否兼容,优选地,还包括所述终端的硬件信息,所述终端硬件信息包括终端的系统版本、储存空间、以及运行空间等,同时,所述当前用户系统环境还包括网络连接是否正常。
进一步地,所述进程内存快照信息包括在所述浏览器中的进程内存中的快照信息,所述快照信息是把当前浏览器进程的堆栈信息、寄存器信息及其他可用状态信息储存下来,本领域技术人员理解,通过快照信息可以还原当前卡死现场,辅助分析卡死原因。
进一步地,所述进程日志内包括正常运行的日志以及卡死的日志,本领域技术人员理解,在所述浏览器中,不论是用户的操作信息以及所述网页的显示信息、反馈信息、线程信息都会被记录下来,形成浏览器进程日志,所述进程日志还包括所述网页页面出现卡死情况时的具体原因。
图2示出了本发明的第一实施例的,判断第三方线程在单位时间t内是否接收到来自所述被测试线程的反馈信息的具体流程示意图,具体地,包括如下步骤:
首先,进入步骤s201,判断第三方线程在单位时间t内是否接收到来自所述被测试线程的反馈信息,其中,所述第三方线程为与所述被测试线程进行通讯的现场,在这样的实施例中,所述网页中若出现跳转至第三方服务器或是第三方应用程序的连接时,则通过进入所述第三方与所述被测试线程的通讯现场,获取所述被测试线程的反馈信息是否在单位时间内反馈至所述第三方线程中。
在一个优选地实施例中,用户通过终端浏览器向某一网页发起浏览请求,同时所述终端服务器向所述网页服务器发送被测试线程的请求信息,然而,在所述网页中出现跳转链接,并跳转至用户终端中某一应用程序,使所述应用程序开启,所述被测试线程进入所述应用程序与所述网页的数据交互现场,并将所述反馈信息在单位时间内反馈至所述第三方线程。
本领域技术人员理解,所述图2中的步骤s202可以参考所述图1中的步骤s102,在此不予赘述。
图3示出了本发明的第二实施例的,服务器记录所述当前进程的快照信息的具体流程示意图,具体地,包括如下步骤:
本领域技术人员理解,所述图3中的步骤s301及步骤s302可以参考所述图1中的步骤s101及步骤s102,在此不予赘述。
最后,进入步骤s303,服务器记录所述进程卡死相关信息,本领域技术人员理解,当所述浏览器出现卡死情况时,通过获取当前进程的快照信息,则可以确认所述网页卡死的基本原因,所述快照信息被所述终端服务器进行记录,同时结合服务器记录的用户系统环境信息和浏览器日志,可以分析出现卡死的具体原因,并最终将卡死原因记录到所述服务器卡死数据库中,优选地,所述当前进程的快照信息内若出现当前卡死与网络及服务器无关,则所述终端服务器可通过排除法进行终端硬件或浏览器运行环境的排查,并最终将所述卡死原因进行记录并显示。
在一个优选地实施例中,卡死相关信息上报的服务器上之后,服务器对每个卡死进行分析,将这些卡死按照卡死原因进行分类,并按照每类卡死原因卡死数降序排列,开发人员逐一分析并修复这些崩溃,放在浏览器的下个版本中。用户升级浏览器获得这些修复。
在一个极为特殊的变化例中,所述终端服务器将所述卡死原因进行确认后,在所述终端显示界面中会出现解决所述卡死原因的链接,用户通过点击链接,完成修复,如所述终端中网页卡死的原因是因为当前浏览器版本过低而造成的,则在显示卡死原因的同时,会生成一个链接,用户通过点击链接将浏览器的版本进行升级。
图4示出了本发明的另一具体实施方式的,一种监测浏览器卡死的控制装置的模块连接示意图,本领域技术人员理解,本发明提供了一种监测浏览器卡死的控制装置,用于对浏览器是否卡死进行监测,包括:第一判断装置:判断在单位时间t内是否接收到来自被测试线程的反馈信息,所述终端服务器基于访问网页向所述访问网页服务器发送测试线程的请求信息,所述网页服务器若在单位时间内向所述终端服务系发送被测试线程的反馈信息,则证明所述终端与所述网页的数据交互属于正常状态,所述第一判断装置与所述第一处理装置及所述第二判断装置连接。
进一步地,还包括第一处理装置:若未接收到所述反馈信息,则向服务器发送当前卡死相关信息,所述观察者线程向所述被测试线程发送测试请求,若所述被测试线程在单位时间内没有向所述终端服务器发送反馈信息,则可认定所述网页处于卡死状态,并向所述终端服务器发送当前卡死信息,所述当前卡死相关信息至少包括如下信息中的任一种或任多种:当前用户系统环境信息、进程内存快照信息以及浏览器进程日志,所述第一处理装置与所述第一判断装置及所述第二处理装置连接。
进一步地,还包括第二判断装置:判断第三方线程在单位时间t内是否接收到来自所述被测试线程的反馈信息,其中,所述第三方线程为与所述被测试线程进行通讯的现场,所述网页中若出现跳转至第三方服务器或是第三方应用程序的连接时,则通过进入所述第三方与所述被测试线程的通讯现场,获取所述被测试线程的反馈信息是否在单位时间内反馈至所述第三方线程中。
进一步地,还包括第二处理装置:服务器记录所述当前卡死相关信息,当所述浏览器出现卡死情况时,通过获取当前进程的快照信息,则可以确认所述网页卡死的基本原因,所述快照信息被所述终端服务器进行记录,同时结合服务器记录的用户系统环境信息和浏览器日志,可以分析出现卡死的具体原因,并最终将卡死原因记录到所述服务器卡死数据库中,所述终端服务器将所述卡死原因进行确认后,在所述终端显示界面中会出现解决所述卡死原因的链接,用户通过点击链接,完成修复,如所述终端中网页卡死的原因是因为当前浏览器版本过低而造成的,则在显示卡死原因的同时,会生成一个链接,用户通过点击链接将浏览器的版本进行升级。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。