在使用计算机程序时跟踪执行的操作的方法和装置的制作方法

文档序号:6496113阅读:175来源:国知局
专利名称:在使用计算机程序时跟踪执行的操作的方法和装置的制作方法
技术领域
本发明涉及在使用计算机程序期间跟踪已执行的操作或活动的方法和装置。具体地说,它涉及可以对用户作出的任何错误输入和/或命令进行跟踪的解决方案。
背景技术
在使用各种计算机程序和计算机应用时,程序突然锁定或未以所需或预期的方式操作的情况并不少见。这可能是用户在程序中有意无意地执行了一些错误或不当操作的结果,或程序中有某种错误,即所谓的“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日
发明者安内特·贝里斯特伦 申请人:安内特·贝里斯特伦
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1