應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法、服務(wù)器及終端的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及計(jì)算機(jī)技術(shù)領(lǐng)域,特別設(shè)及一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法、服務(wù) 器及終端。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,出現(xiàn)了越來(lái)越多的應(yīng)用軟件。在應(yīng)用軟件的使用過(guò) 程中,可能會(huì)由于用戶操作不當(dāng)或其它原因?qū)е聭?yīng)用軟件出現(xiàn)故障。由于應(yīng)用軟件出現(xiàn)故 障的原因與故障出現(xiàn)之前用戶進(jìn)行的操作W及應(yīng)用軟件所處理的數(shù)據(jù)等相關(guān),因此,在確 定故障出現(xiàn)的原因時(shí),會(huì)還原出現(xiàn)故障之前用戶所進(jìn)行的操作W及應(yīng)用軟件所處理的數(shù) 據(jù),W實(shí)現(xiàn)應(yīng)用軟件故障現(xiàn)場(chǎng)的重建過(guò)程,從而便于開(kāi)發(fā)人員分析故障出現(xiàn)原因。
[0003] 相關(guān)技術(shù)在重建應(yīng)用軟件的故障現(xiàn)場(chǎng)時(shí),通常采用的方法為:在檢測(cè)到應(yīng)用軟件 啟動(dòng)后,客戶端記錄用戶所有的輸入操作;當(dāng)應(yīng)用軟件出現(xiàn)故障時(shí),客戶端打包所記錄的所 有輸入操作,并將其提交至服務(wù)器;服務(wù)器根據(jù)所有輸入操作的順序,依次執(zhí)行每個(gè)輸入操 作,W模擬用戶在客戶端的操作,直至應(yīng)用軟件出現(xiàn)故障時(shí)結(jié)束。
[0004] 在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)至少存在W下問(wèn)題:
[0005] 由于用戶在操作應(yīng)用軟件時(shí),會(huì)進(jìn)行很多種輸入操作,因此,客戶端記錄的輸入操 作會(huì)有很多個(gè),在此基礎(chǔ)上上,服務(wù)器根據(jù)所記錄的所有用戶操作進(jìn)行故障現(xiàn)場(chǎng)的重建時(shí), 需要執(zhí)行的操作的數(shù)量巨大,導(dǎo)致故障現(xiàn)場(chǎng)重建的效率比較低。
【發(fā)明內(nèi)容】
[0006] 為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方 法、服務(wù)器及終端。所述技術(shù)方案如下:
[0007] 第一方面,提供了一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法,所述方法包括:
[000引獲取故障現(xiàn)場(chǎng)數(shù)據(jù),所述故障現(xiàn)場(chǎng)數(shù)據(jù)包括運(yùn)行階段標(biāo)識(shí)和運(yùn)行過(guò)程的操作指令 集,所述操作指令集包括任一運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)時(shí)對(duì)應(yīng)用軟件進(jìn)行的輸 入操作所對(duì)應(yīng)的操作指令;
[0009] 基于所述運(yùn)行階段標(biāo)識(shí),初始化至所述運(yùn)行階段的起始運(yùn)行狀態(tài);
[0010] 依次讀取所述操作指令集中的各個(gè)操作指令,執(zhí)行所述運(yùn)行階段的起始運(yùn)行狀態(tài) 至故障出現(xiàn)過(guò)程中的各個(gè)輸入操作,直至出現(xiàn)故障時(shí)結(jié)束。
[0011] 第二方面,提供了一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法,所述方法包括:
[0012] 獲取故障現(xiàn)場(chǎng)數(shù)據(jù),所述故障現(xiàn)場(chǎng)數(shù)據(jù)包括運(yùn)行階段標(biāo)識(shí)和運(yùn)行過(guò)程的操作指令 集,所述操作指令集包括任一運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)過(guò)程中對(duì)應(yīng)用軟件進(jìn)行 的輸入操作所對(duì)應(yīng)的操作指令;
[0013] 將所述故障現(xiàn)場(chǎng)數(shù)據(jù)發(fā)送至服務(wù)器,使所述服務(wù)器基于所述運(yùn)行階段標(biāo)識(shí),初始 化至所述運(yùn)行階段的起始運(yùn)行狀態(tài),并依次讀取所述操作指令集中的各個(gè)操作指令,執(zhí)行 所述運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)過(guò)程中的各個(gè)輸入操作,直至出現(xiàn)故障時(shí)結(jié)束。
[0014] 第=方面,提供了一種服務(wù)器,所述服務(wù)器包括:
[0015] 獲取模塊,用于獲取故障現(xiàn)場(chǎng)數(shù)據(jù),所述故障現(xiàn)場(chǎng)數(shù)據(jù)包括運(yùn)行階段標(biāo)識(shí)和運(yùn)行 過(guò)程的操作指令集,所述操作指令集包括任一運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)時(shí)對(duì)應(yīng) 用軟件進(jìn)行的輸入操作所對(duì)應(yīng)的操作指令;
[0016] 初始化模塊,用于基于所述運(yùn)行階段標(biāo)識(shí),初始化至所述運(yùn)行階段的起始運(yùn)行狀 態(tài);
[0017] 執(zhí)行模塊,用于依次讀取所述操作指令集中的各個(gè)操作指令,執(zhí)行所述運(yùn)行階段 的起始運(yùn)行狀態(tài)至故障出現(xiàn)過(guò)程中的各個(gè)輸入操作,直至出現(xiàn)故障時(shí)結(jié)束。
[001引第四方面,提供了一種終端,所述終端包括:
[0019] 獲取模塊,用于獲取故障現(xiàn)場(chǎng)數(shù)據(jù),所述故障現(xiàn)場(chǎng)數(shù)據(jù)包括運(yùn)行階段標(biāo)識(shí)和運(yùn)行 過(guò)程的操作指令集,所述操作指令集包括任一運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)過(guò)程中 對(duì)應(yīng)用軟件進(jìn)行的輸入操作所對(duì)應(yīng)的操作指令;
[0020] 發(fā)送模塊,用于將所述故障現(xiàn)場(chǎng)數(shù)據(jù)發(fā)送至服務(wù)器,使所述服務(wù)器基于所述運(yùn)行 階段標(biāo)識(shí),初始化至所述運(yùn)行階段的起始運(yùn)行狀態(tài),并依次讀取所述操作指令集中的各個(gè) 操作指令,執(zhí)行所述運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)過(guò)程中的各個(gè)輸入操作,直至出 現(xiàn)故障時(shí)結(jié)束。
[0021] 本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
[0022] 通過(guò)獲取包括運(yùn)行階段標(biāo)識(shí)和操作指令集的故障現(xiàn)場(chǎng)數(shù)據(jù),并基于運(yùn)行階段標(biāo)識(shí) 初始化運(yùn)行階段的起始運(yùn)行狀態(tài),W實(shí)現(xiàn)從應(yīng)用軟件任一運(yùn)行階段的起始運(yùn)行狀態(tài)開(kāi)始進(jìn) 行故障現(xiàn)場(chǎng)的重建。由于從任一運(yùn)行階段的起始運(yùn)行狀態(tài)開(kāi)始所對(duì)應(yīng)的輸入操作的數(shù)量, 相對(duì)于從應(yīng)用軟件啟動(dòng)時(shí)的所有輸入操作的數(shù)量來(lái)說(shuō)大大減少,避免了重建故障現(xiàn)場(chǎng)的過(guò) 程中過(guò)多的輸入操作,提高了重建故障現(xiàn)場(chǎng)的效率。
【附圖說(shuō)明】
[0023] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于 本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可W根據(jù)該些附圖獲得其他 的附圖。
[0024] 圖1是本發(fā)明一實(shí)施例提供的一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法所設(shè)及的實(shí)施 環(huán)境示意圖;
[0025] 圖2是本發(fā)明另一實(shí)施例提供的一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法流程圖;
[0026] 圖3是本發(fā)明另一實(shí)施例提供的一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法流程圖;
[0027] 圖4是本發(fā)明另一實(shí)施例提供的一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法流程圖;
[002引圖5是本發(fā)明另一實(shí)施例提供的一種終端獲取故障現(xiàn)場(chǎng)數(shù)據(jù)的過(guò)程示意圖;
[0029] 圖6是本發(fā)明另一實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;
[0030] 圖7是本發(fā)明另一實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;
[0031] 圖8是本發(fā)明另一實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;
[0032] 圖9是本發(fā)明另一實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;
[0033] 圖10是本發(fā)明另一實(shí)施例提供的一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建系統(tǒng)結(jié)構(gòu)示意 圖。
【具體實(shí)施方式】
[0034] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方 式作進(jìn)一步地詳細(xì)描述。
[0035] 如圖1所示,其示出了本發(fā)明實(shí)施例提供的應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法所設(shè)及 的實(shí)施環(huán)境示意圖。如圖1所示,該實(shí)施環(huán)境包括服務(wù)器101和終端102。其中,服務(wù)器101 和終端102通過(guò)無(wú)線網(wǎng)絡(luò)或有線網(wǎng)絡(luò)連接。
[0036] 具體地,終端102上可W運(yùn)行應(yīng)用軟件,且在應(yīng)用軟件的運(yùn)行過(guò)程中出現(xiàn)了故障。 為了便于確定故障原因,服務(wù)器101需要重建故障現(xiàn)場(chǎng)。服務(wù)器101在進(jìn)行故障現(xiàn)場(chǎng)重建 時(shí),先獲取故障現(xiàn)場(chǎng)數(shù)據(jù),并根據(jù)故障現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行重建。
[0037] 本發(fā)明實(shí)施例假設(shè)服務(wù)器101也可W運(yùn)行應(yīng)用軟件,且服務(wù)器101可W根據(jù)需要 在應(yīng)用軟件的各個(gè)不同的運(yùn)行階段之間切換,也可W直接跳轉(zhuǎn)至應(yīng)用軟件的任一個(gè)運(yùn)行階 段。因此,服務(wù)器101可W為一個(gè)具有虛擬機(jī)功能的設(shè)備。
[0038] 終端102可W是智能手機(jī)、平板電腦、電子書閱讀器、MP3(MovingPicture ExpertsGroupAudioLayerIII,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)播放器、MP4(Moving PicUireExpertsGroupAudioLayerIV,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)播放器、膝 上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)及可穿戴智能設(shè)備,如智能手環(huán)等。
[0039] 具體的應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法詳見(jiàn)下述各個(gè)實(shí)施例:
[0040] 圖2是根據(jù)一示例性實(shí)施例提供的一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法流程圖。W 服務(wù)器執(zhí)行本發(fā)明實(shí)施例提供的方法為例,參見(jiàn)圖2,本發(fā)明實(shí)施例提供的方法流程包括:
[0041] 201、獲取故障現(xiàn)場(chǎng)數(shù)據(jù),故障現(xiàn)場(chǎng)數(shù)據(jù)包括運(yùn)行階段標(biāo)識(shí)和運(yùn)行過(guò)程的操作指令 集,其中,操作指令集包括任一運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)時(shí)對(duì)應(yīng)用軟件進(jìn)行的 輸入操作所對(duì)應(yīng)的操作指令。
[0042] 202、基于運(yùn)行階段標(biāo)識(shí),初始化至運(yùn)行階段的起始運(yùn)行狀態(tài)。
[0043] 203、依次讀取操作指令集中的各個(gè)操作指令,執(zhí)行運(yùn)行階段的起始運(yùn)行狀態(tài)至故 障出現(xiàn)過(guò)程中的各個(gè)輸入操作,直至出現(xiàn)故障時(shí)結(jié)束。
[0044] 本發(fā)明實(shí)施例提供的方法,通過(guò)獲取包括運(yùn)行階段標(biāo)識(shí)和操作指令集的故障現(xiàn)場(chǎng) 數(shù)據(jù),并基于運(yùn)行階段標(biāo)識(shí)初始化運(yùn)行階段的起始運(yùn)行狀態(tài),W實(shí)現(xiàn)從應(yīng)用軟件任一運(yùn)行 階段的起始運(yùn)行狀態(tài)開(kāi)始進(jìn)行故障現(xiàn)場(chǎng)的重建。由于從任一運(yùn)行階段的起始運(yùn)行狀態(tài)開(kāi) 始所對(duì)應(yīng)的輸入操作的數(shù)量,相對(duì)于從應(yīng)用軟件啟動(dòng)時(shí)的所有輸入操作的數(shù)量來(lái)說(shuō)大大減 少,避免了重建故障現(xiàn)場(chǎng)的過(guò)程中過(guò)多的輸入操作,提高了重建故障現(xiàn)場(chǎng)的效率。
[0045] 在另一個(gè)實(shí)施例中,獲取故障現(xiàn)場(chǎng)數(shù)據(jù),包括:
[0046] 接收故障現(xiàn)場(chǎng)數(shù)據(jù),其中,故障現(xiàn)場(chǎng)數(shù)據(jù)為各個(gè)客戶端對(duì)初始現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行編碼 得到的數(shù)據(jù),初始現(xiàn)場(chǎng)數(shù)據(jù)為從運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)過(guò)程中對(duì)應(yīng)用軟件所 進(jìn)行的各個(gè)輸入操作。
[0047] 在另一個(gè)實(shí)施例中,獲取故障現(xiàn)場(chǎng)數(shù)據(jù),包括;
[0048] 接收各個(gè)客戶端獲取到的初始現(xiàn)場(chǎng)數(shù)據(jù),其中,初始現(xiàn)場(chǎng)數(shù)據(jù)為從起始運(yùn)行狀態(tài) 至故障出現(xiàn)過(guò)程中對(duì)應(yīng)用軟件所進(jìn)行的各個(gè)輸入操作;
[0049] 對(duì)初始現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行編碼,得到故障現(xiàn)場(chǎng)數(shù)據(jù)。
[0050] 圖3是根據(jù)一示例性實(shí)施例提供的一種應(yīng)用軟件故障現(xiàn)場(chǎng)的重建方法流程圖。W 終端執(zhí)行本發(fā)明實(shí)施例提供的方法為例,參見(jiàn)圖3,本發(fā)明實(shí)施例提供的方法流程包括:
[0051] 301、獲取故障現(xiàn)場(chǎng)數(shù)據(jù),其中,故障現(xiàn)場(chǎng)數(shù)據(jù)包括運(yùn)行階段標(biāo)識(shí)和運(yùn)行過(guò)程的操 作指令集,操作指令集包括任一運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)過(guò)程中對(duì)應(yīng)用軟件進(jìn) 行的輸入操作所對(duì)應(yīng)的操作指令。
[0化2] 302、將故障現(xiàn)場(chǎng)數(shù)據(jù)發(fā)送至服務(wù)器,使服務(wù)器基于運(yùn)行階段標(biāo)識(shí),初始化至運(yùn)行 階段的起始運(yùn)行狀態(tài),并依次讀取操作指令集中的各個(gè)操作指令,執(zhí)行運(yùn)行階段的起始運(yùn) 行狀態(tài)至故障出現(xiàn)過(guò)程中的各個(gè)輸入操作,直至出現(xiàn)故障時(shí)結(jié)束。
[0053] 本發(fā)明實(shí)施例提供的方法,通過(guò)獲取并向服務(wù)器發(fā)送包括運(yùn)行階段標(biāo)識(shí)和操作指 令集的故障現(xiàn)場(chǎng)數(shù)據(jù),使服務(wù)器基于運(yùn)行階段標(biāo)識(shí)初始化運(yùn)行階段的起始運(yùn)行狀態(tài),W實(shí) 現(xiàn)從應(yīng)用軟件任一運(yùn)行階段的起始運(yùn)行狀態(tài)開(kāi)始進(jìn)行故障現(xiàn)場(chǎng)的重建。由于從任一運(yùn)行階 段的起始運(yùn)行狀態(tài)開(kāi)始所對(duì)應(yīng)的輸入操作的數(shù)量,相對(duì)于從應(yīng)用軟件啟動(dòng)時(shí)的所有輸入操 作的數(shù)量來(lái)說(shuō)大大減少,避免了重建故障現(xiàn)場(chǎng)的過(guò)程中過(guò)多的輸入操作,提高了重建故障 現(xiàn)場(chǎng)的效率。
[0化4] 在另一個(gè)實(shí)施例中,獲取故障現(xiàn)場(chǎng)數(shù)據(jù),包括:
[0化5] 根據(jù)應(yīng)用軟件的運(yùn)行階段,記錄運(yùn)行階段標(biāo)識(shí);
[0化6] 從運(yùn)行階段的起始運(yùn)行狀態(tài)開(kāi)始,依次記錄對(duì)應(yīng)用軟件的各個(gè)輸入操作,直至故 障出現(xiàn)時(shí),將從運(yùn)行階段的起始運(yùn)行狀態(tài)至故障出現(xiàn)過(guò)程中記錄的所有輸入操作作為初始 現(xiàn)場(chǎng)數(shù)據(jù);
[0057] 對(duì)初始現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行編碼,得到操作指令集;
[0化引根