本發(fā)明涉及互聯(lián)網(wǎng)直播技術(shù)領(lǐng)域,尤其涉及一種客戶端應(yīng)用運(yùn)行異常分析方法與裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)直播技術(shù)的不斷發(fā)展,大量用戶參與到網(wǎng)絡(luò)直播平臺(tái)中觀看自己喜歡的主播的直播間視頻,并與主播進(jìn)行著各種交互行為:聊天、送禮物等。
在視頻直播領(lǐng)域,經(jīng)常會(huì)由于服務(wù)器過(guò)載、網(wǎng)絡(luò)不穩(wěn)定等原因,導(dǎo)致直播視頻的中斷,從而影響用戶的觀看體驗(yàn)。現(xiàn)有技術(shù)通過(guò)打點(diǎn)的方式記錄用戶進(jìn)入應(yīng)用后的操作行為。實(shí)際上,當(dāng)應(yīng)用出現(xiàn)影響用戶使用的故障時(shí),僅根據(jù)用戶的操作行為是無(wú)法準(zhǔn)確確定故障原因的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種客戶端應(yīng)用運(yùn)行異常分析方法與裝置,目的在于能夠定位出客戶端故障出現(xiàn)位置并分析出故障發(fā)生原因,以便于后續(xù)有針對(duì)性地解決問(wèn)題。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種客戶端應(yīng)用運(yùn)行異常分析方法,包括:
獲取客戶端運(yùn)行應(yīng)用時(shí)基于多個(gè)打點(diǎn)事件產(chǎn)生的日志數(shù)據(jù);
若所述客戶端運(yùn)行所述應(yīng)用時(shí)出現(xiàn)異常,則獲取所述客戶端的客戶端信息及所述客戶端的網(wǎng)絡(luò)連接信息;
根據(jù)所述客戶端信息、所述網(wǎng)絡(luò)連接信息及所述日志數(shù)據(jù),模擬所述應(yīng)用運(yùn)行過(guò)程以定位異常位置。
可選地,獲取所述客戶端的客戶端信息及所述客戶端的網(wǎng)絡(luò)連接信息,包括:
接收所述客戶端運(yùn)行所述應(yīng)用時(shí)上傳的所述客戶端信息及ip信息;
解析所述ip信息,得到所述網(wǎng)絡(luò)連接信息。
可選地,所述客戶端信息包括:終端型號(hào)和/或終端的操作系統(tǒng)信息;所述網(wǎng)絡(luò)連接信息包括:終端連接網(wǎng)絡(luò)類(lèi)型、網(wǎng)絡(luò)運(yùn)營(yíng)商、終端所處地域中的一項(xiàng)或多項(xiàng)。
可選地,根據(jù)所述客戶端信息、網(wǎng)絡(luò)連接信息及所述日志數(shù)據(jù),模擬所述應(yīng)用運(yùn)行過(guò)程以定位異常出現(xiàn)位置,包括:
采用預(yù)設(shè)模型模擬具有所述客戶端信息、網(wǎng)絡(luò)連接信息下的客戶端按照所述日志數(shù)據(jù)記錄的運(yùn)行軌跡執(zhí)行所述應(yīng)用;
若按照所述日志數(shù)據(jù)記錄的運(yùn)行軌跡執(zhí)行到一位置所述應(yīng)用輸出的結(jié)果為異常數(shù)據(jù),則輸出所述異常數(shù)據(jù)的執(zhí)行位置即為所述異常出現(xiàn)位置。
可選地,所述日志數(shù)據(jù)記錄的運(yùn)行軌跡包含:用戶使用所述應(yīng)用進(jìn)行多次操作的操作記錄;
其中,所述操作記錄中包含有操作內(nèi)容及操作時(shí)間;操作內(nèi)容為直播視頻播放操作、信息發(fā)表操作或禮物贈(zèng)送操作。
可選地,所述方法,還包括:
基于多個(gè)客戶端的日志數(shù)據(jù),統(tǒng)計(jì)出所述應(yīng)用被所述多個(gè)客戶端的用戶操作的次數(shù)最多的時(shí)段。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種客戶端應(yīng)用運(yùn)行異常分析裝置,所述裝置,包括:
第一獲取模塊,用于獲取客戶端運(yùn)行應(yīng)用時(shí)基于多個(gè)打點(diǎn)事件產(chǎn)生的日志數(shù)據(jù);
第二獲取模塊,用于若所述客戶端運(yùn)行所述應(yīng)用時(shí)出現(xiàn)異常,則獲取所述客戶端的客戶端信息及所述客戶端的網(wǎng)絡(luò)連接信息;
模擬模塊,用于根據(jù)所述客戶端信息、所述網(wǎng)絡(luò)連接信息及所述日志數(shù)據(jù),模擬所述應(yīng)用運(yùn)行過(guò)程以定位異常位置。
本發(fā)明實(shí)施例提供的技術(shù)方案,通過(guò)打點(diǎn)方法將用戶在客戶端運(yùn)行應(yīng)用時(shí)對(duì)應(yīng)用的交互操作進(jìn)行記錄并形成日志數(shù)據(jù),即所述日志數(shù)據(jù)記錄下了該應(yīng)用在客戶端上的具體運(yùn)行過(guò)程,一旦該客戶端在運(yùn)行該應(yīng)用出現(xiàn)故障時(shí),根據(jù)所述客戶端上傳的客戶端信息以及網(wǎng)絡(luò)連接信息就可獲知該應(yīng)用的運(yùn)行環(huán)境,這樣,在后續(xù)模擬中,就可以結(jié)合真實(shí)的運(yùn)行環(huán)境來(lái)對(duì)日志數(shù)據(jù)中所記載的運(yùn)行過(guò)程進(jìn)行模擬以定位故障原因,大幅度提高了模擬結(jié)果的準(zhǔn)確性,提高了故障位置定位的精確性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一實(shí)施例提供的客戶端應(yīng)用運(yùn)行異常分析方法的流程示意圖;
圖2為本發(fā)明又一實(shí)施例提供的客戶端應(yīng)用運(yùn)行異常分析方法的流程示意圖;
圖3為本發(fā)明一實(shí)施例提供的客戶端應(yīng)用運(yùn)行異常分析裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明實(shí)施例中使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書(shū)中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義,“多種”一般包含至少兩種,但是不排除包含至少一種的情況。
應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:?jiǎn)为?dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
應(yīng)當(dāng)理解,盡管在本發(fā)明實(shí)施例中可能采用術(shù)語(yǔ)第一、第二、第三等來(lái)描述xxx,但這些xxx不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來(lái)將xxx彼此區(qū)分開(kāi)。例如,在不脫離本發(fā)明實(shí)施例范圍的情況下,第一xxx也可以被稱(chēng)為第二xxx,類(lèi)似地,第二xxx也可以被稱(chēng)為第一xxx。
取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”、“若”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于監(jiān)測(cè)”。類(lèi)似地,取決于語(yǔ)境,短語(yǔ)“如果確定”或“如果監(jiān)測(cè)(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)監(jiān)測(cè)(陳述的條件或事件)時(shí)”或“響應(yīng)于監(jiān)測(cè)(陳述的條件或事件)”。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
圖1為本發(fā)明一實(shí)施例提供的客戶端應(yīng)用運(yùn)行異常分析方法的流程示意圖。如圖1所示,該方法包括:
101、獲取客戶端運(yùn)行應(yīng)用時(shí)基于多個(gè)打點(diǎn)事件產(chǎn)生的日志數(shù)據(jù)。
102、若所述客戶端運(yùn)行所述應(yīng)用時(shí)出現(xiàn)異常,則獲取所述客戶端的客戶端信息及所述客戶端的網(wǎng)絡(luò)連接信息。
103、根據(jù)所述客戶端信息、所述網(wǎng)絡(luò)連接信息及所述日志數(shù)據(jù),模擬所述應(yīng)用運(yùn)行過(guò)程以定位異常位置。
在實(shí)際應(yīng)用中,用戶對(duì)所述應(yīng)用界面的操作種類(lèi)繁多、操作頻繁,若對(duì)用戶的所有操作都進(jìn)行記錄的話,必然會(huì)增大運(yùn)行成本,還會(huì)使得最后得到的日志數(shù)據(jù)過(guò)于龐大,不利于后續(xù)分析。因此,本實(shí)施例中,預(yù)先指定好對(duì)某些特定的打點(diǎn)事件(即交互操作)進(jìn)行打點(diǎn)記錄,即在客戶端運(yùn)行所述應(yīng)用時(shí),一旦所述應(yīng)用界面上發(fā)生了預(yù)先指定好的打點(diǎn)事件中的一個(gè)或多個(gè)打點(diǎn)事件,就會(huì)分別針對(duì)所述發(fā)生的一個(gè)或多個(gè)打點(diǎn)事件進(jìn)行打點(diǎn)記錄,記錄下所述一個(gè)或多個(gè)打點(diǎn)事件分別對(duì)應(yīng)的操作內(nèi)容、操作時(shí)間等,從而生成日志數(shù)據(jù)。所述打點(diǎn)事件包括但不限于打開(kāi)所述應(yīng)用界面、點(diǎn)擊進(jìn)入某一直播間頁(yè)面、播放/暫停直播間視頻、發(fā)送彈幕、贈(zèng)送禮物等。所述打點(diǎn)事件可以根據(jù)實(shí)際分析需要進(jìn)行不同的設(shè)定,本發(fā)明對(duì)此不作任何具體限定。
其中,對(duì)所發(fā)生的一個(gè)或多個(gè)打點(diǎn)事件進(jìn)行打點(diǎn)記錄的具體實(shí)現(xiàn)方式如下:打點(diǎn)服務(wù)器接收客戶端上傳的針對(duì)多個(gè)打點(diǎn)事件進(jìn)行本地記錄所生成的日志數(shù)據(jù),并對(duì)所述日志數(shù)據(jù)進(jìn)行存儲(chǔ)。所述客戶端可以每隔第一預(yù)設(shè)時(shí)間間隔上傳一次本地記錄的日志數(shù)據(jù),而無(wú)需針對(duì)所述應(yīng)用界面上發(fā)生的每一個(gè)打點(diǎn)事件都向打點(diǎn)服務(wù)器發(fā)送打點(diǎn)請(qǐng)求以進(jìn)行打點(diǎn)記錄。
上述步驟102中,可以通過(guò)以下一種或多種方式來(lái)獲知所述客戶端在運(yùn)行所述應(yīng)用的過(guò)程中是否發(fā)生異常:
一、在應(yīng)用界面上,為用戶提供一個(gè)問(wèn)題反饋?lái)?yè)面以供用戶在發(fā)生故障時(shí)向服務(wù)器上傳相關(guān)的反饋信息。
二、客戶端在運(yùn)行所述應(yīng)用時(shí),每隔第二預(yù)設(shè)時(shí)間間隔進(jìn)行自檢,若在第二預(yù)設(shè)時(shí)間間隔內(nèi)發(fā)生過(guò)故障,則上傳故障提示消息給服務(wù)器。
上述步驟102中,獲取所述客戶端的客戶端信息及所述客戶端的網(wǎng)絡(luò)連接信息的具體實(shí)現(xiàn)方式如下:接收所述客戶端運(yùn)行所述應(yīng)用時(shí)上傳的所述客戶端信息及ip信息;解析所述ip信息,得到所述網(wǎng)絡(luò)連接信息。所述客戶端在運(yùn)行所述應(yīng)用時(shí)可以每隔一段時(shí)間上傳一次所述客戶端信息及ip信息,也可以在用戶上傳的反饋信息中攜帶所述客戶端信息及ip信息,或者,在自檢后所上傳的故障提示消息中攜帶所述客戶端信息及ip信息。根據(jù)所述ip信息,可以解析得到所述網(wǎng)絡(luò)連接信息。
其中,所述客戶端信息包括:終端型號(hào)和/或終端的操作系統(tǒng)信息;所述網(wǎng)絡(luò)連接信息包括:終端連接網(wǎng)絡(luò)類(lèi)型、網(wǎng)絡(luò)運(yùn)營(yíng)商、終端所處地域中的一項(xiàng)或多項(xiàng)。所述終端連接網(wǎng)絡(luò)類(lèi)型包括2g、3g、4g以及wifi,所述網(wǎng)絡(luò)運(yùn)營(yíng)商包括中國(guó)電信、中國(guó)移動(dòng)以及中國(guó)聯(lián)通。
上述步驟103中,根據(jù)所述客戶端信息、所述網(wǎng)絡(luò)連接信息及所述日志數(shù)據(jù),模擬所述應(yīng)用運(yùn)行過(guò)程以定位異常位置。
在得知客戶端在運(yùn)行所述應(yīng)用出現(xiàn)異常時(shí),根據(jù)所述客戶端上傳的所述客戶端信息和所述網(wǎng)絡(luò)連接信息,就可以具體知道所述應(yīng)用的運(yùn)行環(huán)境,再根據(jù)所述日志數(shù)據(jù)可以獲得用戶使用所述應(yīng)用進(jìn)行得多次操作的操作記錄,最后,進(jìn)行故障位置模擬時(shí),就可以結(jié)合所述運(yùn)行環(huán)境來(lái)模擬所述應(yīng)用運(yùn)行過(guò)程以定位異常位置。
下面將以用戶使用手機(jī)運(yùn)行應(yīng)用app(application,應(yīng)用)為例進(jìn)行詳細(xì)介紹:
手機(jī)型號(hào)為華為榮耀8、操作系統(tǒng)為android7.0、應(yīng)用app為熊貓直播應(yīng)用app以及聯(lián)網(wǎng)類(lèi)型為wifi。用戶通過(guò)手機(jī)運(yùn)行熊貓直播應(yīng)用app,從熊貓直播應(yīng)用app界面主頁(yè)中選擇直播間a點(diǎn)擊進(jìn)入所述直播間a,觀看所述直播間a的直播視頻,并在聊天室發(fā)送彈幕和贈(zèng)送禮物與所述直播間a的主播或參與到所述直播間a的其他觀眾進(jìn)行互動(dòng),這一系列的用戶交互操作:點(diǎn)擊進(jìn)入直播間a、發(fā)送彈幕、贈(zèng)送禮物等都通過(guò)打點(diǎn)方式記錄在打點(diǎn)服務(wù)器中,形成日志數(shù)據(jù),所述日志數(shù)據(jù)中記錄下了這一系列用戶交互操作的發(fā)生時(shí)間、所處頁(yè)面url(uniformresourcelocator,統(tǒng)一資源定位符)。通過(guò)解析url,可得到所述交互操作是針對(duì)哪個(gè)列表頁(yè)面或哪個(gè)直播間實(shí)施的。
當(dāng)用戶在這一系列操作中出現(xiàn)問(wèn)題,例如,進(jìn)入所述直播間的時(shí)間過(guò)長(zhǎng)(即所述直播間頁(yè)面的加載頁(yè)面過(guò)長(zhǎng))、或是彈幕、禮物發(fā)送不出去,用戶通過(guò)反饋?lái)?yè)面上傳反饋信息,所述反饋信息中攜帶有所述客戶端型號(hào)以及操作系統(tǒng)等信息。
在后續(xù)模擬時(shí),就可以根據(jù)客戶端上傳的所述客戶端型號(hào)榮耀8、操作系統(tǒng)android7.0以及由ip地址解析得到的連接網(wǎng)絡(luò)類(lèi)型、網(wǎng)絡(luò)運(yùn)營(yíng)商、終端所處地域等信息模擬出一個(gè)貼近真實(shí)的應(yīng)用運(yùn)行的軟硬件環(huán)境,在該模擬出的軟硬件環(huán)境下,根據(jù)所述日志數(shù)據(jù)記錄的用戶對(duì)熊貓直播app的一系列操作來(lái)執(zhí)行所述熊貓直播app,一旦在模擬過(guò)程中在某一執(zhí)行位置處出現(xiàn)異常,就可以判斷出該位置即為用戶故障出現(xiàn)位置,后續(xù)根據(jù)定位出的故障位置分析故障出現(xiàn)原因,以進(jìn)行相應(yīng)的故障維護(hù)或進(jìn)行服務(wù)策略的調(diào)整。
可選地,還可以基于多個(gè)客戶端的日志數(shù)據(jù),統(tǒng)計(jì)出所述應(yīng)用被所述多個(gè)客戶端的用戶操作的次數(shù)最多的時(shí)段。這樣就可以針對(duì)用戶的行為信息來(lái)及時(shí)調(diào)整服務(wù)策略。
進(jìn)一步的,在上述和下述實(shí)施例提供的方法中,還可包括如下步驟:
發(fā)送攜帶有所述異常位置的告警信息。
其中,發(fā)送對(duì)象可以是運(yùn)維人員的終端(如手機(jī)、計(jì)算機(jī))。運(yùn)維人員根據(jù)異常位置即可判斷出異常發(fā)生的原因。當(dāng)然,情況比較復(fù)雜的時(shí)候,運(yùn)維人員可通過(guò)在該異常位置處進(jìn)行排查來(lái)得出異常原因。
本發(fā)明實(shí)施例提供的技術(shù)方案,通過(guò)打點(diǎn)方法將用戶在客戶端運(yùn)行應(yīng)用時(shí)對(duì)應(yīng)用的交互操作進(jìn)行記錄并形成日志數(shù)據(jù),即所述日志數(shù)據(jù)記錄下了該應(yīng)用在客戶端上的具體運(yùn)行過(guò)程,一旦該客戶端在運(yùn)行該應(yīng)用出現(xiàn)故障時(shí),根據(jù)該客戶端上傳的客戶端信息以及網(wǎng)絡(luò)連接信息就可獲知該應(yīng)用的運(yùn)行環(huán)境,這樣,在后續(xù)模擬中,就可以結(jié)合真實(shí)的運(yùn)行環(huán)境來(lái)對(duì)日志數(shù)據(jù)中所記載的運(yùn)行過(guò)程進(jìn)行模擬以定位故障原因,大幅度提高了模擬結(jié)果的準(zhǔn)確性,提高了故障位置定位的精確性。
圖2為本發(fā)明又一實(shí)施例提供的客戶端應(yīng)用運(yùn)行異常分析方法的流程示意圖。如圖2所示,該方法包括:
201、獲取客戶端運(yùn)行應(yīng)用時(shí)基于多個(gè)打點(diǎn)事件產(chǎn)生的日志數(shù)據(jù)。
202、若所述客戶端運(yùn)行所述應(yīng)用時(shí)出現(xiàn)異常,則獲取所述客戶端的客戶端信息及所述客戶端的網(wǎng)絡(luò)連接信息。
203、采用預(yù)設(shè)模型模擬具有所述客戶端信息、網(wǎng)絡(luò)連接信息下的客戶端按照所述日志數(shù)據(jù)記錄的運(yùn)行軌跡執(zhí)行所述應(yīng)用。
204、若按照所述日志數(shù)據(jù)記錄的運(yùn)行軌跡執(zhí)行到一位置所述應(yīng)用輸出的結(jié)果為異常數(shù)據(jù),則輸出所述異常數(shù)據(jù)的執(zhí)行位置即為所述異常出現(xiàn)位置。
其中,上述步驟201、202可參見(jiàn)上述實(shí)施例中的相應(yīng)內(nèi)容,此處不再贅述。
上述步驟203和204對(duì)應(yīng)于上述實(shí)施例中的步驟103。
步驟203中,所述日志數(shù)據(jù)記錄的運(yùn)行軌跡包含:用戶使用所述應(yīng)用進(jìn)行多次操作的操作記錄;其中,所述操作記錄中包含有操作內(nèi)容及操作時(shí)間;操作內(nèi)容為直播視頻播放操作、信息發(fā)表操作或禮物贈(zèng)送操作。
根據(jù)預(yù)設(shè)模型來(lái)模擬具有所述客戶端型號(hào),操作系統(tǒng)、網(wǎng)絡(luò)連接狀態(tài)下的客戶端按照所述日志數(shù)據(jù)中記錄的所述應(yīng)用運(yùn)行軌跡執(zhí)行所述應(yīng)用。
在模擬過(guò)程中,執(zhí)行所述應(yīng)用的運(yùn)行軌跡中的每一位置后,都會(huì)輸出該位置處所述應(yīng)用的響應(yīng)信息,當(dāng)所述響應(yīng)信息為異常數(shù)據(jù)時(shí),則輸出所述異常數(shù)據(jù)的執(zhí)行位置即為所述異常出現(xiàn)位置。
由于主播上傳的直播視頻的碼率、分辨率以及所述主播當(dāng)前觀看人數(shù)都會(huì)直接影響用戶觀看過(guò)程,因此,在進(jìn)行故障分析時(shí),不僅可以獲取出現(xiàn)故障的客戶端運(yùn)行所述應(yīng)用時(shí)的相關(guān)日志數(shù)據(jù),還可以獲取所述出現(xiàn)故障的用戶所處直播間主播的客戶端相關(guān)日志數(shù)據(jù)。
例如:在主播直播過(guò)程中,主播為了能夠提高畫(huà)面的清晰度,會(huì)調(diào)高直播視頻的碼率和分辨率。由于參與到該主播直播間的不同用戶所使用的終端不同、連網(wǎng)狀態(tài)也不同,碼率和分辨率的調(diào)高會(huì)使得某些用戶在觀看該直播間視頻時(shí)發(fā)生卡頓等現(xiàn)象。這時(shí),為了找出卡頓的故障原因,可以去獲取與所述直播間主播的相關(guān)日志數(shù)據(jù),如所述主播客戶端運(yùn)行所述直播應(yīng)用所產(chǎn)生的日志數(shù)據(jù)、以及用戶觀看所述直播間視頻所連接的web服務(wù)器的日志數(shù)據(jù)。根據(jù)所述主播客戶端運(yùn)行所述直播應(yīng)用所產(chǎn)生的日志數(shù)據(jù)可以獲知所述直播對(duì)所述直播應(yīng)用的交互操作,包括更改直播視頻碼率和分辨率等操作,根據(jù)用戶觀看所述直播間視頻所連接的web服務(wù)器的日志數(shù)據(jù)可以獲知所述web服務(wù)器上連接的客戶端數(shù),即負(fù)載狀況。如果所述web服務(wù)器上連接的客戶端的數(shù)量太大,則說(shuō)明故障出現(xiàn)的位置或原因即是所述web服務(wù)器負(fù)載過(guò)重,這時(shí),可以通過(guò)擴(kuò)展web服務(wù)器分擔(dān)一部分客戶端的連接量。如果是因?yàn)樗鲋辈ラg視頻的碼率和分辨率太高導(dǎo)致的視頻卡頓,可以通過(guò)發(fā)送提示消息以提醒所述主播,或是當(dāng)參與到所述直播間的用戶中出現(xiàn)視頻卡頓的用戶占比超過(guò)預(yù)設(shè)閾值時(shí),發(fā)送提示消息以提醒所述主播。
本發(fā)明實(shí)施例提供的技術(shù)方案,通過(guò)打點(diǎn)方法將用戶在客戶端運(yùn)行應(yīng)用時(shí)對(duì)應(yīng)用的交互操作進(jìn)行記錄并形成日志數(shù)據(jù),即所述日志數(shù)據(jù)記錄下了該應(yīng)用在客戶端上的具體運(yùn)行過(guò)程,一旦該客戶端在運(yùn)行該應(yīng)用出現(xiàn)故障時(shí),獲取該客戶端信息以及網(wǎng)絡(luò)連接信息就可獲知該應(yīng)用的運(yùn)行環(huán)境,這樣,在后續(xù)模擬中,就可以結(jié)合真實(shí)的運(yùn)行環(huán)境來(lái)對(duì)日志數(shù)據(jù)中所記載的運(yùn)行過(guò)程進(jìn)行模擬以定位故障原因,大幅度提高了模擬結(jié)果的準(zhǔn)確性,提高了故障位置定位的精確性。
圖3為本發(fā)明一實(shí)施例提供的客戶端應(yīng)用運(yùn)行異常分析裝置的結(jié)構(gòu)示意圖。如圖3所示,該裝置包括:第一獲取模塊301、第二獲取模塊302以及模擬模塊303:
第一獲取模塊301,用于獲取客戶端運(yùn)行應(yīng)用時(shí)基于多個(gè)打點(diǎn)事件產(chǎn)生的日志數(shù)據(jù)。
第二獲取模塊302,用于若所述客戶端運(yùn)行所述應(yīng)用時(shí)出現(xiàn)異常,則獲取所述客戶端的客戶端信息及所述客戶端的網(wǎng)絡(luò)連接信息。
模擬模塊303,用于根據(jù)所述客戶端信息、所述網(wǎng)絡(luò)連接信息及所述日志數(shù)據(jù),模擬所述應(yīng)用運(yùn)行過(guò)程以定位異常位置。
可選地,所述第二獲取模塊,包括:
接收單元,用于接收所述客戶端運(yùn)行所述應(yīng)用時(shí)上傳的所述客戶端信息及ip信息。
解析單元,用于解析所述ip信息,得到所述網(wǎng)絡(luò)連接信息。
其中,所述客戶端信息包括:終端型號(hào)和/或終端的操作系統(tǒng)信息;所述網(wǎng)絡(luò)連接信息包括:終端連接網(wǎng)絡(luò)類(lèi)型、網(wǎng)絡(luò)運(yùn)營(yíng)商、終端所處地域中的一項(xiàng)或多項(xiàng)。
可選地,所述模擬模塊,包括:
執(zhí)行單元,用于采用預(yù)設(shè)模型模擬具有所述客戶端信息、網(wǎng)絡(luò)連接信息下的客戶端按照所述日志數(shù)據(jù)記錄的運(yùn)行軌跡執(zhí)行所述應(yīng)用。
輸出單元,用于若按照所述日志數(shù)據(jù)記錄的運(yùn)行軌跡執(zhí)行到一位置所述應(yīng)用輸出的結(jié)果為異常數(shù)據(jù),則輸出所述異常數(shù)據(jù)的執(zhí)行位置即為所述異常出現(xiàn)位置。
其中,所述日志數(shù)據(jù)記錄的運(yùn)行軌跡包含:用戶使用所述應(yīng)用進(jìn)行多次操作的操作記錄;所述操作記錄中包含有操作內(nèi)容及操作時(shí)間;操作內(nèi)容為直播視頻播放操作、信息發(fā)表操作或禮物贈(zèng)送操作。
可選地,所述裝置,還包括:
統(tǒng)計(jì)模塊,用于基于多個(gè)客戶端的日志數(shù)據(jù),統(tǒng)計(jì)出所述應(yīng)用被所述多個(gè)客戶端的用戶操作的次數(shù)最多的時(shí)段。
本發(fā)明實(shí)施例提供的技術(shù)方案,通過(guò)打點(diǎn)方法將用戶在客戶端運(yùn)行應(yīng)用時(shí)對(duì)應(yīng)用的交互操作進(jìn)行記錄并形成日志數(shù)據(jù),即所述日志數(shù)據(jù)記錄下了該應(yīng)用在客戶端上的具體運(yùn)行過(guò)程,一旦該客戶端在運(yùn)行該應(yīng)用出現(xiàn)故障時(shí),獲取該客戶端信息以及網(wǎng)絡(luò)連接信息就可獲知該應(yīng)用的運(yùn)行環(huán)境,這樣,在后續(xù)模擬中,就可以結(jié)合真實(shí)的運(yùn)行環(huán)境來(lái)對(duì)日志數(shù)據(jù)中所記載的運(yùn)行過(guò)程進(jìn)行模擬以定位故障原因,大幅度提高了模擬結(jié)果的準(zhǔn)確性,提高了故障位置定位的精確性。
這里需要說(shuō)明的是:上述實(shí)施例提供的客戶端應(yīng)用運(yùn)行異常分析裝置可實(shí)現(xiàn)上述方法實(shí)施例中描述的技術(shù)方案,上述各模塊或單元具體實(shí)現(xiàn)的原理可參見(jiàn)上述各方法實(shí)施例中的相應(yīng)內(nèi)容,此處不再贅述。
最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。