记录gui数据的方法和系统的制作方法_3

文档序号:8395793阅读:来源:国知局
入。例如,⑶I数据日志记录可以由驱动应用程序的大量键盘交互触发,诸如按钮点击或窗口关闭和打开事件。GUI日志记录应用程序可以被布置为在执行日志记录之前等待由检测所选⑶I输入触发的预先确定的周期。暂停或延迟周期可以是由用户确定的。
[0068]在另一个实施例中,⑶I日志记录应用程序被布置为从⑶I日志文件中忽略(omit)预先确定类型的数据。忽略的数据类型可以由用户确定或由GUI日志记录应用程序实施。例如,所有数据可以被忽略或所选敏感数据类型或私密数据类型可以被忽略。这样的数据可以被编辑或一起移除或利用模糊数据或随机数据代替。
[0069]在进一步的实施例中,⑶I日志记录应用程序被布置为利用进一步的定时数据或其他应用程序或诸如内存、任务使用或处理器资源数据的系统数据来扩充GUI日志文件。这样的额外数据可以视情况而定由GUI模拟程序显示。
[0070]在另一个实施例中,记录周期是由监测的应用程序的GUI输入或输出的数据量决定的。例如,在被监测的一个或多个类型的事件队列上的消息数量或其总大小可以确定给定窗口的记录周期。记录周期可以由给定窗口中更新的数据量确定。
[0071]在进一步的实施例中,代替如上所述的记录周期给定监测GUI中的每个窗口有自己的记录周期,定义全局记录周期,在该全局记录周期的末期记录所有窗口的累积事件。
[0072]本发明的实施例提供在GUI交互的预先确定的解析度的精确重建。这帮助相关GUI交互的观察者快速理解,以便能够对例如用户问题进行更快诊断。GUI模拟易于理解,因为其模拟真实GUI交互。GUI交互数据是在无需采集所需的用户交互的情况下自动采集的。GUI日志数据可以实时采集,因此无需用户重建给定难题。无需让正被监测的的程序连接仪器、增加代码或重写代码。本发明的实施例提供在被监控程序的正常操作期间对⑶I交互进行被动的日志记录。⑶I日志文件数据可以手动地读取或重播作为模拟。包含在日志文件中的数据可以依赖于实施例的给定应用而定制或被控制。GUI日志文件相对紧凑,易于高效地通信或存储。
[0073]本领域的普通技术人员将理解,用于创建⑶I日志的数据所使用的序列化方法取决于给定系统使用的⑶I工具包。例如如果⑶I工具包利用JavaBeans?编码器,那么⑶I数据可以在XML中序列化(可扩展标记语言Java和所有基于Java的商标和标识是甲骨文公司和/或其分支机构的商标或注册商标)。
[0074]本领域的普通技术人员将理解,任意合适的事件队列可以用于监控感兴趣的程序的GUI输出或输入。例如,一般事件队列可以由,例如,OS或OS的特定事件队列提供监控或可以监控应用程序。而且,可以监控不只一个事件队列,可以识别和记录相关消息。
[0075]本领域的普通技术人员将理解,除了程序的GUI输入或输出之外的任意输入或输出可以视情况而定被监控和记录。可以记录确定为与正被监控的程序相关的其他所选输入或输出,诸如来自OS或其他程序的输入或输出。
[0076]本领域的普通技术人员将理解,不需要记录正在监控的应用程序的所有输入和输出数据。例如,只有应用程序输出的CTI活动可以被记录,而忽略诸如键盘或鼠标输入的任意用户⑶I输入。
[0077]本领域的普通技术人员将理解,尽管以上系统的描述是关于单个计算机进行的,但是系统的功能可以视情况而定划分为客户机和服务器架构。此外,GUI日志记录应用程序和GUI模拟应用程序可以在独立的计算机上运行,相关GUI日志文件通过任意合适的方式从一个计算机传输到另一个计算机,例如通过网络。
[0078]本领域的普通技术人员将理解,⑶I用户输入可以由包括诸如软键盘的虚拟装置或软装置的任意合适的输入设备。
[0079]本领域的普通技术人员将理解,实施本发明的部分或所有的装置可以是通用设备,其具有布置为提供本发明的实施例的部分或所有的软件。设备可以是单个设备或设备组,软件可以是单个程序或程序集。而且,用于实施本发明的任意或所有软件可以通过任意合适的传输或存储工具传输,使得软件可以加载到一个或多个设备上。
[0080]尽管本发明已经通过描述本发明的实施例示出,和已经相当详细地描述实施例,但是申请人并不试图如此详尽地限制或以任意方式限制相关权利要求的保护范围。本领域的普通技术人员容易理解额外的优势和改进。因此,本发明在更广的方面不限于典型的装置和方法与所示和所描述的示例性实例的具体细节。因此,在不偏离申请人的通用发明概念的保护范围的情况下,可以偏离这样的细节。
[0081]本领域的普通技术人员将理解,本发明的方面可以实施为系统、方法或计算机程序产品。因此,本发明的方面可以采用完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或组合本文中一般可以被称为“电路”、“模块”或“系统”的软件方面和硬件方面的实施例的形式。而且,本发明的方面可以采用在其上具有计算机可读程序代码的一个或多个计算机可读介质的计算机程序产品的形式。
[0082]可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是,例如,但不限于,电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或前述任意合适的组合。计算机可读存储介质的更具体的实例(非详尽列表)包括以下:具有一个或多个导线的电气连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光盘读/写(CD-R/W)或DVD光盘、光存储设备、磁存储设备、或前述任意合适的组合。在本文的上下文中,计算机可读存储介质可以是包含或存储以供指令执行系统、装置或设备使用或关于指令执行系统、装置或设备的程序的任意有形介质。
[0083]计算机可读信号介质可以包括其上实施计算机可读程序代码的被传播的数据信号,例如,在基带中或作为载波的一部分。这样的传播信号可以采用各种形式,包括但不限于,电磁的、光的或任意合适的组合。计算机可读信号介质可以是任意计算机可读介质,其可以不是计算机可读存储介质并且可以传输、传播或传送程序以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备联合起来使用。
[0084]在计算机可读介质上实施的程序代码可以利用任意合适的介质进行传输,包括但不限于无线的、电话线、光线电缆、RF等,或前述任意合适的组合。
[0085]用于执行本发明的方面的操作的计算机程序代码可以用一个或多个编程语言的任意组合书写,包括诸如Java、Smalltalk、C++等的面向对象编程语言和诸如“C”编程语言或相似编程语言(Java和所有基于Java的商标和标识都是甲骨文公司和/或其分支机构的商标或注册商标;其他标记可以是其各自的拥有者的商标或注册商标)的传统程序化编程语言。程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上和部分地在远程计算机上执行或完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任意类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或可以连接到外部计算机(例如,利用互联网服务提供商通过互联网)。
[0086]本文中参考根据本发明的实施例的流程图图解和/或方法的方框图、装置(系统)和计算机程序产品描述本发明的方面。将理解的是,流程图图解的每个方框和/或方框图,和流程图图解和/或方框图中方框的组合可以由计算机程序执行。这些计算机程序指令可以提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理器以形成机器,使得通过计算机或其他可编程数据处理装置的处理器执行指令而形成用于实施流程图和/或方框图方框中具体指定的功能/行为的装置。
[0087]这些计算机程序指令还可以存储在计算机可读介质中,计算机可读介质可以指示
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1