本說明書涉及用于網絡應用的事件報告。
背景技術:
::基于云的軟件應用指的是通過網絡遞送內容和功能的基于網絡的應用,一般是遞送到一個可能很大且多樣化的用戶集合。由于用戶的數目和多樣性,基于云的應用的提供者經常難以識別、處理和校正用戶經歷的故障和其他事件。例如,給定的基于云的應用就其構造和/或功能而言可能是復雜的,并且可能被提供給來自一般公眾的用戶,或者私營企業(yè)內的大量用戶。從而用戶具有的技術知識的范圍可能很寬,并且用于訪問基于云的應用的硬件/軟件平臺的范圍也可能很寬。另外,就報告對于基于云的應用可能發(fā)生的事件的方式、能力和意愿而言,用戶經常會具有多樣性。另外,可能需要報告的信息的量本身可能是龐大且復雜的。由于這些和相關的原因,基于云的應用的提供者經常難以捕捉表征給定用戶經歷的事件的期望信息,或者甚至難以預測可能要捕捉什么類型或范圍的期望信息。因此,提供者經常難以識別被調查的事件的根本原因,或者難以迅速且完整地解決或以其他方式處理用戶的擔心。類似的問題可在其他情境中發(fā)生,例如在基于云的應用的開發(fā)和/或測試期間。結果,用戶可能對于基于云的應用不滿意,并且對于提供者不滿意。技術實現要素:在本說明書中,在最低限度地牽涉用戶的情況下,在例如瀏覽器應用之類的云應用的用戶或客戶端側迅速且徹底地收集事件數據。取而代之,例如,利用客戶端側JavaScript應用編程接口(ApplicationProgrammingInterface,API)和相關技術收集事件數據,以便例如連同設備數據、性能數據和日志數據一起為瀏覽器應用的頁面收集完整的超文本標記語言(Hyper-TextMarkupLanguage,HTML)文檔對象模型(DocumentObjectModel,DOM)。也可提供注釋工具以使得用戶能夠從視覺上注釋被調查的頁面,例如利用用戶可用的原生工具。然后,可使用渲染模塊來渲染所關注的頁面以供事件管理器分析,包括注釋。這樣,事件管理器可提供報告的事件的再現或模擬的版本,連同其他收集的相關事件數據。因此,事件管理器可有效地分析事件并從而使得能夠為用戶迅速且完整地解決事件。根據一個一般方面,一種計算機程序產品被有形地體現在非暫態(tài)計算機可讀存儲介質上并且包括指令,這些指令當被執(zhí)行時被配置為使得至少一個計算設備從瀏覽器的用戶接收事件報告請求,該瀏覽器在客戶端系統(tǒng)上運行網絡應用,從而在瀏覽器中提供頁面,并且啟動網絡應用的信息收集模塊來收集事件數據,事件數據包括與頁面的用戶交互、與執(zhí)行網絡應用相關聯的客戶端系統(tǒng)特征和操作以及頁面的文檔對象模型(DOM)。這些指令當被執(zhí)行時還被配置為將事件數據發(fā)送到服務器側事件管理器,利用服務器側事件管理器的渲染引擎渲染文檔對象模型,并且利用服務器側事件管理器的事件分析器顯示收集的用戶交互、以及客戶端系統(tǒng)特征和操作、以及渲染的文檔對象模型。根據另一個一般方面,一種用于執(zhí)行存儲在非暫態(tài)計算機可讀存儲介質上并可被至少一個處理器執(zhí)行的指令的由計算機實現的方法包括從瀏覽器的用戶接收事件報告請求,該瀏覽器在客戶端系統(tǒng)上運行網絡應用,從而在瀏覽器中提供頁面,并且啟動網絡應用的信息收集模塊來收集事件數據,事件數據包括與頁面的用戶交互、與執(zhí)行網絡應用相關聯的客戶端系統(tǒng)特征和操作以及頁面的文檔對象模型(DOM)。該方法還包括提供網絡應用的注釋工具來從用戶接收頁面的注釋以包括在事件數據中,利用渲染引擎渲染文檔對象模型和注釋,并且顯示收集的用戶交互、以及客戶端系統(tǒng)特征和操作以及渲染的文檔對象模型和注釋。根據另一個一般方面,一種系統(tǒng)包括記錄在非暫態(tài)計算機可讀存儲介質上并可被至少一個處理器執(zhí)行的指令。該系統(tǒng)包括:信息收集模塊,被配置為從瀏覽器的用戶接收事件報告請求,該瀏覽器在客戶端系統(tǒng)上運行網絡應用,從而在瀏覽器中提供頁面,該信息收集模塊被配置為收集事件數據,事件數據包括與頁面的用戶交互、與執(zhí)行網絡應用相關聯的客戶端系統(tǒng)特征和操作以及頁面的文檔對象模型(DOM)。該系統(tǒng)包括被配置為從用戶接收頁面的注釋來包括在事件數據中的網絡應用的注釋工具,以及被配置為接收事件數據的服務器側事件管理器。服務器側事件管理器包括被配置為渲染文檔對象模型和注釋的渲染引擎,以及被配置為顯示收集的用戶交互、以及客戶端系統(tǒng)特征和操作以及渲染的文檔對象模型和注釋的事件分析器。一個或多個實現方式的細節(jié)在附圖和以下描述中記載。其他特征將從說明書和附圖以及從權利要求中清楚顯現。附圖說明圖1是用于網絡應用的基于頁面的事件相關的系統(tǒng)的框圖。圖2是圖1的系統(tǒng)的信息收集模塊的框圖。圖3是圖1的系統(tǒng)的渲染引擎的框圖。圖4是圖1的系統(tǒng)的事件分析器提供的事件分析頁面的屏幕截圖。圖5圖示了圖1的系統(tǒng)的注釋工具的示例操作。圖6是圖示出圖1的系統(tǒng)的示例操作的流程圖。具體實施方式圖1是用于網絡應用的基于頁面的事件相關的系統(tǒng)100的框圖。在系統(tǒng)100中,事件管理器102正與瀏覽器104通信,瀏覽器104運行網絡應用106,包括在瀏覽器104內提供頁面108。未示出的用戶與頁面108交互以便獲得期望的信息和/或功能。當用戶經歷事件,例如故障或感知到的故障時,如下文詳細描述的,該事件可被報告給事件管理器102,并且在一些實現方式中被利用事件管理器102的客戶端側110和服務器側112組件兩者來加以分析。這樣,事件可被迅速且完整地報告并解決,并且對于用戶和在對報告的事件進行協助時可涉及的任何人類事件解決人員(在圖1中也沒有示出)的需求是最低限度的。在圖1的示例中,瀏覽器104代表幾乎任何當前或未來的被設計為例如通過網絡交換信息的瀏覽器應用,所述網絡例如是因特網、萬維網或其他公共或私有網絡。例如,這種瀏覽器可被配置為從用戶接收輸入,從遠程計算機取回內容,渲染取回的內容,并且接收進一步輸入。瀏覽器104也應當被理解為包括幾乎任何可操作來執(zhí)行網絡應用106的應用,即使主要是設計用于其他目的的(例如,文檔處理,或圖像處理)。當然,瀏覽器的多種類型和示例是公知的,并且這種瀏覽器的傳統(tǒng)特征在這里不作詳細描述,除了對于圖1的系統(tǒng)100的理解是必要的或者有幫助的以外。瀏覽器104的許多特征和優(yōu)點之一是其執(zhí)行網絡應用106的能力,網絡應用106一般指的是至少部分在服務器側112提供的應用,不要求在客戶端側110的完全安裝,或者對客戶端側112的計算資源的完全使用。這種網絡應用經常被稱為或者包括基于云的應用,或者web應用。理想情況下,用戶接受這種應用的特征和功能的益處,而不必在本地安裝關聯的軟件,并且具有如下益處,即有適當或期望數量的服務器側計算資源(通常比客戶端側計算資源多得多)分配來實現所關注的網絡應用。相關益處包括假定有服務器側事件解決人員或其他事件解決資源可用,使得在網絡應用106上經歷了困難的用戶將能夠報告事件并且在對事件的解決上接受協助。然而,隨著網絡應用變得更復雜,用戶經常需要提供很大量的信息來描述經歷的事件,這對于用戶來說是耗時且效率低下的。例如,對于事件解決可能有幫助的信息可包括以下示例,其中的許多在下文更詳細論述:正在使用的操作系統(tǒng)(operatingsystem,OS)或設備的當前版本、屏幕/瀏覽器大小、瀏覽器版本、瀏覽器插件、被訪問頁面的頁面歷史、控制臺日志、頁面打開性能時間和存儲器使用情況。對于與頁面——例如頁面108——的視覺外觀相關的事件,用戶經常依賴于第三方工具來捕捉有問題的頁面或屏幕的圖像。另外,用戶難以提供被報告為有問題的屏幕部分的大小(例如,以像素為單位)。另外,對于與網絡應用104的功能的性能時間相關的問題,用戶難以利用外部工具測量準確的性能時間。從而,如上所述,雖然用戶有可能利用現有的事件報告工具描述事件并且甚至發(fā)送有問題的頁面或屏幕的屏幕截圖,但期望用戶能夠利用現有事件報告技術提供對于事件解決可能有幫助的所有類型的信息一般來說是不可行的、不可靠的、效率不高的或者非優(yōu)選的。結果,這種情況下的事件解決可要求事件報告的多次反復,并且對于用戶和事件解決人員兩者都可能是耗時且令人沮喪的。圖1的系統(tǒng)100提供了一種用于事件報告的視覺通信系統(tǒng),包括來自最終用戶(例如,顧客)的事件報告,以及來自在開發(fā)、提供、更新或維護網絡應用106時涉及的各種人員,例如質量保證(qualityassurance,QA)測試人員、項目經理、軟件開發(fā)者和軟件設計者的事件報告。增強的視覺通信降低了開發(fā)成本,簡化了alpha/beta測試并且促進了所有用戶反饋。從以上論述應當清楚,就像瀏覽器104代表任何當前或未來的瀏覽器一樣,網絡應用106代表幾乎任何已知或未來的適合于在圖1的客戶端-服務器體系結構的情境中執(zhí)行的應用。作為具體的而非限制性的示例,網絡應用106可包括與商業(yè)活動或交易、慈善組織、包括學?;驁D書館在內的政府/教育活動或者個人/私人應用(例如,社交媒體應用)相關的應用。具體而言,在商業(yè)應用的領域中,網絡應用106可包括用于達成交易、用于庫存控制、供應鏈管理、財務管理或人歷資源活動的應用,這只是列舉了幾個非窮盡示例。這種應用可主要在服務器側112執(zhí)行,意思是例如計算和其他處理在那里執(zhí)行,并且相關數據也可被存儲在那里。另一方面,也可能客戶端側110的計算資源也可用于執(zhí)行處理并且為數據存儲提供存儲器。在許多情況下,瀏覽器104通過以標記語言的形式接收網絡應用106的內容或其他數據來操作,其中標記語言例如是超文本標記語言(Hyper-TextMarkupLanguage,HTML)或可擴展標記語言(eXtensibleMarkupLanguage,XML)。瀏覽器104隨后以相應標記語言指定的形式渲染內容,從而提供頁面108。如上文剛剛提到的,經常發(fā)生的是用于網絡應用106的各種類型的處理和存儲器存儲出現在客戶端側110。換言之,例如,網絡應用106的內容通常不是被用戶查看的簡單靜態(tài)內容;取而代之,內容經常是高度交互性的,并且能夠接受來自用戶的輸入并提供相應的響應。實際上,對于本文提到的事件報告中的那些類型的困難作出貢獻的經常是這種類型的交互性。具體而言,例如,遞送到瀏覽器104的HTML或XML內容可包括用戶可采取的大量的可能動作,其中這些動作取決于彼此并且只代表可能動作的子集,并且其中用戶可能在任何時點錯誤地嘗試采取不允許的動作。與在瀏覽器104和網絡應用106的頁面108的情境中向用戶提供這種類型的交互體驗相關的一種技術被稱為文檔對象模型(DOM)。一般而言,DOM指的是一類接口,例如應用編程接口(API),其使能與文檔(在傳統(tǒng)的命令法中在一般意義上使用并且包括幾乎任何類型的結構化數據)的交互,其中這種交互包括例如構建文檔、導航文檔結構以及添加、修改或刪除元素和內容。DOM通常與被建模的下層文檔相似,但具有標準化的結構和格式,這種標準化的結構和格式是獨立于語言的并且與許多不同的情境和平臺(例如,不同類型的瀏覽器)兼容,并且在面向對象的編程中的術語對象的通常意義上利用對象。例如,DOM可利用樹結構表示離散文檔元素和其間的關系,并且可定義在這種元素和關系上動作的方法。當瀏覽器——例如瀏覽器104——接收到例如HTML內容時,瀏覽器的布局引擎通常解析HTML以創(chuàng)建相應的DOM,并從而渲染頁面108。隨著用戶與頁面108交互,DOM經常被相應地修改。在圖1的系統(tǒng)100中,網絡應用106的信息收集工具114被配置為例如響應于來自用戶的事件報告而捕捉頁面108的DOM,以用于促進對其的事件響應,這在下文詳細描述。也就是說,作為用于捕捉相關事件數據的一種技術,信息收集模塊108在與用戶進行的事件報告相關聯的時間范圍期間捕捉DOM的當前狀態(tài)。信息收集模塊114還可操作來收集與用于實現瀏覽器104的客戶端側110設備相關的設備數據。如上所述,這種設備數據可包括包含類型和版本在內的OS相關信息,以及關于客戶端側設備的硬件的信息。設備數據還可包括表征屏幕和/或瀏覽器大小以及瀏覽器的類型和版本和可存在的任何關聯的瀏覽器插件、擴展或附件的設備特定信息。信息收集模塊114還可收集性能數據,包括在對頁面108和相關頁面的(一個或多個)訪問期間瀏覽器104的性能,例如頁面打開性能時間和關聯的存儲器使用情況,以及各種類型的日志數據。這種日志數據的示例以及一般而言的信息收集模塊114的更多操作在下文例如結合圖2更詳細描述。在客戶端側110還圖示了注釋工具116。如本文所述,注釋工具116允許了瀏覽器104的用戶利用例如高亮、涂黑、箭頭、像素尺或者幾乎任何類型的視覺標記來結合被報告的事件注釋頁面108以識別和/或表征與被報告的事件相關聯的視覺元素。同樣,注釋工具116的更多細節(jié)在下文例如結合圖5提供。在圖1的示例中,信息收集模塊114和注釋工具116收集的所有事件數據被發(fā)送到服務器側112的事件管理器102的收集服務118。隨后在該示例中利用事件數據倉庫120來存儲事件數據。渲染引擎122隨后能夠取回捕捉的DOM并且再渲染頁面108,以及相應的注釋,以供事件分析器124使用。也就是說,如圖所示,事件分析器124接收渲染的屏幕快照126,其圖示了在所關注的事件期間用戶所經歷的頁面108,包括利用注釋工具116捕捉的任何注釋。渲染引擎122的更多示例操作在下文例如聯系圖3提供。事件分析器124也可取回上文提到的各種類型的事件數據。例如,如圖所示,事件分析器124可訪問額外的DOM相關數據128,例如完整的DOM和表征DOM的數據,包括DOM元素或節(jié)點計數,或者DOM樹的深度或關于DOM的其他結構細節(jié)。如圖還示出的,事件分析器124可取回設備/瀏覽器相關數據130、性能數據132和日志數據134。關于事件分析器124就事件數據120的使用(例如,顯示和分析)而言的操作的額外細節(jié)在下文例如聯系圖4提供。在圖1的示例中,事件管理器102被示為利用至少一個計算設備136來執(zhí)行,該計算設備136包括至少一個處理器138和非暫態(tài)計算機可讀存儲介質140。也就是說,例如,至少一個計算設備136可代表兩個或更多個計算設備,它們可能通過計算機網絡或其他通信接口通信。類似地,至少一個處理器138可代表兩個或更多個處理器,它們可能并行執(zhí)行以通過一種高效且方便的方式提供事件管理器102。非暫態(tài)計算機可讀存儲介質140可代表任何適當的存儲介質,其能夠存儲供至少一個處理器138執(zhí)行的指令,和/或任何相關的或所需的數據,例如事件數據倉庫130的事件數據。當然,圖1的系統(tǒng)100只打算作為在實現事件管理器102時可能必要或有用的硬件和軟件的簡化圖示。如上所述,雖然在圖1的簡化示例中沒有明確圖示,但在系統(tǒng)100中可包括適當的硬件和軟件,例如監(jiān)視器和其他適當的可用于提供瀏覽器104的顯示器或屏幕,其中這種細節(jié)將取決于在客戶端側110使用的(一個或多個)下層計算設備(例如,工作站、桌面電腦、膝上電腦、上網本、筆記本、平板設備或智能電話)的性質而變化。雖然這種硬件本身在圖1的簡化示例中沒有明確圖示,但系統(tǒng)100的各種實現方式可包括硬件/軟件平臺的這些或其他示例。另外,雖然信息收集模塊114和注釋工具116是在客戶端側110圖示的,而渲染引擎122、事件數據倉庫120和事件分析器124是在服務器側112圖示的,但有可能這些各種組件的任何一者的一些或全部可部分或完全在圖1的客戶端-服務器關系的相反側實現。系統(tǒng)100的實現方式的許多其他變化在下文描述,或者將會是顯而易見的。圖2是圖1的系統(tǒng)的信息收集模塊114的框圖。在圖2的示例中,信息追蹤引擎202表示被配置為捕捉上文提到的那些類型的事件數據的客戶端側API。例如,JavaScriptAPI可用于實現信息追蹤引擎202,其中JavaScript指的是已知的動態(tài)編程語言,其執(zhí)行運行時編程行為來控制瀏覽器104的操作。從而,信息追蹤引擎202的JavaScriptAPI指的是用于在渲染頁面108時在這種JavaScript和瀏覽器104之間作為接口的API。另外,信息追蹤引擎202可利用REST式服務,其中REST指的是作為一種提供用于實現可伸縮web服務的技術的軟件體系結構方法的代表性狀態(tài)轉移(REpresentationalStateTransfer)。REST通常利用一般在因特網上用于傳送HTML文檔的超文本傳送協議(HyperTextTransferProtocol,HTTP),并且因此與圖1的系統(tǒng)100的情境是高度兼容的,包括對用于取回和發(fā)送數據的HTTP命令的使用,例如GET、POST、PUT和DELETE,如下文所述。從而,信息追蹤引擎202可與多個組件和數據源相接口以收集本文描述的事件數據。例如,如圖所示,信息追蹤引擎202可使用JavaScriptAPI來與完整的HTMLDOM204接口。另外,用戶代理206指的是代表用戶執(zhí)行的軟件,包括例如識別瀏覽器104、相關OS和其他相關類型的事件數據的一串或一行文本。導航系統(tǒng)208指的是瀏覽器104的導航系統(tǒng),其使得用戶能夠在因特網內以及在網絡應用106內在頁面與頁面間(包括頁面108)移動,從而導航系統(tǒng)208可提供例如用戶的導航歷史。日志系統(tǒng)210可以指用于收集日志數據的一種或多種類型的日志系統(tǒng)。例如,瀏覽器控制臺一般指的是瀏覽器104的調試或差錯控制臺,其中這種控制臺已知按瀏覽器類型而有些變化。一般地,與常規(guī)網頁相關聯的這種控制臺日志信息,例如網絡請求、安全性警告或任何信息性消息,被正執(zhí)行的JavaScript明確記錄。從而,利用如上所述的適當JavaScriptAPI,信息追蹤引擎202可與瀏覽器104的控制臺相接口并且獲得其表征例如其中包含的任何差錯、調試或故障排查消息的日志數據。同時,XMLHTTPREQUEST(XHR)指的是這樣一種API:其被諸如JavaScript之類的腳本語言用來發(fā)送HTTP(或安全HTTP(HTTPS))請求到服務器,并且從服務器接收和加載任何響應回到正使用的腳本中。因此,XHR日志指的是一類用于跟蹤和存儲這種請求/響應對的日志系統(tǒng)。也可利用其他差錯日志,例如表征存儲關于瀏覽器104的活躍例程或子例程的信息的調用棧數據結構的差錯日志。作為信息追蹤引擎202的接口活動的最后示例,圖示了存儲器API212,其可被信息追蹤引擎202訪問來獲得與客戶端側110的存儲器使用情況相關的各種類型的事件數據(例如,瀏覽器104的存儲器要求)。例如,如上所述,這種存儲器數據可涉及在提供網絡應用106和頁面108時被用于執(zhí)行瀏覽器104的活躍進程的存儲器的量。從而,如上文聯系圖1描述、但在圖2的示例中更詳細圖示的,在信息收集模塊114處可收集各種類型的事件數據。例如,如圖所示,連同總DOM節(jié)點計數和DOM深度(216)一起,可收集總HTMLDOM214。另外,可收集關于操作系統(tǒng)、設備硬件、屏幕/瀏覽器大小和瀏覽器版本的設備相關事件數據218。也可收集頁面訪問歷史220和頁面導航性能時間222。最后,在圖2的示例中,可獲得存儲器使用情況224和日志數據220(包括控制臺日志數據、XHR日志數據和差錯日志數據)。利用上文提到的REST式服務體系結構,壓縮引擎228可壓縮各種類型的事件數據214-226。壓縮引擎228從而可將壓縮的事件數據POST到服務器側112的收集服務118。在實踐中,可向網絡應用106提供一個或多個用于啟動事件報告的選擇選項。例如,網絡應用106的按鈕或其他圖標或窗口小部件可被瀏覽器104顯示在頁面108內,并且用戶從而只要通過選擇頁面108的相應事件報告元素就可啟動事件報告。例如,在一些實現方式中,對頁面108的事件報告元素的簡單選擇可執(zhí)行向事件管理器102報告事件數據。在其他示例實現方式中,對事件報告元素的第一次選擇可啟動對事件數據的收集,而對事件報告元素的至少第二次選擇可使得完成事件數據的收集并且相應地將其報告給收集服務118??捎^察到,信息收集模塊114可操作來收集事件數據,而不要求插件或其他第三方工具。尤其,對于注釋工具116,如下文聯系圖3至圖5所述,不需要用于捕捉瀏覽器104的當前顯示的單獨的屏幕截圖捕捉工具,因為事件管理器102的渲染引擎122能夠提供圖1的渲染的屏幕快照126。然而,事件管理器102可與現有的第三方事件報告工具以及被設計為使得開發(fā)者能夠規(guī)劃并實現軟件開發(fā)的第三方工具兼容。圖3是圖1的系統(tǒng)100的渲染引擎122的框圖。如上所述,以及如圖3中所示,頁面108的完整HTMLDOM可作為由信息收集模塊114獲得的事件數據的一部分被提供給渲染管理器304。渲染管理器304可利用一個或多個適當的渲染插件306來幫助重渲染頁面108。例如,雖然以上的簡化示例提到了頁面108是利用HTML和/或XML構造的,但各種額外的或替換的技術可用于構造頁面108,例如層疊樣式表(cascadingstylesheet,CSS),并且特定的相應渲染插件306可被利用來促進渲染特定類型的這種內容。另外,渲染管理器304可與單獨的產品服務器308交互,例如通過向其請求資源,并且接收對資源請求的響應,如圖所示。換言之,例如,在頁面108的用戶在對頁面108的使用期間與特定服務器交互了的場景中,這種交互可被捕捉在HTMLDOM302內。然后,為了重渲染用戶的交互,渲染管理器304可重執(zhí)行用戶經歷的實際請求/響應對。這樣,渲染管理器304可獲得所有必要的信息來將頁面108渲染為圖像310。在圖3的示例中,圖像310被示為可移植網絡圖形(portablenetworkgraphics,PNG)圖像。但是當然,可以使用其他圖像格式,例如jpeg、gif或pdf。如圖3的示例中所示,所得到的圖像314可與注釋工具116捕捉的注釋信息一起被渲染。用于執(zhí)行這種渲染的具體技術在下文聯系圖5提供。圖4是圖1的系統(tǒng)100的事件分析器124提供的事件分析頁面402的屏幕截圖。也就是說,如上所述,事件分析器124被配置為管理收集的事件數據,并且協助開發(fā)者或其他事件響應人員分析報告的事件,并最終與用戶(例如,共同開發(fā)者或顧客)合作來解決報告的事件。在圖4的示例中,如圖所示,事件數據倉庫120和渲染引擎122提供所有需要的數據來供事件分析器124生成事件分析屏幕402。如圖所示,屏幕快照404包括由渲染引擎122提供的重渲染的網頁,以及由用戶通過對注釋模塊114的使用提供的任何注釋。另外,在該示例中,在部分406中提供OS/設備信息。在部分408中提供存儲器使用情況,并且在部分410中提供DOM信息(例如,DOM節(jié)點計數或DOM深度)。最后,在圖4的示例中,部分412圖示了額外類型的事件數據和用于在示例事件分析屏幕402的情境內顯示這種事件數據的相應格式和技術。如圖所示,用于顯示日志數據的部分412包括多個選項卡,每個選項卡可被事件響應人員選擇來查看相應的日志數據。如圖所示,選項卡414與XHR日志相關聯,而選項卡416與控制臺日志相關聯。同時,選項卡418包括用戶關于頁面108的導航歷史,并且選項卡420記錄了與用戶結合訪問頁面108的頁面訪問歷史相關的數據。圖5圖示了圖1的系統(tǒng)100的注釋工具114的示例操作。在圖5的示例中,可伸縮矢量圖形(scalablevectorgraphics,SVG)被注釋工具114用來使得產品頁面層502(一般對應于圖1的頁面108)的用戶能夠創(chuàng)建用于提供上文提到的那些類型的注釋的注釋層504。在此情境中,SVG一般指的是用于2D圖形的基于XML的圖像格式,其中圖像是利用XML文本文件定義的。從而,例如,注釋工具114可使得用戶能夠利用文本輸入和/或相應的繪圖軟件創(chuàng)建注釋。在圖5的示例中,橢圓506圖示了一類標記的示例,用戶可提供該標記來具體識別與被報告的事件相關聯的下層頁面的區(qū)域。類似地,標簽508圖示了用戶被提供了提供表征與被報告的事件相關聯的特定頁面部分的文本輸入的能力。從而,如圖5中所示,注釋層504可與下層的產品頁面層502相覆蓋來提供期望的頁面部分的無縫的集成注釋。渲染引擎122從而可例如在圖4的屏幕快照404內渲染兩個層502、504。圖6是利用圖2至圖5的特征和技術圖示出圖1的系統(tǒng)100的示例操作的流程圖。在圖6的示例中,操作602–612被圖示為單獨的順序化操作。然而,在各種實現方式中,可包括額外的或替換的操作或子操作,和/或可省略圖示的操作或子操作,并且包括的操作和子操作的所有這種變化可至少部分以并行方式執(zhí)行,或者以迭代的、分支的、循環(huán)的或嵌套的方式執(zhí)行。在圖6的示例中,從瀏覽器的用戶接收事件報告,該瀏覽器在客戶端系統(tǒng)上運行網絡應用,從而在瀏覽器中提供頁面(602)。例如,如上所述,客戶端側110的瀏覽器104的用戶可利用網絡應用106來訪問頁面108。用戶可將事件報告發(fā)送到事件管理器102,例如發(fā)送到信息收集模塊114。然后,網絡應用的信息收集模塊可被啟動來收集包括與頁面的用戶交互和與執(zhí)行網絡應用相關聯的客戶端系統(tǒng)操作在內的事件數據(604)。例如,信息收集模塊114可收集上文已經描述的各種類型的事件數據,例如在被圖2的信息追蹤引擎202獲得了之后被存儲在事件數據倉庫120內的事件數據。可提供網絡應用的注釋工具來從用戶接收頁面的注釋(606)。例如,可提供注釋工具116來使得用戶能夠生成圖5的基于SVG的注釋層504。對于信息收集模塊114和注釋工具116兩者,將會明白這些元素可被集成在網絡應用106內,從而提供與網絡應用框架的一類集成,并使能收集和傳輸大量的各種各樣的事件數據,而不需要第三方插件或工具。因此,可迅速、高效且完整地收集事件數據。事件數據隨后可被發(fā)送到服務器側事件管理器(608)。例如,如上文聯系圖2所述,壓縮引擎228可被配置為壓縮各種類型的事件數據214-226以便發(fā)送到事件管理器102的收集服務118。利用服務器側事件管理器的渲染引擎,可渲染文檔對象模型和注釋(610)。例如,事件管理器102的渲染引擎122可渲染收集的HTML、XML和SVG數據(連同DOM內包含的任何其他數據),從而提供頁面108和任何關聯的注釋的圖像。利用服務器側事件管理器的事件分析器,收集的用戶交互和客戶端系統(tǒng)操作和特征可與渲染的文檔對象模型和注釋一起被顯示(612)。例如,事件分析器124可提供屏幕截圖402,包括渲染的頁面108的屏幕快照和在其部分404中圖示的關聯注釋,如上文聯系圖4所述。這樣,如上所述,事件分析器124以對于事件響應人員來說方便的方式提供了報告的事件的所有必要事件數據,例如實質上在屏幕截圖402的模擬環(huán)境內再現了所關注的事件。在各種實現方式中,事件響應人員然后可使用適當的通信技術來與用戶通信以采取進一步步驟來解決該事件。在一些實現方式中,也可利用自動化事件分析和解決技術。本文描述的各種技術的實現方式可在數字電子電路中實現,或者在計算機硬件、固件、軟件或者它們的組合中實現。實現方式可實現為計算機程序產品,即有形地體現在信息載體中(例如機器可讀存儲設備中)的計算機程序,以供數據處理裝置執(zhí)行或者控制數據處理裝置的操作,其中數據處理裝置例如是可編程處理器、計算機或多個計算機。計算機程序(例如上文描述的(一個或多個)計算機程序)可以用任何形式的編程語言來編寫,所述語言包括經編譯或解釋的語言,并且計算機程序可按任何形式來部署,包括被部署為獨立程序或被部署為模塊、組件、子例程或者適合用在計算環(huán)境中的其他單元。計算機程序可被部署來在一個計算機上或多個計算機上執(zhí)行,所述多個計算機位于一個地點或分布在多個地點并由通信網絡互連。方法步驟可由一個或多個可編程處理器執(zhí)行,這些可編程處理器執(zhí)行計算機程序以通過操作輸入數據并生成輸出來執(zhí)行功能。方法步驟也可由專用邏輯電路來執(zhí)行,并且裝置可實現為專用邏輯電路,專用邏輯電路例如是FPGA(現場可編程門陣列)或ASIC(專用集成電路)。適用于執(zhí)行計算機程序的處理器例如包括通用和專用微處理器,以及任何種類的數字計算機的任何一個或多個處理器。一般地,處理器將從只讀存儲器或隨機訪問存儲器或者這兩者接收指令和數據。計算機的元素可包括用于執(zhí)行指令的至少一個處理器和用于存儲指令和數據的一個或多個存儲器設備。一般地,計算機還可包括一個或多個大容量存儲設備,或者操作性地耦合到一個或多個大容量存儲設備以便從其接收數據或向其傳送數據,或者既包括也操作性地耦合到一個或多個大容量存儲設備,所述大容量存儲設備用于存儲數據,例如是磁盤、磁光盤或光盤。適用于體現計算機程序指令和數據的信息載體包括所有形式的非易失性存儲器,例如包括半導體存儲器設備,例如EPROM、EEPROM和快閃存儲器設備;磁盤,例如內部硬盤或可移除盤;磁光盤;以及CD-ROM和DVD-ROM盤。處理器和存儲器可被專用邏輯電路所補充,或者被包含在專用邏輯電路中。為了支持與用戶的交互,實現方式可實現在計算機上,該計算機具有用于向用戶顯示信息的顯示設備,例如,陰極射線管(cathoderaytube,CRT)或液晶顯示器(liquidcrystaldisplay,LCD)監(jiān)視器,以及用戶可用來向計算機提供輸入的鍵盤和指點設備,例如鼠標或軌跡球。其他種類的設備也可用于支持與用戶的交互;例如,提供給用戶的反饋可以是任何形式的感官反饋,例如視覺反饋、聽覺反饋或觸覺反饋;并且來自用戶的輸入可按任何形式被接收,包括聲響、話音或觸覺輸入。實現方式可在計算系統(tǒng)中實現,該計算系統(tǒng)包括后端組件(例如,作為數據服務器),或者包括中間件組件(例如,應用服務器),或者包括前端組件(例如,具有用戶可通過其來與實現方式交互的圖形用戶界面或Web瀏覽器的客戶端計算機),或者這種后端、中間件或前端組件的任何組合。組件可由任何形式或介質的數字數據通信—例如通信網絡—互連。通信網絡的示例包括局域網(localareanetwork,LAN)和廣域網(wideareanetwork,WAN),例如因特網。雖然如本文所述已圖示了描述的實現方式的某些特征,但本領域技術人員現在將想到許多修改、替換、變化和等同。因此,要理解,所附權利要求打算覆蓋所有屬于實施例的范圍內的修改和變化。當前第1頁1 2 3 當前第1頁1 2 3