一种客户端应用运行异常分析方法与装置与流程

文档序号:11591117阅读:303来源:国知局
一种客户端应用运行异常分析方法与装置与流程

本发明涉及互联网直播技术领域,尤其涉及一种客户端应用运行异常分析方法与装置。



背景技术:

随着网络直播技术的不断发展,大量用户参与到网络直播平台中观看自己喜欢的主播的直播间视频,并与主播进行着各种交互行为:聊天、送礼物等。

在视频直播领域,经常会由于服务器过载、网络不稳定等原因,导致直播视频的中断,从而影响用户的观看体验。现有技术通过打点的方式记录用户进入应用后的操作行为。实际上,当应用出现影响用户使用的故障时,仅根据用户的操作行为是无法准确确定故障原因的。



技术实现要素:

本发明提供一种客户端应用运行异常分析方法与装置,目的在于能够定位出客户端故障出现位置并分析出故障发生原因,以便于后续有针对性地解决问题。

为了解决上述技术问题,本发明提供一种客户端应用运行异常分析方法,包括:

获取客户端运行应用时基于多个打点事件产生的日志数据;

若所述客户端运行所述应用时出现异常,则获取所述客户端的客户端信息及所述客户端的网络连接信息;

根据所述客户端信息、所述网络连接信息及所述日志数据,模拟所述应用运行过程以定位异常位置。

可选地,获取所述客户端的客户端信息及所述客户端的网络连接信息,包括:

接收所述客户端运行所述应用时上传的所述客户端信息及ip信息;

解析所述ip信息,得到所述网络连接信息。

可选地,所述客户端信息包括:终端型号和/或终端的操作系统信息;所述网络连接信息包括:终端连接网络类型、网络运营商、终端所处地域中的一项或多项。

可选地,根据所述客户端信息、网络连接信息及所述日志数据,模拟所述应用运行过程以定位异常出现位置,包括:

采用预设模型模拟具有所述客户端信息、网络连接信息下的客户端按照所述日志数据记录的运行轨迹执行所述应用;

若按照所述日志数据记录的运行轨迹执行到一位置所述应用输出的结果为异常数据,则输出所述异常数据的执行位置即为所述异常出现位置。

可选地,所述日志数据记录的运行轨迹包含:用户使用所述应用进行多次操作的操作记录;

其中,所述操作记录中包含有操作内容及操作时间;操作内容为直播视频播放操作、信息发表操作或礼物赠送操作。

可选地,所述方法,还包括:

基于多个客户端的日志数据,统计出所述应用被所述多个客户端的用户操作的次数最多的时段。

为了解决上述技术问题,本发明提供一种客户端应用运行异常分析装置,所述装置,包括:

第一获取模块,用于获取客户端运行应用时基于多个打点事件产生的日志数据;

第二获取模块,用于若所述客户端运行所述应用时出现异常,则获取所述客户端的客户端信息及所述客户端的网络连接信息;

模拟模块,用于根据所述客户端信息、所述网络连接信息及所述日志数据,模拟所述应用运行过程以定位异常位置。

本发明实施例提供的技术方案,通过打点方法将用户在客户端运行应用时对应用的交互操作进行记录并形成日志数据,即所述日志数据记录下了该应用在客户端上的具体运行过程,一旦该客户端在运行该应用出现故障时,根据所述客户端上传的客户端信息以及网络连接信息就可获知该应用的运行环境,这样,在后续模拟中,就可以结合真实的运行环境来对日志数据中所记载的运行过程进行模拟以定位故障原因,大幅度提高了模拟结果的准确性,提高了故障位置定位的精确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的客户端应用运行异常分析方法的流程示意图;

图2为本发明又一实施例提供的客户端应用运行异常分析方法的流程示意图;

图3为本发明一实施例提供的客户端应用运行异常分析装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述xxx,但这些xxx不应限于这些术语。这些术语仅用来将xxx彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一xxx也可以被称为第二xxx,类似地,第二xxx也可以被称为第一xxx。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于监测”。类似地,取决于语境,短语“如果确定”或“如果监测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当监测(陈述的条件或事件)时”或“响应于监测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

