專利名稱:在使用計算機程序時跟蹤執行的操作的方法和裝置的制作方法
技術領域:
本發明涉及在使用計算機程序期間跟蹤已執行的操作或活動的方法和裝置。具體地說,它涉及可以對用戶作出的任何錯誤輸入和/或命令進行跟蹤的解決方案。
背景技術:
在使用各種計算機程序和計算機應用時,程序突然鎖定或未以所需或預期的方式操作的情況并不少見。這可能是用戶在程序中有意無意地執行了一些錯誤或不當操作的結果,或程序中有某種錯誤,即所謂的“bug”。此類操作在激活各種功能、按鍵、單擊鼠標等時執行,在單獨或共同執行時可能導致使用的一個或多個程序鎖定或錯誤運行。在本說明中,術語“操作”將用于表示用戶可以在計算機程序中執行并以某種方式影響/激活程序的任何動作。因此,執行的操作是一個或多個輸入的結果,諸如擊鍵、鼠標點擊或在語音控制的程序的情況中的語音。
例如,在將計算機程序用于文字處理、計算表或數據庫時,有時會出現完全預料不到的情況,例如數據丟失、屏幕外觀更改或對任何輸入均無響應的程序鎖定。為了采取必需的行動修正程序的“行為”,如果知道并可以分析迄今為止執行的先前操作經常很有幫助。因此,如果可以跟蹤早前執行的錯誤操作,更容易了解發生的事件以及出現當前情形的原因。
在特定計算機程序的數據教育期間,通常教師會幫助和指導學員練習使用程序。這樣,或早或遲,幾乎不可避免地會出現上述情形。教師經常會詢問學員例如出現錯誤之前在程序中做了什么。學員常常不記得執行過的所有操作,或者,有些操作完全是無心或無意中執行的。例如,錯誤可以由某些相當長時間之前作出的輸入引起,或者僅僅是由學員無意地按下某個鍵引起。在該情況下,教師通常必須花費大量時間找出原因以及補救措施。還可能就學員做過和沒做過的事情引發不必要的議論。此外,希望學員被告知所犯的錯誤,以便將來能夠避免錯誤并了解程序如何工作。
上述問題和需要也可能存在于許多其它情況中,諸如在一些企業或組織中,計算機用戶可以接近就有關數據程序的問題提供信息和支持的個人或部門,所謂的“數據支持”,或者個別用戶想要能夠快速搜索錯誤等。在測試和評估新的或修改的數據程序時,為了尋找任何缺陷或錯誤編程,能夠跟蹤先前執行的操作也很有用。
US 2001/0003172 A1公開了一種系統,其中登記用戶的不同計算機活動以創建日志文件,要用于記錄用戶在特定項目中的工作等。但是,此US文檔未描述在使用特定計算機程序時對執行的各個操作的跟蹤,這在上述文檔的解決方案中未預期獲得或論述。
US 6115680 A公開了收集關于一組用戶如何使用其計算機資源的信息和統計資料的解決方案。一般性質的不同事件,如鼠標點擊和鍵盤輸入,記錄在列表中,其中已執行的事件通過與預定義事件進行對比來標識。但是,這些預定義事件未與任何特定計算機程序相關聯。此外,根據這個文檔,在用戶使用程序時在記錄會話期間沒有監視特定的計算機程序的目標。
因此,通常需要能夠觀察和標識在使用特定計算機程序期間執行的所有單個操作的簡單方法,以便例如發現用戶作出的任何錯誤輸入和/或命令。
發明概述本發明的目的是獲得在使用特定計算機程序時可以對已執行的各個操作進行跟蹤的解決方案。此目的和其它目的通過在用戶使用特定受監視的計算機程序期間跟蹤用戶執行的各個操作的方法來達到。在檢測到用戶進行的至少一個輸入時,檢測的輸入與預先定義的一組操作進行對比。如果在進行對比時輸入匹配任何預定義操作,對應于輸入的操作被登記為已執行的活動。
根據本發明方法,該組預先定義的操作是可以以某種方式影響受監視的計算機程序的操作,這些操作通過記錄計算機程序響應影響程序的輸入而生成的特定消息來創建,每個預定義操作對應于一個或多個由程序生成的特定消息。以上檢測、對比和登記輸入的過程對在使用受監視計算機程序的時間周期中在記錄會話中執行的多個輸入和相應操作重復,由此為記錄會話創建已執行操作的活動列表,可在之后檢索,以便跟蹤受監視計算機程序中的各個操作。
通過監視計算機程序響應輸入而生成的相應消息,可檢測輸入。
預定義操作組可存儲在操作數據庫中。此組可包括與所使用程序無關的通用操作或程序特定的操作。此外,預定義操作組可通過執行預期用戶可能在程序中執行的基本操作組來創建,以便建立所述操作數據庫。
已執行操作的登記可包括檢索可能存儲在所述活動列表中的為操作預定義的項目。
在將已執行操作存儲到活動列表中之前,可對其應用預定義的表示規則,表示規則確定如何處理有關已執行操作的信息,以便以后表示。這些表示規則還可以存儲在規則數據庫中。表示規則還可以包括過濾功能,以便只登記特定類型的操作而忽略其它操作。
本發明還包含用于跟蹤用戶在使用特定受監視的計算機程序期間所執行的各個操作的裝置。此裝置包括用于檢測用戶進行的輸入和用于將它們與一組預先定義的操作進行對比的部件,以及用于為匹配任何預定義操作的輸入在記錄會話期間將操作登記為已執行活動的部件。
本發明的裝置還包括用于通過記錄計算機程序響應影響計算機程序的輸入而生成的特定消息創建預先定義的操作組的部件,這些操作可以以某種方式影響受監視的計算機程序,其中每個預定義操作對應于一個或多個由程序生成的特定消息。此外,有用于通過檢測若干輸入并登記在使用受監視計算機程序的時間周期期間執行的對應操作,創建記錄會話中已執行操作的活動列表的部件,這樣在記錄會話之后可以檢索所述列表,以便跟蹤受監視計算機程序中的各個操作。
由于專門聚焦匹配“相關的”預定義操作而不理會不影響程序的操作,本解決方案非常有效。此外,該解決方案考慮到對程序重要的特定輸入組合可表示以特定可預測方式影響程序的預定義操作。
附圖概述下面借助于優選示范實施例并參照附圖更詳細地描述本發明
圖1是可用于本發明的管理工具的系統體系結構的示意框圖,圖2是可用于本發明的跟蹤程序的系統體系結構的示意框圖,以及圖3是根據本發明確定特定計算機程序中先前執行的操作的工作過程的流程圖。
優選實施例的詳細說明本發明旨在實現對計算機程序中先前執行的操作的快速且有效的跟蹤,例如為了便于發現用戶執行的任何錯誤輸入或命令,或程序中任何現有的錯誤編程或缺陷。
簡單地說,本發明涉及登記和存儲,即“記錄”用戶在使用受監視的計算機程序的時間周期期間所執行的操作。為此,使用專門設計的程序,為簡潔起見,下文稱作“跟蹤程序”,與所述計算機程序并行地運行并就用戶活動而論監視它。
在記錄用戶活動期間,通過檢測每個輸入或輸入組合并將其與預先定義的會以某種方式對程序造成影響的操作組進行對比來識別已執行的操作。因此,這些預定義操作會被存儲為可用于跟蹤程序。此類預定義操作一方面可以是獨立于所用程序的通用操作,諸如按鍵盤上的物理鍵,或者另一方面也可以是每個程序特定的,諸如選擇程序中可用的功能,例如通過點擊屏幕上顯示的圖標、菜單、按鈕等。在許多程序中,特定命令也可以通過按一個或多個鍵(例如Ctrl+S用于保存文檔)或者功能鍵F1-F12來執行。
因此,跟蹤程序包括檢測用戶輸入并將其與預定義操作進行對比的功能。如果檢測到的輸入匹配這樣的預定義操作,則將其登記為已執行的活動。因此,跟蹤程序配置為在任何操作執行時逐步登記以此方式識別的任何操作,并將其保存到活動列表中。此列表最好還可包含有關操作執行時間的信息。
之后,在記錄會話已終止時,帶有保存的操作的活動列表可被檢索和查看,以便分析事件原因和跟蹤各個操作,例如錯誤輸入。如果程序被鎖定或工作不正常,或如果要評估用戶的技能,例如在執行的測試之后,這可能很有用。在本發明的范圍內,活動列表可以按多種方式設計。例如,登記的操作在列表中可以按時間順序或任何其它方式排序。操作還可以被分類并歸入不同的組中,例如取決于操作類型,這可能便于在某些情況下搜索和分析。
列表中的操作最好由預定的適當項目以簡明的語言命名,以便易于識別和理解。這些操作項目最好在操作的預定義期間根據以上所述確定。這樣的操作項目可以可選地構成簡明的名稱或較長的包含更多信息的公開。此外,可以使用不同的過濾功能,以便只登記特定類型的操作而忽略其它操作。例如,在特定情況下字符輸入不影響程序時可將字符輸入濾出。
通過包含用于每個程序的具有預定義操作和過濾功能(如果有的話)的文件,跟蹤程序可配置為能夠監視多個不同的計算機程序。也可以在添加新的要監視的程序時,或已修改受監視的程序時,安裝這樣的新文件。
參照圖1和圖2,現在將描述可用于實現本發明的示范性的適當系統體系結構。基本上,系統體系結構可劃分為管理工具和上述跟蹤程序,其中管理工具主要用于定義和存儲在使用受監視程序時可以執行的操作。
圖1公開了可由例如系統提供商用于構建具有之后要監視的特定計算機程序P的預定義操作的操作數據庫102的管理工具100的邏輯框圖。一般來說,在程序P中作出不同輸入時,程序以已知方式生成不同消息,這些消息被發送到計算機中的其它程序或應用,導致不同事件,例如屏幕上的新外觀。因此,影響程序的每個輸入對應于特定消息。實際上,此類生成的消息可例如通過稱作″SetWindowsHookEx()″的已知功能來監視,該功能是眾所周知的Windows操作系統的組成部分,可用于此概念中。
管理工具100包括記錄功能104,配置為監視和截收此類由程序P響應輸入而生成的消息,然后解釋它們。實際上,預期用戶可以執行的一組基本操作在程序P中系統地執行,其中記錄功能104記錄與每個操作相關的截收的消息。然后,這些消息作為不同模式保存到操作數據庫102中,其中每個預定義操作對應于一個或多個特定的生成消息。
管理工具100還包括命名功能106,通過它可為保存的操作命名。借助于未示出的用戶界面來控制命名功能106,其中系統管理員等可以為每個已執行操作手工定義任何可選項目,諸如名稱或描述。此項目旨在便于跟蹤程序的將來用戶識別和理解。最后,登記的操作與相應項目一起保存在操作數據庫102中。或者,操作可作為簡單代碼保存在操作數據庫102中,而定義的相關項目保存在分開的規則數據庫中,說明如何向最終用戶表示信息,如下文所述。
基本上,上述過程為特定計算機程序P的所有可想到和/或關注的操作執行,以構建操作數據庫102,因此可認為是一種校準過程。操作數據庫102完成時,通過跟蹤程序記錄識別的操作可對程序進行監視,這在下文更詳細描述。
圖2說明用來結合計算機程序P的使用和監視執行的跟蹤程序200的適當體系結構的邏輯框圖。跟蹤程序200包括根據下文以適當順序執行的一系列邏輯功能。記錄功能202適用于截收在用戶作出各種輸入時程序P中生成的不同消息,采用與結合圖1所述的相應方式。因此,這個記錄功能202可以是與管理工具100中所用的記錄功能104相同的類型,例如上述“SetWindowsHookEx()”功能。
然后,記錄的輸入由分析功能204處理,冗余信息或“噪聲”可被濾出。這可以是與被認為不關心的輸入相關聯地生成的消息,例如所謂的“聚焦功能”表示在通過按方向鍵或等效物在屏幕上突出顯示時焦點可在不同菜單或按鈕之間移位。
此后,接收的信息提供給匹配功能206,根據圖1將已執行的輸入與操作數據庫102中存儲的預定義操作進行對比。然后,如果識別匹配已執行輸入的操作,此操作可進一步由表示功能208進行處理,表示功能208適用于對識別的操作應用預定義的表示規則。這些表示規則存儲在規則數據庫210中。此類規則可以是語言核對以及最終用戶關于如何呈現信息的特別首選項的應用等。表示規則還可以包括一個或多個過濾功能,以便只登記特定類型的操作而忽略其它操作。操作的項目也可以存儲在規則數據庫210中,如上所述。
因此,表示功能208用于以與最終用戶首選項對應的易于理解的格式保存信息。在本發明的范圍內,多個不同用戶可定義其各自的簡檔,并保存在此規則數據庫210中。取決于在特定記錄會話中登錄的用戶,與此用戶相關聯的規則被應用。
最后,有關已執行操作的已處理信息被保存在活動數據庫212中,可在之后查詢以跟蹤各個操作,如上所述。跟蹤程序200還配備適當的用戶界面,未示出,可用于查看先前在記錄會話期間執行而現在已終止的操作。此跟蹤界面可適當地顯示可借助于跟蹤程序監視的計算機程序的目錄,用于控制記錄會話的功能按鈕,諸如開始、停止和暫停,一個或多個正在進行或已終止記錄會話的狀態,每個會話的已執行操作的詳細活動列表,登錄對話框和用戶簡檔的定義,這只是提到一些示例。
圖3說明在激活記錄功能后跟蹤程序為了登記已執行操作而執行的過程的簡化流程圖。在第一步驟300中,檢測到用戶作出的輸入。在本發明范圍內,此類輸入可包括例如按按鈕、點擊鼠標或發出語音命令,它們單獨或組合執行。然后,在步驟302中將此輸入與存儲在操作數據庫102中的預定義操作進行對比。在下一步驟304中,確定輸入是否匹配任何預定義的操作。如果不是這樣,則過程返回到步驟300以便檢查新的輸入。但是,如果在步驟304中識別匹配操作,則在下一步驟306中,取決于在上述校準過程中存儲的位置,從操作數據庫102或從規則數據庫210為此操作檢索相應的項目。最后,在步驟308中,此操作項目存儲到活動數據庫212中,可能在根據規則數據庫210中的規范修改之后,如上所述。
本發明使得在使用特定受監視的計算機程序時能夠以簡單方便的方式詳細分析事件的過程。因此,登記所有各個操作,這些操作已被識別為基于用戶進行的輸入在記錄會話期間執行,且已被預先定義為與受監視程序相關。例如,此解決方案可用于發現任何錯誤輸入和/或命令,或評估新的或修改的程序。
本發明不限于上述實施例,但一般由以下權利要求定義。
權利要求
1.一種跟蹤用戶在特定受監視的計算機程序中在使用它期間所執行的各個操作的方法,包括以下步驟A)檢測用戶作出的至少一個輸入,B)將檢測到的輸入與一組預先定義的操作進行對比,以及C)如果在執行對比步驟B)時輸入匹配任何預定義的操作,將對應于輸入的操作登記為已執行的活動,其特征在于該組預先定義的操作是可以以某種方式影響受監視的計算機程序的操作,這組操作通過記錄計算機程序響應影響程序的輸入而生成的特定消息來創建,每個預定義操作對應于一個或多個由程序生成的特定消息,其中步驟A)-C)對在使用受監視計算機程序的時間周期中在記錄會話中執行的多個輸入和相應操作重復,使得為記錄會話創建已執行操作的活動列表,它可在后來被檢索,以便跟蹤受監視的計算機程序中的各個操作。
2.如權利要求1所述的方法,其特征在于,在步驟A)中通過監視計算機程序響應輸入而生成的相應消息來檢測輸入。
3.如權利要求1所述的方法,其特征在于,所述這組預定義的操作已存儲在操作數據庫中。
4.如權利要求3所述的方法,其特征在于,所述組包括通用的獨立于所用程序的操作或者程序特定的操作。
5.如權利要求3或4所述的方法,其特征在于,所述這組預定義的操作是通過執行預期用戶可能在程序中執行的基本操作組來創建的,以便構建所述操作數據庫。
6.如權利要求1-5中任一項所述的方法,其特征在于,步驟C)中已執行操作的登記包括為操作檢索存儲在所述活動列表中的預定義項目。
7.如權利要求1-6中任一項所述的方法,其特征在于,在將已執行操作存儲到所述活動列表中之前,可對其應用預定義的表示規則,所述表示規則確定如何處理有關已執行操作的信息以便以后表示。
8.如權利要求7所述的方法,其特征在于,所述表示規則已存儲在規則數據庫中。
9.如權利要求7或8所述的方法,其特征在于,所述表示規則包括過濾功能,以便只登記特定類型的操作而忽略其它操作。
10.一種用于跟蹤用戶在特定受監視的計算機程序中在使用它期間所執行的各個操作的裝置,包括用于檢測用戶作出的輸入和用于將其與一組預先定義的操作進行對比的部件,以及用于在記錄會話期間為匹配任何預定義操作的輸入將操作登記為已執行活動的部件,其特征在于用于通過記錄計算機程序響應影響計算機程序的輸入而生成的特定消息來創建所述這組預先定義的操作的部件,這組操作可以以某種方式影響受監視的計算機程序,其中每個預定義操作對應于一個或多個由程序生成的特定消息,以及用于通過檢測若干輸入并登記在使用受監視計算機程序的時間周期中執行的對應操作、為記錄會話創建具有已執行操作的活動列表的部件,使得在記錄會話之后可以檢索所述列表,以便跟蹤受監視計算機程序中的各個操作。
全文摘要
用于在檢測到用戶輸入的特定計算機程序(P)中跟蹤已執行的各個操作的方法和裝置。將每個檢測到的輸入與存儲在操作數據庫(102)中的一組預先定義的操作進行對比。如果在對比中發現檢測到的輸入匹配某個預定義的操作,則將該操作作為已執行的活動登記到活動數據庫(212)中。該過程對在記錄會話期間執行的若干輸入重復,其中在活動數據庫中創建已執行操作的活動列表。然后,在記錄會話之后可以檢索此列表以跟蹤各個操作。由此在使用計算機程序之后可以詳細分析事件的過程,例如為了發現錯誤操作。
文檔編號G06F17/40GK1867900SQ200480029602
公開日2006年11月22日 申請日期2004年8月13日 優先權日2003年8月15日
發明者安內特·貝里斯特倫 申請人:安內特·貝里斯特倫