故障報告生成方法及相關的系統(tǒng)的制作方法
【專利摘要】本申請公開一種故障報告生成方法及相關的系統(tǒng),其中該方法包括:響應于預設條件,采集描述Web應用故障的故障描述信息;根據(jù)所述故障描述信息生成故障報告。通過本申請能夠客觀和準確地記錄WebApp故障信息,使得WebApp故障實際發(fā)生與故障信息收集之間的信息相對稱,提高了故障收集效率并降低了成本。
【專利說明】故障報告生成方法及相關的系統(tǒng)
【技術領域】
[0001]本申請涉及Web應用故障解決【技術領域】,更具體地涉及一種故障報告生成方法及相關的系統(tǒng)。
【背景技術】
[0002]在移動終端的操作系統(tǒng)中,WebOS (基于Web技術承載App的操作系統(tǒng))具有良好的發(fā)展前景。簡而言之,WebOS就是以承載和運行Web應用(WebApp)為主的操作系統(tǒng),而WebApp是基于Web技術(例如Javascript、CSS和HTML)開發(fā)的應用程序。
[0003]在現(xiàn)有技術中,WebApp發(fā)布到客戶的WebOS設備后,如果發(fā)生故障相對應有如下解決方案:
[0004]( I)軟件崩潰后自動發(fā)送錯誤報告。
[0005]軟件崩潰后自動收集日志信息并發(fā)送給軟件開發(fā)商。該方案的缺陷是:軟件崩潰后只能收集到系統(tǒng)級別的異常信息,并且只適用于軟件崩潰這種系統(tǒng)級故障,對于其他業(yè)務級別的故障無法覆蓋到,具有局限性。
[0006](2)客戶在投訴過程中主觀描述故障信息。
[0007]客戶在投訴過程中通過主觀語言描述故障信息,技術支持人員根據(jù)描述信息重現(xiàn)并解決故障。該方案的缺陷是:客戶的主觀描述往往很難精確定位故障,并且也缺乏其他必要的故障現(xiàn)場環(huán)境信息輔助技術支持人員解決故障。
[0008](3)技術支持人員聯(lián)系客戶并輔助其收集故障信息
[0009]有些疑難故障技術支持人員無法重現(xiàn)故障,需要單獨聯(lián)系客戶,幫助客戶實施收集故障的步驟并取得故障信息。該方案的缺陷是:不但效率低且成本高,并降低客戶體驗。
[0010]通過上述分析可以得知,現(xiàn)有技術的故障解決方案依賴于故障發(fā)生時現(xiàn)場環(huán)境信息的收集。由于故障發(fā)生在客戶的設備上,無法像在測試階段那么容易的進行故障重現(xiàn)和現(xiàn)場信息收集,因此需要由客戶來完成故障的描述(或是由技術支持人員與客戶溝通輔助完成故障信息收集),這導致了故障信息收集不完全或不準確或者成本高且效率低,并在一定程度上降低了客戶使用體驗。
[0011]綜上所述,可知現(xiàn)有技術中存在WebApp故障實際發(fā)生與故障信息收集之間的信息不對稱或WebApp故障收集成本高效率低的技術問題,從而阻礙WebApp在WebOS設備上的良性發(fā)展,因此有必要提出改進的技術方案解決上述問題。
【發(fā)明內容】
[0012]本申請的主要目的在于提供一種故障報告生成方法及相關的系統(tǒng),以解決現(xiàn)有技術中存在的WebApp故障實際發(fā)生與故障信息收集之間的信息不對稱或WebApp故障收集成本高效率低的問題。
[0013]為解決上述技術問題,根據(jù)本申請的一個方面,提供一種故障報告生成方法,其包括:響應于預設條件,采集描述Web應用故障的故障描述信息;根據(jù)所述故障描述信息生成故障報告。
[0014]其中,所述預設條件包括:采集操作開始命令、發(fā)生故障重現(xiàn)操作事件。
[0015]其中,所述采集描述Web應用故障的故障描述信息的步驟,包括:通過監(jiān)控頁面元素的變化采集操作事件信息;通過上下文獲取與操作事件相關的環(huán)境信息。
[0016]其中,所述與操作事件相關的環(huán)境信息包括以下之一或其組合:硬件配置信息、Web應用的版本信息、操作過程截圖、系統(tǒng)日志。
[0017]其中,所述根據(jù)所述故障描述信息生成故障報告的步驟,包括:根據(jù)采集到描述Web應用故障的故障描述信息生成重現(xiàn)故障的操作日志文件;根據(jù)所述重現(xiàn)故障的操作日志文件生成故障報告。
[0018]其中,所述方法還包括:將所述故障報告向故障服務器發(fā)送,以使所述故障服務器對所述故障報告進行處理。
[0019]根據(jù)本申請的另一方面,提供一種故障報告生成系統(tǒng),其包括:采集模塊,用于響應于預設條件,采集描述Web應用故障的故障描述信息;生成模塊,用于根據(jù)所述故障描述信息生成故障報告。
[0020]其中,所述預設條件包括:采集操作開始命令、發(fā)生故障重現(xiàn)操作事件。
[0021]其中,所述采集模塊包括:采集子模塊,用于通過監(jiān)控頁面元素的變化采集操作事件信息;獲取子模塊,用于通過上下文獲取與操作事件相關的環(huán)境信息。
[0022]其中,所述與操作事件相關的環(huán)境信息包括以下之一或其組合:硬件配置信息、Web應用的版本信息、操作過程截圖、系統(tǒng)日志。
[0023]其中,所述生成模塊包括:第一生成子模塊,用于根據(jù)采集到的描述Web應用故障的故障描述信息生成重現(xiàn)故障的操作日志文件;第二生成子模塊,用于根據(jù)所述重現(xiàn)故障的操作日志文件生成故障報告。
[0024]其中,所述系統(tǒng)還包括:故障發(fā)送模塊,用于將所述故障報告向故障服務器發(fā)送,以使所述故障服務器對所述故障報告進行處理。
[0025]本申請還提供一種故障報告處理系統(tǒng),包括上述的故障報告生成系統(tǒng)和故障服務器,故障服務器用于接收所述故障報告,并對所述故障報告進行處理。
[0026]根據(jù)本申請的技術方案,通過在設備上重現(xiàn)故障時自動采集WebApp故障描述信息并生成故障報告,能夠客觀和準確地記錄WebApp故障信息,使得WebApp故障實際發(fā)生與故障信息收集之間的信息相對稱,提高了故障收集效率并降低了成本。
【專利附圖】
【附圖說明】
[0027]此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0028]圖1是根據(jù)本申請實施例的故障報告生成方法的流程圖;
[0029]圖2是根據(jù)本申請一個實施例的故障報告生成系統(tǒng)的結構框圖;
[0030]圖3是根據(jù)本申請另一實施例的故障報告生成系統(tǒng)的結構框圖;以及
[0031]圖4是根據(jù)本申請實施例的故障報告處理系統(tǒng)的結構框圖。
【具體實施方式】
[0032]本申請的主要目的在于,當客戶重現(xiàn)故障時,自動收集WebOS設備上的故障描述信息,在客戶設備的故障現(xiàn)場收集各種解決故障需要的信息;并根據(jù)故障描述信息生成故障報告,形成可視化的故障報告發(fā)送給WebApp服務器(故障服務器),從而輔助開發(fā)者其對故障的統(tǒng)計和分析。
[0033]為使本申請的目的、技術方案和優(yōu)點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0034]根據(jù)本申請的實施例,提供了一種故障報告生成方法。
[0035]需要說明,本申請應用于使用WebOS的終端設備中,包括但不限于手機、PDA(Personal Digital Assistant,個人數(shù)字助理)、平板電腦(PAD)、筆記型計算機、臺式計算機等終端設備。為清楚描述本申請,下面以手機為例進行描述。
[0036]參考圖1,根據(jù)本申請實施例的故障報告生成方法包括如下步驟S102-S104。
[0037]在步驟S102處,響應于預設條件,采集描述Web應用(WebApp)故障的故障描述信息。所述預設條件是進行數(shù)據(jù)采集的開始條件,例如包括:采集操作開始命令、發(fā)生故障重現(xiàn)操作事件等。
[0038]根據(jù)本申請實施例,主要基于WebKit的底層事件的監(jiān)聽機制和對底層設備的訪問能力采集故障描述信息。描述WebApp故障的故障描述信息是指能夠完整地描述WebApp故障的相關信息,具體地,包括但不限于以下信息:引起故障發(fā)生的操作步驟、發(fā)生故障設備的硬件配置、發(fā)生故障WebApp的版本信息、故障發(fā)生過程的截圖、故障發(fā)生過程的系統(tǒng)日志。下面詳細說明各維度信息的來源。
[0039](I)引起故障發(fā)生的操作步驟。
[0040]WebApp基于WebKit引擎進行渲染和運行,WebKit (用于運行WebApp的開源引擎)通過DOM (Document Object Model,文件對象模型)樹來展現(xiàn)軟件頁面各個元素。客戶對WebApp的各種操作對于WebKit來說就是對頁面上各DOM元素的操作事件,例如包括:鼠標按鍵、鼠標單擊、鼠標雙擊、觸屏、拖放、鍵盤按鍵和手勢事件等。在客戶開始重現(xiàn)故障時,在WebKit底層統(tǒng)一監(jiān)聽以上事件,并把事件和具體的DOM元素關聯(lián)起來,通過監(jiān)控頁面元素的變化采集操作事件信息,并按照客戶操作順序形成操作日志。
[0041]例如,用戶對于手機進行操作后,采集操作事件信息并按照客戶操作順序形成以下操作日志文件:
[0042]X: 300y: 400type: touch
[0043]X:300y:400toX:400toY:400type: move
[0044]id:textlname:1nput value:test type:keyboard
[0045]id:buttonlname:1nput type: click
[0046](2)發(fā)生故障設備的硬件配置。
[0047]WebKit直接構建在操作系統(tǒng)之上,因此在WebKit里通過對硬件設備的直接訪問能收集到發(fā)生故障設備的硬件配置信息,包括但不限于:
[0048]屏幕尺寸、屏幕分辨率、各設備型號(例如CPU或GPU等)、內存大小、存儲大小、系統(tǒng)負載。
[0049](3)發(fā)生故障WebApp的版本信息。
[0050]WebApp運行在WebKit之上,因此可以取得WebApp相關的軟件版本信息,包括但不限于:
[0051 ]WebApp包名、WebApp開發(fā)供應商ID、WebApp版本、WebOS版本號。
[0052](4)故障發(fā)生過程的截圖。
[0053]屏幕的截圖可以從系統(tǒng)底層的屏幕文件句柄中獲取,例如在基于Android的系統(tǒng)上屏幕文件句柄的位置為/dev/graphics/fbO,因此需要截圖時讀取此文件句柄,并把讀取的數(shù)據(jù)轉化為圖像格式即可。
[0054]本申請取屏幕截圖的方式可以包括以下兩種方式:一是根據(jù)時間周期截屏,比如每10秒截屏一次;二是根據(jù)事件觸發(fā)截屏,比如在對手機操作時截屏或對硬件配置信息進行截屏。本申請對于截屏的方式不進行限制。
[0055](5)故障發(fā)生過程的系統(tǒng)日志。
[0056]WebApp開發(fā)者為了便于排查問題都會記錄各種級別的日志,因此在客戶開始重現(xiàn)故障時,需要動態(tài)調整日志級別,盡可能多地將提供開發(fā)者的日志文件,并自動收集重現(xiàn)故障這個階段中的系統(tǒng)日志信息。
[0057]在步驟S104處,根據(jù)所述描述信息生成故障報告。
[0058]基于步驟S102采集的故障描述信息,匯總生成結構化的故障報告,能夠基本覆蓋處理一個故障需要獲取的相關信息。
[0059]在本申請的一個實施例中,故障報告包括但不限于以下內容:
[0060].操作步驟
[0061]1、在坐標X:300y:400處觸摸屏幕;
[0062]2、從坐標 x:300y:400 劃屏至坐標 x:400y:400 ;
[0063]3、在id=textl的輸入框中輸入test ;
[0064]4、單擊 id=buttonl 的按鈕;
[0065].硬件配置
[0066]*屏幕尺寸:4.7寸;
[0067]* 屏幕分辨率:1280*960 ;
[0068]*各設備型號:cpu高通4核;
[0069]*內存大小:2G ;
[0070]*存儲大小:16G;
[0071]*系統(tǒng)負載:cpu占用率=35%load=0.5內存占用率=65%存儲使用量=75% ;
[0072].軟件版本
[0073]^ffebApp 包名:com.yunos.browser ;
[0074]*WebApp 開發(fā)供應商 ID:developerl ;
[0075]*WebApp 版本:vl.0 ;
[0076]*WebOS 版本:yunos vl.1 ;
[0077].截圖
[0078]?系統(tǒng)日志
[0079]然后,將生成的故障報告發(fā)送至故障服務器(或WebApp服務器),從而使故障服務器對故障報告進行處理。具體地,故障服務器先按照WebApp包名和開發(fā)供應商ID的維度確定處理此故障的供應商。然后將故障報告的各維度信息作為故障的特征值進行分類,通過分類有助于WebApp故障處理人員快速處理故障。比如,通過對操作步驟進行相似性比較,能區(qū)分出類似的故障,如果此類故障已做處理,就能將解決方案快速反饋給客戶。
[0080]通過上述實施例,能夠客觀和準確的記錄WebApp故障信息,使得WebApp故障實際發(fā)生與故障信息收集之間的信息相對稱,提高了故障收集效率并降低了成本。
[0081]根據(jù)本申請實施例,還提供了一種故障報告生成系統(tǒng),該故障報告生成系統(tǒng)用于使用WebOS的終端設備中,包括但不限于手機、PDA (Personal Digital Assistant,個人數(shù)字助理)、平板電腦(PAD)、筆記型計算機、臺式計算機等終端設備。
[0082]圖2是根據(jù)本申請實施例的故障報告生成系統(tǒng)的結構框圖,如圖2所示,其至少可以包括:采集模塊110和生成模塊120,下面詳細描述各模塊的結構和功能。
[0083]米集模塊110可以用于響應于預設條件,米集描述WebApp故障的故障描述信息。其中,所述預設條件包括但不限于:采集操作開始命令、發(fā)生故障重現(xiàn)操作事件。參考圖3,所述采集模塊110進一步包括:采集子模塊112,用于通過監(jiān)控頁面元素的變化采集操作事件信息;獲取子模塊114,用于通過上下文獲取與操作事件相關的環(huán)境信息。其中,所述與操作事件相關的環(huán)境信息包括以下之一或其組合:硬件配置信息、WebApp的版本信息、操作過程截圖、系統(tǒng)日志。具體地各維度的環(huán)境信息請參考本文之前的描述。
[0084]參考圖2和圖3,生成模塊120可以與采集模塊110相耦接,用于根據(jù)采集模塊10米集的故障描述信息生成故障報告。生成模塊120可以進一步包括:第一生成子模塊122,用于根據(jù)采集到的描述WebApp故障的故障描述信息生成重現(xiàn)故障的操作日志文件;第二生成子模塊124,用于根據(jù)所述重現(xiàn)故障的操作日志文件生成故障報告。
[0085]繼續(xù)參考圖3,根據(jù)本申請實施例的故障報告生成系統(tǒng)還包括:故障發(fā)送模塊130,其與生成模塊120相耦接,用于將生成模塊120生成的故障報告向故障服務器發(fā)送,以使所述故障服務器對所述故障報告進行處理。
[0086]根據(jù)本申請實施例,還提供一種故障報告處理系統(tǒng)。圖4是根據(jù)本申請實施例的故障報告處理系統(tǒng)的結構框圖,如圖4所示,該系統(tǒng)包括:故障報告生成系統(tǒng)10和故障服務器20,其中,故障報告生成系統(tǒng)10的結構和連接關系請參考圖2和圖3所示,此處不再贅述。
[0087]故障服務器20與故障報告生成系統(tǒng)10相耦接,用于接收所述故障報告,并對所述故障報告進行處理。具體地,障服務器會先按照WebApp包名和開發(fā)供應商ID的維度確定處理此故障的供應商。然后將故障報告的各維度信息作為故障的特征值進行分類,通過分類有助于WebApp故障處理人員快速處理故障。比如,通過對操作步驟進行相似性比較,能區(qū)分出類似的故障,如果此類故障已做處理,就能將解決方案快速反饋給客戶。
[0088]在實際實施中,故障服務器可以是單獨設置的服務器,也可以與WebApp服務器合一設置,本申請對此不進行限制。
[0089]本申請的方法的操作步驟與系統(tǒng)的結構特征對應,可以相互參照,不再一一贅述。
[0090]綜上所述,根據(jù)本申請的上述技術方案,通過在設備上重現(xiàn)故障時自動采集WebApp故障描述信息并生成故障報告,能夠客觀和準確地記錄WebApp故障信息,使得WebApp故障實際發(fā)生與故障信息收集之間的信息相對稱,提高了故障收集效率并降低了成本。
[0091]在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網絡接口和內存。
[0092]內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內存是計算機可讀介質的示例。
[0093]計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結構、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質的例子包括,但不限于相變內存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitory media),如調制的數(shù)據(jù)信號和載波。
[0094]還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
[0095]本領域技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0096]以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內。
【權利要求】
1.一種故障報告生成方法,其特征在于,包括: 響應于預設條件,采集描述Web應用故障的故障描述信息; 根據(jù)所述故障描述信息生成故障報告。
2.根據(jù)權利要求1所述的方法,其特征在于,所述預設條件包括:采集操作開始命令、發(fā)生故障重現(xiàn)操作事件。
3.根據(jù)權利要求1所述的方法,其特征在于,所述采集描述Web應用故障的故障描述信息的步驟,包括: 通過監(jiān)控頁面元素的變化采集操作事件信息; 通過上下文獲取與操作事件相關的環(huán)境信息。
4.根據(jù)權利要求3所述的方法,其特征在于,所述與操作事件相關的環(huán)境信息包括以下之一或其組合: 硬件配置信息、Web應用的版本信息、操作過程截圖、系統(tǒng)日志。
5.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述故障描述信息生成故障報告的步驟,包括: 根據(jù)采集到描述Web應用故障的故障描述信息生成重現(xiàn)故障的操作日志文件; 根據(jù)所述重現(xiàn)故障的操作日志文件生成故障報告。
6.根據(jù)權利要求1至5中任一項所述的方法,其特征在于,還包括: 將所述故障報告向故障服務器發(fā)送,以使所述故障服務器對所述故障報告進行處理。
7.一種故障報告生成系統(tǒng),其特征在于,包括: 采集模塊,用于響應于預設條件,采集描述Web應用故障的故障描述信息; 生成模塊,用于根據(jù)所述故障描述信息生成故障報告。
8.根據(jù)權利要求7所述的系統(tǒng),其特征在于,所述預設條件包括:采集操作開始命令、發(fā)生故障重現(xiàn)操作事件。
9.根據(jù)權利要求7所述的系統(tǒng),其特征在于,所述采集模塊包括: 采集子模塊,用于通過監(jiān)控頁面元素的變化采集操作事件信息; 獲取子模塊,用于通過上下文獲取與操作事件相關的環(huán)境信息。
10.根據(jù)權利要求9所述的系統(tǒng),其特征在于,所述與操作事件相關的環(huán)境信息包括以下之一或其組合: 硬件配置信息、Web應用的版本信息、操作過程截圖、系統(tǒng)日志。
11.根據(jù)權利要求7所述的系統(tǒng),其特征在于,所述生成模塊包括: 第一生成子模塊,用于根據(jù)采集到的描述Web應用故障的故障描述信息生成重現(xiàn)故障的操作日志文件; 第二生成子模塊,用于根據(jù)所述重現(xiàn)故障的操作日志文件生成故障報告。
12.根據(jù)權利要求7所述的系統(tǒng),其特征在于,還包括: 故障發(fā)送模塊,用于將所述故障報告向故障服務器發(fā)送,以使所述故障服務器對所述故障報告進行處理。
13.一種故障報告處理系統(tǒng),其特征在于,包括根據(jù)權利要求7至12中任一項所述的故障報告生成系統(tǒng),還包括: 故障服務器,用于接收所述故障報告,并對所述故障報告進行處理。
【文檔編號】H04L12/24GK104348658SQ201310343816
【公開日】2015年2月11日 申請日期:2013年8月8日 優(yōu)先權日:2013年8月8日
【發(fā)明者】袁志俊 申請人:阿里巴巴集團控股有限公司