图1为本发明一实施例提供的客户端应用运行异常分析方法的流程示意图。如图1所示,该方法包括:

101、获取客户端运行应用时基于多个打点事件产生的日志数据。

102、若所述客户端运行所述应用时出现异常,则获取所述客户端的客户端信息及所述客户端的网络连接信息。

103、根据所述客户端信息、所述网络连接信息及所述日志数据,模拟所述应用运行过程以定位异常位置。

在实际应用中,用户对所述应用界面的操作种类繁多、操作频繁,若对用户的所有操作都进行记录的话,必然会增大运行成本,还会使得最后得到的日志数据过于庞大,不利于后续分析。因此,本实施例中,预先指定好对某些特定的打点事件(即交互操作)进行打点记录,即在客户端运行所述应用时,一旦所述应用界面上发生了预先指定好的打点事件中的一个或多个打点事件,就会分别针对所述发生的一个或多个打点事件进行打点记录,记录下所述一个或多个打点事件分别对应的操作内容、操作时间等,从而生成日志数据。所述打点事件包括但不限于打开所述应用界面、点击进入某一直播间页面、播放/暂停直播间视频、发送弹幕、赠送礼物等。所述打点事件可以根据实际分析需要进行不同的设定,本发明对此不作任何具体限定。

其中,对所发生的一个或多个打点事件进行打点记录的具体实现方式如下:打点服务器接收客户端上传的针对多个打点事件进行本地记录所生成的日志数据,并对所述日志数据进行存储。所述客户端可以每隔第一预设时间间隔上传一次本地记录的日志数据,而无需针对所述应用界面上发生的每一个打点事件都向打点服务器发送打点请求以进行打点记录。

上述步骤102中,可以通过以下一种或多种方式来获知所述客户端在运行所述应用的过程中是否发生异常:

一、在应用界面上,为用户提供一个问题反馈页面以供用户在发生故障时向服务器上传相关的反馈信息。

二、客户端在运行所述应用时,每隔第二预设时间间隔进行自检,若在第二预设时间间隔内发生过故障,则上传故障提示消息给服务器。

上述步骤102中,获取所述客户端的客户端信息及所述客户端的网络连接信息的具体实现方式如下:接收所述客户端运行所述应用时上传的所述客户端信息及ip信息;解析所述ip信息,得到所述网络连接信息。所述客户端在运行所述应用时可以每隔一段时间上传一次所述客户端信息及ip信息,也可以在用户上传的反馈信息中携带所述客户端信息及ip信息,或者,在自检后所上传的故障提示消息中携带所述客户端信息及ip信息。根据所述ip信息,可以解析得到所述网络连接信息。

其中,所述客户端信息包括:终端型号和/或终端的操作系统信息;所述网络连接信息包括:终端连接网络类型、网络运营商、终端所处地域中的一项或多项。所述终端连接网络类型包括2g、3g、4g以及wifi,所述网络运营商包括中国电信、中国移动以及中国联通。

上述步骤103中,根据所述客户端信息、所述网络连接信息及所述日志数据,模拟所述应用运行过程以定位异常位置。

在得知客户端在运行所述应用出现异常时,根据所述客户端上传的所述客户端信息和所述网络连接信息,就可以具体知道所述应用的运行环境,再根据所述日志数据可以获得用户使用所述应用进行得多次操作的操作记录,最后,进行故障位置模拟时,就可以结合所述运行环境来模拟所述应用运行过程以定位异常位置。

下面将以用户使用手机运行应用app(application,应用)为例进行详细介绍:

手机型号为华为荣耀8、操作系统为android7.0、应用app为熊猫直播应用app以及联网类型为wifi。用户通过手机运行熊猫直播应用app,从熊猫直播应用app界面主页中选择直播间a点击进入所述直播间a,观看所述直播间a的直播视频,并在聊天室发送弹幕和赠送礼物与所述直播间a的主播或参与到所述直播间a的其他观众进行互动,这一系列的用户交互操作:点击进入直播间a、发送弹幕、赠送礼物等都通过打点方式记录在打点服务器中,形成日志数据,所述日志数据中记录下了这一系列用户交互操作的发生时间、所处页面url(uniformresourcelocator,统一资源定位符)。通过解析url,可得到所述交互操作是针对哪个列表页面或哪个直播间实施的。

当用户在这一系列操作中出现问题,例如,进入所述直播间的时间过长(即所述直播间页面的加载页面过长)、或是弹幕、礼物发送不出去,用户通过反馈页面上传反馈信息,所述反馈信息中携带有所述客户端型号以及操作系统等信息。

在后续模拟时,就可以根据客户端上传的所述客户端型号荣耀8、操作系统android7.0以及由ip地址解析得到的连接网络类型、网络运营商、终端所处地域等信息模拟出一个贴近真实的应用运行的软硬件环境,在该模拟出的软硬件环境下,根据所述日志数据记录的用户对熊猫直播app的一系列操作来执行所述熊猫直播app,一旦在模拟过程中在某一执行位置处出现异常,就可以判断出该位置即为用户故障出现位置,后续根据定位出的故障位置分析故障出现原因,以进行相应的故障维护或进行服务策略的调整。

可选地,还可以基于多个客户端的日志数据,统计出所述应用被所述多个客户端的用户操作的次数最多的时段。这样就可以针对用户的行为信息来及时调整服务策略。

进一步的,在上述和下述实施例提供的方法中,还可包括如下步骤:

发送携带有所述异常位置的告警信息。

其中,发送对象可以是运维人员的终端(如手机、计算机)。运维人员根据异常位置即可判断出异常发生的原因。当然,情况比较复杂的时候,运维人员可通过在该异常位置处进行排查来得出异常原因。

本发明实施例提供的技术方案,通过打点方法将用户在客户端运行应用时对应用的交互操作进行记录并形成日志数据,即所述日志数据记录下了该应用在客户端上的具体运行过程,一旦该客户端在运行该应用出现故障时,根据该客户端上传的客户端信息以及网络连接信息就可获知该应用的运行环境,这样,在后续模拟中,就可以结合真实的运行环境来对日志数据中所记载的运行过程进行模拟以定位故障原因,大幅度提高了模拟结果的准确性,提高了故障位置定位的精确性。

图2为本发明又一实施例提供的客户端应用运行异常分析方法的流程示意图。如图2所示,该方法包括:

201、获取客户端运行应用时基于多个打点事件产生的日志数据。

202、若所述客户端运行所述应用时出现异常,则获取所述客户端的客户端信息及所述客户端的网络连接信息。

203、采用预设模型模拟具有所述客户端信息、网络连接信息下的客户端按照所述日志数据记录的运行轨迹执行所述应用。

204、若按照所述日志数据记录的运行轨迹执行到一位置所述应用输出的结果为异常数据,则输出所述异常数据的执行位置即为所述异常出现位置。

其中,上述步骤201、202可参见上述实施例中的相应内容,此处不再赘述。

上述步骤203和204对应于上述实施例中的步骤103。

步骤203中,所述日志数据记录的运行轨迹包含:用户使用所述应用进行多次操作的操作记录;其中,所述操作记录中包含有操作内容及操作时间;操作内容为直播视频播放操作、信息发表操作或礼物赠送操作。

根据预设模型来模拟具有所述客户端型号,操作系统、网络连接状态下的客户端按照所述日志数据中记录的所述应用运行轨迹执行所述应用。

在模拟过程中,执行所述应用的运行轨迹中的每一位置后,都会输出该位置处所述应用的响应信息,当所述响应信息为异常数据时,则输出所述异常数据的执行位置即为所述异常出现位置。

由于主播上传的直播视频的码率、分辨率以及所述主播当前观看人数都会直接影响用户观看过程,因此,在进行故障分析时,不仅可以获取出现故障的客户端运行所述应用时的相关日志数据,还可以获取所述出现故障的用户所处直播间主播的客户端相关日志数据。

例如:在主播直播过程中,主播为了能够提高画面的清晰度,会调高直播视频的码率和分辨率。由于参与到该主播直播间的不同用户所使用的终端不同、连网状态也不同,码率和分辨率的调高会使得某些用户在观看该直播间视频时发生卡顿等现象。这时,为了找出卡顿的故障原因,可以去获取与所述直播间主播的相关日志数据,如所述主播客户端运行所述直播应用所产生的日志数据、以及用户观看所述直播间视频所连接的web服务器的日志数据。根据所述主播客户端运行所述直播应用所产生的日志数据可以获知所述直播对所述直播应用的交互操作,包括更改直播视频码率和分辨率等操作,根据用户观看所述直播间视频所连接的web服务器的日志数据可以获知所述web服务器上连接的客户端数,即负载状况。如果所述web服务器上连接的客户端的数量太大,则说明故障出现的位置或原因即是所述web服务器负载过重,这时,可以通过扩展web服务器分担一部分客户端的连接量。如果是因为所述直播间视频的码率和分辨率太高导致的视频卡顿,可以通过发送提示消息以提醒所述主播,或是当参与到所述直播间的用户中出现视频卡顿的用户占比超过预设阈值时,发送提示消息以提醒所述主播。

本发明实施例提供的技术方案,通过打点方法将用户在客户端运行应用时对应用的交互操作进行记录并形成日志数据,即所述日志数据记录下了该应用在客户端上的具体运行过程,一旦该客户端在运行该应用出现故障时,获取该客户端信息以及网络连接信息就可获知该应用的运行环境,这样,在后续模拟中,就可以结合真实的运行环境来对日志数据中所记载的运行过程进行模拟以定位故障原因,大幅度提高了模拟结果的准确性,提高了故障位置定位的精确性。

图3为本发明一实施例提供的客户端应用运行异常分析装置的结构示意图。如图3所示,该装置包括:第一获取模块301、第二获取模块302以及模拟模块303:

第一获取模块301,用于获取客户端运行应用时基于多个打点事件产生的日志数据。

第二获取模块302,用于若所述客户端运行所述应用时出现异常,则获取所述客户端的客户端信息及所述客户端的网络连接信息。

模拟模块303,用于根据所述客户端信息、所述网络连接信息及所述日志数据,模拟所述应用运行过程以定位异常位置。

可选地,所述第二获取模块,包括:

接收单元,用于接收所述客户端运行所述应用时上传的所述客户端信息及ip信息。

解析单元,用于解析所述ip信息,得到所述网络连接信息。

其中,所述客户端信息包括:终端型号和/或终端的操作系统信息;所述网络连接信息包括:终端连接网络类型、网络运营商、终端所处地域中的一项或多项。

可选地,所述模拟模块,包括:

执行单元,用于采用预设模型模拟具有所述客户端信息、网络连接信息下的客户端按照所述日志数据记录的运行轨迹执行所述应用。

输出单元,用于若按照所述日志数据记录的运行轨迹执行到一位置所述应用输出的结果为异常数据,则输出所述异常数据的执行位置即为所述异常出现位置。

其中,所述日志数据记录的运行轨迹包含:用户使用所述应用进行多次操作的操作记录;所述操作记录中包含有操作内容及操作时间;操作内容为直播视频播放操作、信息发表操作或礼物赠送操作。

可选地,所述装置,还包括:

统计模块,用于基于多个客户端的日志数据,统计出所述应用被所述多个客户端的用户操作的次数最多的时段。

本发明实施例提供的技术方案,通过打点方法将用户在客户端运行应用时对应用的交互操作进行记录并形成日志数据,即所述日志数据记录下了该应用在客户端上的具体运行过程,一旦该客户端在运行该应用出现故障时,获取该客户端信息以及网络连接信息就可获知该应用的运行环境,这样,在后续模拟中,就可以结合真实的运行环境来对日志数据中所记载的运行过程进行模拟以定位故障原因,大幅度提高了模拟结果的准确性,提高了故障位置定位的精确性。

这里需要说明的是:上述实施例提供的客户端应用运行异常分析装置可实现上述方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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