CN103415841A - 监控用户发起的动作并将它们与后端操作相关联的方法和计算机程序 - Google Patents

监控用户发起的动作并将它们与后端操作相关联的方法和计算机程序 Download PDF

Info

Publication number
CN103415841A
CN103415841A CN2012800107008A CN201280010700A CN103415841A CN 103415841 A CN103415841 A CN 103415841A CN 2012800107008 A CN2012800107008 A CN 2012800107008A CN 201280010700 A CN201280010700 A CN 201280010700A CN 103415841 A CN103415841 A CN 103415841A
Authority
CN
China
Prior art keywords
client
request
data
end system
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012800107008A
Other languages
English (en)
Other versions
CN103415841B (zh
Inventor
B·苏里万
P·苏伯拉玛尼姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN103415841A publication Critical patent/CN103415841A/zh
Application granted granted Critical
Publication of CN103415841B publication Critical patent/CN103415841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明的各实施例包括用于监控用户活动的系统和方法。在各实施例中,前端组件收集可能对管理员或其他人在确定或推断当与应用进行交互时用户正在做什么或试图做什么时有用的数据,前端组件将这些数据中的至少某些传递到后端组件。在各实施例中,与用户活动相关的数据的传递与诸如请求和响应之类的典型的传输一起捎带,以减少用户活动监控的开销。

Description

监控用户发起的动作并将它们与后端操作相关联的方法和计算机程序
技术领域
本发明一般地涉及计算机应用,更具体来说,涉及监控用户的与计算机应用的交互。
背景技术
任何产品(包括软件应用)的开发和维护都应该包括监控终端用户与产品的交互。能够监控用户的活动帮助开发人员和管理员标识用户如何与应用进行交互,并帮助标识改善的领域。
以前的监控用户交互的尝试是非常有限的。直接查询用户可能有某种价值;然而,这样的方法吸引力有限。首先,难以让用户对调查作出响应或提供问题的通知。其次,用户可能不密切注意他们作出的准确的动作。再其次,即使一个公司可能会让用户自愿地提交用户活动信息,用户也可能没有有用信息。计算机在现代社会的无处不在意味着,许多没有技术能力的人使用计算机。这些外行的用户可能没有对他们的与他们的计算机的交互的洞察力。传统上,这些终端用户只有两个他们用来度量或监控他们的与应用的交互的准则——即,与应用的交互花了多长时间完成以及交互的可用性。第四,被用户视为单一交互的交互可能会包括可能对用户屏蔽的若干个操作。因此,即使用户愿意自愿地跟踪并提交他或她的活动信息并在技术精通以能够提供某些有意义的信息,准确的交互问题也可能对他们不可见。最后,这样的方法被延迟并且不能够实时地执行。
监控用户活动的其他尝试包括查看用户交互中的数据。例如,可以在某种程度上检查用户将他的或她的浏览器定向到的网站,或更具体地,统一资源定位器(URL),以提取信息。但是,这样的方法充其量只提供带有对实际用户意图的很小洞察力的粗略的信息。
因此,以前的提供关于当与应用进行交互时用户打算做什么的有意义的信息的尝试非常有限或没有效果。
附图说明
将参考本发明的各实施例,其示例可以在附图中示出。这些附图只是说明性的,而不是限制性的。虽然本发明一般性地在这些实施例的上下文中描述的,但是,应该理解,不旨在将本发明的范围限制到这些特定实施例。
图1用图形方式描绘了根据本发明的各实施例的用于用户活动监控的系统的示例。
图2描绘了根据本发明的各实施例的一组嵌套的任务流。
图3描绘了根据本发明的各实施例的用于用户活动监控的方法。
图4描绘了根据本发明的各实施例的用于对于部分页面请求的用户活动监控的方法。
图5描绘了根据本发明的各实施例的用于获得存储的用户活动监控数据的方法。
图6描绘了根据本发明的各实施例的包括辅助请求的用于用户活动监控的方法。
图7描绘了根据本发明的各实施例的用于包括客户端侧重定向的用户活动监控的方法。
图8描绘了根据本发明的各实施例的计算系统的示例的框图。
具体实施方式
在下面的描述中,为了进行说明,阐述了具体细节以便提供对本发明的理解。然而,对本领域技术人员明显的是,可以在没有这些细节的情况下实施本发明。此外,本领域技术人员将认识到,下面所描述的本发明的各实施例可以以各种方式来实现,包括软件、硬件,或固件,或其组合。相应地,此处所描述的附图是本发明的特定实施例的说明,旨在避免使本发明模糊。
框图中所示出的组件、或模块是本发明的示例性实施例的说明,旨在避免使本发明模糊。还应该理解,在整个讨论中,组件可以被描述为分离的功能单元,可以包括子单元,但是所属领域的技术人员将认识到,各种组件或其一些部分可以被分成分离的组件,或可以集成在一起,包括集成在单一系统或组件内。应该注意,此处所讨论的功能或操作可以实现为组件或模块。
此外,附图内组件之间的连接不旨在仅限于直接连接。相反,可以修改、重新格式化、或以别的方式通过中间组件改变这些组件之间的数据。此外,还可以使用更多的或较少的连接。还应注意,术语“耦合”或“可通信地耦合”应该理解包括直接连接、通过一个或多个中间设备的间接连接,以及无线连接。
说明书中对“一个实施例”、“优选实施例”、“实施例”、“各实施例”等等的引用意味着结合该实施例所描述的具体特征、结构、特性或功能被包括在本发明的至少一个实施例中,并可以在多于一个的实施例中。在整个说明书中的不同位置出现短语“在一个实施例中”或“在实施例中”或“在各实施例中”不一定都是指同一个实施例或相同的多个实施例。
在说明书中某些术语在各种位置的使用只用于说明,不应该被解释为限制。术语“服务”或“功能”的使用不限于描述单一功能;这些术语的使用还可以是指一组相关的功能。类似地,术语“资源”的使用不限于描述单一资源;还可以使用术语来引用可以分布或者聚集在计算环境内的一组资源。
将使用Web应用示例来描述此处所呈现的本发明的各实施例。这些示例是只作为说明来提供的,而不作为限制。本领域技术人员还应该认识到,本发明一般地适用于其他应用。
A.一般系统概述
由于以前的用户交互监控方法的结果效果不佳,所需要的是用来可以更直接确定或推断有关用户的交互的语义信息的系统和方法。因此,当前发明的各方面包括捕捉可以对确定或推断当与应用进行交互时用户试图做什么有用的信息。管理员希望监控系统作为整体的健康,收集到的关于单个用户的交互的数据帮助管理员完成此任务。
为了促进这种用户活动监控,富集式客户端框架提供有关请求的信息,以便管理员可以监控应用中的页面的健康,包括历史的和当前的。例如,用户活动信息包括若干个数据元素,诸如,作为说明而不是限制,“点击以呈现”时间、事件信息、上下文标识符、区域标识符等等,部分请求、流式请求(例如,表中的数据取回),以及客户端侧重定向请求,并可以使用专门参数与通常封装在报头、响应正文,或URL中的信息包括在一起。在各实施例中,性能度量“点击以呈现”时间包括从用户在浏览器上执行动作的时间(客户端开始时间)到Web应用完成处理它并利用结果来更新浏览器的时间(客户端结束时间)的所有处理。在各实施例中,应用可以使用此框架,诸如通过嗅探客户端和服务器之间的流量,来监控交互,并使用可轻松地识别的参数来提取语义信息。然后,所提取的语义信息可以被应用和/或管理员用来监控用户的交互。
图1用图形方式描绘了根据本发明的各实施例的用于用户活动监控的整个系统100的示例。图1示出了通过网络125通信地耦合到后端系统130的客户端计算系统110。在各实施例中,计算设备可以是台式计算机、膝上型计算机、移动设备,或带有处理能力的任何其他设备或设备集合。网络125可以是因特网、内联网、外部网、直接连接,或其某种组合。在各实施例中,后端系统130可以是网络125的一部分。在各实施例中,后端系统130可以是诸如web服务器之类的一个或多个服务器。后端系统130可以包含在单一设备内或可以跨多个设备分布。
在各实施例中,系统100包括两个软件组件、模块,或应用。一个模块120在前端或客户端计算设备110中操作,另一个模块135,即后端或服务器模块135,在后端130中操作。在一个实施例中,前端模块120可以是与诸如浏览器115之类的客户端应用一起工作的插件或其它模块。客户端模块120和服务器模块130帮助形成允许应用提取涉及用户活动的数据以便获得客户端中的用户交互信息并让那些交互与由后端系统执行的操作链接的框架。
客户端模块120捕捉用户活动信息,并将此信息中的至少某些传递到后端130。服务器模块135还被配置成将用户活动监控相关的数据传递到客户端模块120。
在各实施例中,客户端模块120通过将此信息与典型的传输包括在一起来发送此信息。例如,客户端模块120可以将用户活动数据与请求包括在一起。将用户活动数据与现有的交互或网络活动一起捎带帮助减少用户监控活动的开销成本。此外,为帮助减少开销处理成本,用户活动可以作为一个或更多专门参数被包括在URL、报头、正文,或其组合中。通过使用专门参数、通过选择向哪里传输这些专门参数,或两者,提取用户活动数据的开销可以显著地减少。当然,本领域技术人员应该认识到,可以使用其他实现。例如,如果网络流量和/或处理使用情况不是严重的问题,则用户活动数据可以在单独的网络传输中进行传输。
在各实施例中,对于一个请求可以作为用户活动监控数据的一部分可用的信息可以包括但不限于:
·上下文标识符,在各实施例中,是主要动作或次要动作的字符串上下文标识符;
·父上下文标识符,在各实施例中,是次要动作的父(或主要)动作的上下文标识符;
·客户端开始时间,在各实施例中,是客户端请求的当前开始时间。在各实施例中,客户端开始时间按照使用客户端的时钟的UTC(通用协调时间);
·PPR(部分页面请求)目标,在各实施例中,是对于当前请求注册为客户端上的部分目标的组件标识符的列表。这些项目表示可以改变或以别的方式更新而无需更新或重新加载整个网页的组件。部分页面请求是导致包括只对于需要改变的页面的几部分而并非整个页面的标记的响应的请求。客户端可以专门请求重新绘制页面的某些部分,服务器也可以添加更多的部分;
·事件信息,在各实施例中,是有关动作的信息,可以包括但不限于下列信息:
-事件类型,在各实施例中,可以处于较低的级别(诸如表示选择了按钮或链接的动作事件)或处于较高的级别(诸如显示弹出式窗口,选择表中的行等等);
-组件类型。在各实施例中,页面的服务器表示具有与它相关联的代码,以处理页面上的用户交互(例如,处理到文本字段中的输入,挑选要购买的商品等等)。这常常被建模为用户界面组件的树。这些组件还生成显示在客户端上的上下文,例如,HTML和相关联的java描述语言。客户端也可具有用户界面组件的相应的树,以便处理客户端上的交互,无需回到服务器。这些组件可以是较低级别的封装,就像按钮,或较高的级别封装,就像购物车的用户界面表示。在各实施例中,组件的这些类型被记录与“组件类型”相关。
-组件客户端Id,在各实施例中,是作为事件的源的组件的客户端标识符。在各实施例中,这唯一地标识组件类型的实例,例如,哪一个按钮被点击。
-组件显示名称,在各实施例中,是标识网页上的组件的名称。例如,应用可以给按钮或链接一个标识符,但是,管理员可能不会轻松地知道该标识符引用什么。因此,在各实施例中,当试图弄清用户活动时,客户端组件指定或至少尝试指定可能对管理员更有意义的显示名称(例如,如果用户选择的事件是用户点击“取消”按钮的结果,则指定“取消”作为组件显示名称)。即,组件显示名称通常是显示在用户界面上的人可读取的名称,诸如“取消”或诸如“取消预订”之类的更有意义的某种东西。标识符唯一地标识页面内的组件,而显示名称可以不是唯一的。在各实施例中,标识符还可以提供有关组件的上下文信息。在各实施例中,客户端应用可以发送应用指定的组件显示标识符以及其自己的组件显示名称标识符。
-区域名称,在各实施例中,是通向最外面的区域的区域名称的列表,如果用户动作在区域内产生的话。在各实施例中,网页可以被分成不同的区域和任务流。如果事件是在定义的区域内产生的,则可以收集和使用该区域名称。如果区域嵌套在一个或多个其他区域内,则还可收集嵌套信息。作为示例而非限制,考虑图2中所描绘的示例。图2描绘了根据本发明的各实施例的一组嵌套的任务流200。如图2所示,应用的显示的一部分包括在显示中不同的区域中呈现的一组嵌套的任务流。在所描绘的示例中,有一个在任务流2的区域210内的组件,在此情况下是按钮215。任务流2的显示的区域210被嵌套在与任务流1相关联的较大的区域205内。因此,区域标识符可以表示此嵌套的关系。例如,用户选择按钮215的用户事件的区域标识符可以是“任务流1:任务流2:按钮”。
-区域视图Id是通向最外面的区域的区域标识符的列表,如果用户动作在区域内产生的话。在各实施例中,区域名称是全局性地标识任务流的名称,并是管理员可能熟悉的名称以及可能描述较高的级别的进程的名称(诸如“签出”),而区域视图标识符是从包含区域的定义的文件名导出的(诸如“checkout_credit_card.jsff”)。
在各实施例中,对于由客户端属性变化所引起的请求,“事件信息”可以被设置为“空值”。
在各实施例中,可以作为响应或请求的一部分被包括的作为用户活动监控数据的一部分可用的信息可以包括但不限于:
·视图Id,在各实施例中,是对刚刚作出的请求的响应页面的视图的标识符;
·上下文Id,在各实施例中,是当前请求的上下文标识符。在各实施例中,在后端操作的诊断和监控服务可以生成当前请求的执行上下文标识符,该标识符被用来关联对于该请求执行的日志活动。在各实施例中,此执行上下文标识符(ECID)可以被用作上下文Id。
·辅助,在各实施例中,是标识请求或响应是优先的主要用户请求的补充部分的参数。例如,数据流式请求是将生成辅助响应的辅助请求的示例。当对于主要请求的响应包括诸如表或树之类的数据富集的组件时,通常发生数据流式请求。常常,只有布局是对于主要请求的响应的一部分,作为辅助流式请求的一部分,检索这些组件的数据。在各实施例中,可以设置布尔标记,以表示响应与前一主要请求相关联。
在各实施例中,在响应报头中放置了参数,包括但不限于,视图Id、上下文Id,以及辅助。将此信息置于报头中使得提取比在置于响应正文中的情况下计算成本更低,响应正文会包含大量的数据。然而,本领域技术人员应该认识到可以传输和提取数据的若干种方式。因此,本领域技术人员应该认识到,后端系统可以将与用户活动监控相关的一个或多个参数,作为响应有效负载的一部分、作为响应报头的一部分、在单独的通信中,或其某种组合,发送到客户端。在各实施例中,可以通过监控应用来嗅探前端和后端之间的交互,以获得用户活动监控相关的数据。
B.示例性方法实施例
图3描绘了根据本发明的各实施例的用于监控用户活动的方法的实施例。在各实施例中,在客户端处记录(305)涉及用户的与应用的交互的语义信息。语义信息应该被理解为表示可以被用来确定或推断用户在对应用做什么或尝试做什么的信息。为了促进语义信息在客户端和服务器之间的传递,使用(310)可识别的参数来在客户端或前端和服务器或后端之间传输至少一些语义信息。在各实施例中,专门参数可以出现在URL、报头、正文中,或其组合中。记录的有关在后端执行的一个或多个操作的信息可以链接(315)到在前端接收到的一个或多个客户端请求。在前端具有有关用户正在做什么的语义信息和具有链接的前端和后端操作可以各自被用来帮助查明(320)当与应用进行交互时用户在做什么或试图做什么。在各实施例中,应用可以使用此框架,诸如通过嗅探客户端和服务器之间的流量,来监控交互,并使用可轻松地识别的参数来提取语义信息。然后,所提取的语义信息可以被应用和/或管理员用来监控用户的交互。在各实施例中,此应用可以在后端操作。
传输有关用户界面以及上下文标识符的语义信息允许在至少两个级别执行分析:1)基于用户界面语义的关于“正在进行什么”的快速分析(在各实施例中,此分析可以实时地来完成并可以聚集在一起);以及,2)关于在特定请求-响应中发生了什么事的较深的分析(在各实施例中,此分析可以通过使用上下文标识符来完成,以将用户交互、快速分析,或两者连接回到对于特定请求-响应的关于在后端发生了什么事的比较深入的信息)。典型的工作流包括管理员在快速分析中使用信息来标识正在运行的系统中的可能的问题,然后使用较深的分析来确定实际发生了什么以及为什么。
下面提供了与用户活动监控相关的方法的示例性实施例。示例性实施例包括实现信息,该信息是作为示例而不是作为限制提供的。例如,值得注意的是,所示出的并且要求保护的方法中的一些步骤可以改变或以不同的顺序来执行,而不会在实质上改变本发明。相应地,应该注意,实现细节是选择问题,可以使用其他实现。因此,是选择问题或者不会在实质上改变用户活动监控应用的实现细节不应该限制本发明的范围。
A.部分页面请求实施例
图4描绘了根据本发明的各实施例的用于对于部分页面请求的用户活动监控的方法。在各实施例中,用户在客户端或前端启动动作。例如,用户可以向应用中输入URL。在各实施例中,客户端侧模块存储(420)与在第一次交互时的用户活动相关的数据。例如,如果初始动作是用户选择网页上的链接或按钮,则可以记录链接或按钮标识符,可以记录事件,可以记录链接或按钮的区域,等等。由于用户请求的客户端开始时间可能对于第一次交互不是已知的,因此,在各实施例中,可以模拟此信息,或可以保留空白/未知。在各实施例中,可以收集和存储其他用户数据。
如图4所示,从客户端向后端415发送(420)请求。在各实施例中,请求可以包括(425)在客户端410处捕捉的用户活动数据中的一些。作为替代地,当前请求的用户活动数据可以不与所述请求包括在一起,而是部分地与当前请求并且部分地与下一请求一起、只与下一请求一起、或作为一个或多个单独的通信,来发送。
后端系统415接收(430)来自前端410的请求并处理(430)该请求。在各实施例中,后端系统生成上下文标识符(例如,执行上下文标识符(ECID)),并记录在处理请求时执行的活动,并将它们与该ECID相关联。记录活动并将它们与启动请求相关联有助于诊断和监控并有助于记录用户活动。后端应用服务器常常可以具有用于生成请求或上下文标识符的机制。因此,在各实施例中,服务器组件插件接口可以使用该标识符。应该注意,能够使用不同的上下文标识符可以使本发明的各实施例从特定的应用服务器实现抽象出来,从而具有很大的通用性。在各实施例中,后端系统415提取用户活动数据,将它与上下文标识符相关联,并存储它。在各实施例中,服务器系统不执行提取、存储或分析;相反,此信息只是为了监控要收集的网络流量的一个或多个其他应用或工具而发布。因此,本发明的各实施例在一个请求的开始和响应之间执行临时数据存储,但是可以不以别的方式存储或记录数据。在各实施例中,所提取的和记录的用户活动数据可以包括当前请求、前一请求,或两者的信息。
处理完请求之后,后端系统返回(430)响应435。在各实施例中,响应包括用于完成所请求的动作的响应有效负载,以及可以对于用户监控有用的其它用户活动相关的数据。例如,在各实施例中,响应可以在响应报头中包括上下文标识符,该上下文标识符在所描绘的示例中是ECID.l,及诸如更新的页面的视图标识符之类的其他数据。例如,如果作为请求,用户选择查看产品目录,则请求URL可以具有与后端标识符不同的标识符。因此,在各实施例中,视图ID(用户看到的视图的后端标识符)可以作为专门参数与响应一起发送。作为说明,响应1的图4中所描绘的视图标识符可以是“ProductCatalog.jspx”。
前端系统410接收并处理(440)来自后端的响应。在各实施例中,客户端侧加载页面,并注解完成所请求的动作的客户端结束时间。在各实施例中,此信息将作为下一请求的一部分发送到服务器。作为替代地,与第一用户请求和响应相关的某些或所有信息可以不被收集或传输到后端。
用户与加载的页面进行交互(例如,点击按钮/链接或改变属性),这会创建下一请求。例如,下一请求可以是传递到服务器以触发部分页面响应的事件,或者,下一请求可以是传递到服务器以触发组件的部分刷新的属性变化。本领域技术人员应该认识到,一种部分页面请求可以是部分页面提交。当请求2准备好进入服务器时,客户端模块检查以查看是否有为前面的请求保存的任何客户端侧用户活动数据。如果是,它被包括在该请求中,即图4中的请求2中。
在各实施例中,与请求一起捎带的用户活动数据可以被包括在报头或者正文中,因为请求通常小于响应,并且响应通常是诸如HTTPPost之类的易于解析的格式的。此外,在各实施例中,标识终端用户监控信息的专门参数使得标识更加容易,因为解析器可以查找正文中的该参数。在各实施例中,专门参数可以是包含诸如客户端开始时间、用户激活的事件、区域等之类的各种用户活动信息的XML文档。
在图4的所描绘的示例中,下一请求即请求2被发送(445)到服务器,并且与请求一起还包括用户活动数据。在各实施例中,用户活动数据是与前面的请求-响应相关的数据(诸如请求1的客户端开始时间(如果已知或已模拟出)、完成请求-响应的客户端结束时间,以及该请求-响应的上下文标识符)。在各实施例中,用户活动数据还可包括当前请求的数据(诸如请求2的客户端开始时间,及其他可能已知的事件或组件信息)。请注意,在此所描绘的实施例中,请求2的上下文标识符不是已知的,因为该标识符是由服务器指定的。此外,请求2的客户端结束时间将尚未是已知的,因为该请求当前正在进行中。
服务器接收(450)此下一请求,并如以前一样,重复许多步骤。即,在各实施例中,后端生成上下文标识符(例如,ECID2),处理请求,并记录关于请求2的处理的数据。在各实施例中,后端415还从请求中提取用户活动数据并记录该数据。如前面所指出的,在各实施例中,服务器系统可以不执行提取、存储或分析;相反,此数据只是为监控要收集的网络流量的一个或多个其他应用或工具而发布。具有与唯一上下文标识符相关联的用户活动数据允许记录的数据被链接在一起,这可以提供对用户和整个系统之间的交互的更大的洞察。即,具有与唯一上下文标识符相关联的用户活动数据可使记录的数据与由其他后端组件记录的更深入的信息链接,以获得关于相对于特定请求/响应发生了什么的更全面的了解。在各实施例中,后端还发送响应数据(响应2),其可以包括用于监控用户活动的数据,诸如请求和响应2的上下文标识符、视图标识符等等。
本领域技术人员应该认识到,可以对于各种用户交互重复这些一般处理步骤(例如,步骤440到455)。例如,步骤460到475重复收集和发布用户活动相关的数据和促进后端和前端之间的通信以链接各种活动的相同的一般概念步骤。
本领域技术人员还应该认识到,在用户活动数据与下一请求一起捎带的各实施例中,如果没有下一请求,该数据可以单独地发送、在应用卸载之前发送、下一次应用加载时发送、或不发送。本领域技术人员应该认识到,存在用于发送数据的若干种方式。
B.获取存储的用户活动相关的数据
在各实施例中,在客户端侧收集的用户活动相关的数据作为网页的一部分存储。然而,Web应用可以生成各种请求和响应交互,这会在试图收集和传递与用户活动相关的数据时增加复杂度。例如,如果web浏览器被重定向到新页面,则当呈现新页面时,会丢失与页面一起存储的任何客户端侧信息。为解决这样的情况,用户活动相关的数据可以被存储在一个或多个辅助存储器中和/或从那里访问。图5描绘了根据本发明的各实施例的用于获得存储的用户活动监控数据的方法。
为了说明而不是限制,图5表示了根据本发明的各实施例的客户端510和服务器515之间的交互的一部分,强调了获取与用户活动相关的数据。仅为了说明而假设从服务器发送(520)到客户端的响应导致客户端呈现(525)新的整个页面。由于生成了新页面,因此,存储在以前的页面中的用户活动相关的数据现在丢失。然而,在各实施例中,该用户活动数据中的某些,诸如前面的请求-响应交互的客户端结束时间,可能是有用的,并且应该传递到后端以用于进行用户活动监控。因此,当客户端系统准备响应于动作而发送下一请求时,它检查(535)是否有与该页面一起存储的前面的请求-响应交互的用户活动相关的数据。如果来自前面的请求的用户活动相关的数据与网页一起存储,则客户端系统使用(540)该数据来发送到服务器。然而,如在这里所描绘的其中新页面已经呈现的示例中,当前页面是新的,没有这样的存储的数据。相应地,在各实施例中,客户端系统510从一个或多个辅助源获取(545)该数据。
因此,在各实施例中,当存储用户活动相关的数据时,客户端可以将用户活动相关的数据与网页保存在一起,还可将它保存在一个或多个其他位置。在各实施例中,在呈现之前,用户活动相关的数据被存储到辅助存储器。作为其补充,或作为替代方案,客户端可以从辅助源,诸如但不限于浏览器会话存储器、cookie或全局存储器,获取数据。
获取了用户活动相关的数据(无论是从当前页面(540)还是从一个或多个辅助源(545))之后,客户端与用户活动相关的数据一起发送当前请求。
C.专门请求和响应
如上一节所指出的,Web应用可以生成各种请求和响应交互,这会在试图收集和传递与用户活动相关的数据时增加复杂度。存在生成不是直接用户动作的请求的情况。由于本发明的各实施例的主要目标之一是聚集可以被用来确定或推断用户活动或动作的数据,因此,忽视作为技术交互而并非用户交互生成的动作是有益的。下面参考图6和图7呈现了两个这样的示例。图6描绘了根据本发明的各实施例的包括辅助请求(诸如数据流的情况)的用于用户活动监控的方法。图7描绘了根据本发明的各实施例的包括重定向请求的用于用户活动监控的方法。
1.数据流
客户端和服务器之间的数据流交互会导致客户端和服务器之间的额外的请求和响应。为更准确地捕捉真正的用户活动,本发明的各实施例补偿这样的交互。在各实施例中,是较大的任务的部分的交互被注释为主要任务的辅助任务。作为示例而非限制,考虑图6中所描绘的示例。
图6描绘了根据本发明的各实施例的包括辅助请求的用于用户活动监控的方法。用户处于在客户端610处向他或她显示的网页620中。为了说明,假设用户在页面上选择了导致表被呈现的动作。请求(请求n)被发送(625)到后端。用户活动相关的数据可以与该请求一起发送。在各实施例中,用户活动相关的数据可以包括有关前面的请求-响应交互(请求-响应n-1)的数据,并可以包括有关当前请求的数据(请求n)。
后端系统615接收(630)来自前端610的请求并处理(630)该请求。在各实施例中,后端系统生成上下文标识符(例如,执行上下文标识符(ECID)),并记录在处理请求时执行的活动,并将它们与该ECID相关联。在各实施例中,后端系统还提取用户活动相关的数据,使用专门参数来标识该数据,并存储该数据。如前面所指出的,在各实施例中,服务器系统可以不执行提取、存储或分析。相反,此信息只是为监控要收集的网络流量的一个或多个其他应用或工具而发布。后端系统返回635响应。在各实施例中,响应包括响应有效负载,以及可以对于用户监控有用的额外的用户活动相关的数据。
前端系统610接收并处理(640)来自后端的响应。在网页上有一个或多个表的情况下或其他数据流情况下,当响应回到客户端时,它接收页面的布局(例如,640的显示)。但是,获取填充一个或多个表的数据,并在一个或多个随后的交互中加载。因此,当客户端系统接收到响应n时,它自动地向服务器启动(645)另一个请求(请求n+1),以获取表的数据。在各实施例中,客户端模块理解它是辅助请求,因为代码(例如,Java描述语言代码)中的客户端启动了动作。
然而,此请求是主要请求的辅助请求。从用户的角度来看,他或她要求获取带有数据的表,因此,当显示带有数据的表时,认为动作完成。因此,在各实施例中,客户端系统可以包括表示此请求(请求n+1)是辅助请求的专门参数。在各实施例中,表示它是辅助请求的专门参数可以被包括在请求正文中或作为URL的一部分。专门参数与请求包括在一起允许嗅探流量以监控用户活动数据的应用知道此请求是辅助请求。此外,由于初始请求(请求n)还没有被满足,因此,客户端可以不将任何其他用户活动相关的数据与此请求(请求n+1)包括在一起。
服务器接收并处理(650)该请求。在各实施例中,服务器可以为辅助请求指定上下文标识符,并记录与对该请求的处理相关联的数据。在处理该请求之后,服务器准备响应(响应n+1)。在各实施例中,后端系统理解请求(请求n+1)是流式请求,该流式请求使得它成为辅助请求,并向响应添加(655)表示它是辅助响应的专门指示。在各实施例中,如果包括了辅助请求-响应交互的上下文标识符,则监控用户活动数据的应用可以将该上下文标识符与主要上下文标识符相关联。
客户端接收(660)该辅助响应,并将数据加载到一个或多个表中。在各实施例中,客户端结束时间被计算为完成用户的请求的响应的结束。在所描绘的示例中,客户端开始时间670是主要请求(请求n)的开始,客户端结束时间675是辅助响应(响应n+1)的结束,而不是初始响应的结束。本领域技术人员应该认识到,在一个网页上可以有若干个表。在各实施例中,当最后一个表被用数据填充时,设置客户端结束时间。图6中的项目660示出了带有用数据填充的表的网页。在各实施例中,诸如客户端开始时间670和客户端结束时间675之类的用户活动相关的数据可以作为下一请求(请求n+2)的一部分或作为单独的通信发送到服务器。在各实施例中,用户活动相关的数据包括主要请求的上下文标识符(例如,ECID.n)、辅助请求(例如,ECID.n+1),或两者。
本领域技术人员还应该认识到,如果存在多个表,则在各实施例中,还可跟踪各个表的结束时间。例如,服务器可以为每一个表使用单独的线程,当收集完一个表的数据时,可以将它发送到客户端。客户端可以跟踪哪些表没有完成,服务器可以做同样的事情。当发送完所有表的数据时,服务器关闭连接,并且客户端知道已完成,并可以计算完成结束时间。
2.客户端侧重定向
客户端侧重定向对准确地监控用户活动带来了类似的挑战。具体而言,客户端侧重定向还导致客户端和服务器之间的不是真正的用户活动的额外的请求和响应。为更准确地捕捉真正的用户活动,本发明的各实施例通过注释客户端侧重定向来补偿。作为示例而非限制,考虑图7中所描绘的示例。
图7描绘了根据本发明的各实施例的包括客户端侧重定向的用于用户活动监控的方法。用户处于在客户端710处向他或她显示的网页720处。用户选择的事件导致请求(请求n)被发送(725)到后端715。用户活动相关的数据可以与该请求一起发送。在各实施例中,用户活动相关的数据可以包括有关前面的请求-响应交互(请求-响应n-1)的数据,并可以包括有关当前请求的数据(请求n)。
后端系统715接收(730)该请求并处理(730)它。在各实施例中,后端系统生成上下文标识符(例如,ECID),并记录在处理请求时执行的活动,并将它们与该上下文标识符相关联。在各实施例中,后端系统还提取用户活动相关的数据,使用专门参数来标识数据,并存储该数据。在各实施例中,服务器系统可以不执行提取,存储,或分析,而是,此信息只是为监控要收集的网络流量的一个或多个其他应用或工具而发布。后端系统返回735响应。在各实施例中,响应包括响应有效负载,以及可以对于用户监控有用的额外的用户活动相关的数据。
前端系统710接收并处理(740)来自后端的响应。为了说明,当在客户端处处理时该响应导致重定向请求(请求n+1)被发送(745)。在各实施例中,当在客户端上处理重定向响应时,在启动重定向请求(请求n+1)之前,客户端将任何未报告的用户活动数据以及其相关联的ECID保存到辅助存储器中。与前一章节的数据流情况一样,此请求是主要请求的辅助请求。从用户的角度来看,他或她将可能不考虑与初始请求分开的重定向任务。因此,在各实施例中,客户端系统可以包括表示此请求(请求n+1)是辅助请求的专门参数。在各实施例中,表示它是辅助请求的专门参数可以被包括在请求正文中或作为URL的一部分。专门参数与请求包括在一起允许嗅探流量的应用知道此请求是辅助请求。此外,在各实施例中,由于初始请求(请求n)还没有被满足,因此,客户端可以不将任何其他用户活动数据与此请求(请求n+1)包括在一起。
服务器接收并处理(750)该请求。在各实施例中,服务器可以为重定向请求指定上下文标识符,并记录与对请求的处理相关联的数据。在处理请求之后,服务器准备响应(响应n+1)。在各实施例中,后端系统理解该请求(请求n+1)是重定向请求,该重定向请求使得它成为辅助请求,并向响应中添加(755)表示它是辅助响应的专门指示。在各实施例中,如果包括了辅助请求-响应交互的上下文标识符,则监控用户活动数据的应用可以将该上下文标识符与主要上下文标识符相关联。
客户端接收(760)重定向响应并加载网页。本领域技术人员应该认识到,由于重定向导致整个页面加载,从辅助源获得诸如客户端开始时间770之类的一些用户活动相关的数据。因此,在各实施例中,客户端检索存储在辅助存储器中的用户活动相关的数据,通常是ECID和请求725的客户端开始时间。在各实施例中,在处理完成用户的请求的响应755之后,计时客户端结束时间。在所描绘的示例中,客户端开始时间770是主要请求(请求n)的开始,客户端结束时间775是辅助响应(响应n+1)的结束,而不是初始响应的结束。在各实施例中,诸如客户端开始时间770和客户端结束时间775之类的用户活动相关的数据可以作为下一请求(请求n+2)的一部分或作为单独的通信发送到服务器。在各实施例中,用户活动相关的数据包括主要请求的上下文标识符(例如,ECID.n)、辅助请求(例如,ECID.n+1),或两者。
D.计算系统实现
在各实施例中,计算系统可以被配置成执行此处所呈现的方法、功能,和/或操作中的一个或多个。实现此处所描述的方法、功能和/或操作中的至少一个或多个的系统可以包括在计算机系统上操作的用户活动监控应用。计算机系统可以包括一台或多台计算机和一个或多个数据库。
应该注意,本发明可以以任何指令-执行/计算设备或能够处理数据的系统,包括但不限于电话、膝上型计算机、台式计算机,以及服务器,来实现。本发明还可实现到其他计算设备和系统中。此外,本发明的各方面可以以各种方式来实现,包括软件、硬件,或固件,或其组合。例如,实施本发明的各方面的功能可以由以各种方式实现的组件来执行,包括离散逻辑组件、一个或多个专用集成电路(ASIC),和/或程序控制的处理器。应该注意,实现这些项目的方式对本发明不是关键的。
图8描绘了可以实现本发明的各实施例的指令-执行/计算设备800的一个实施例的功能框图,包括但不限于客户端和服务器。如图8所示,处理器802执行软件指令并与其他系统组件进行交互。在一个实施例中,处理器802可以是诸如(作为示例,而不是限制)AMD处理器、INTEL处理器、SUN MICROSYSTEMS处理器,或POWERPC兼容的CPU之类的通用处理器,或者处理器可以是专用的处理器。耦合到处理器802的存储设备804提供数据和软件程序的长期存储。存储设备804可以是硬盘驱动器和/或能够存储数据的另一设备,诸如磁性或光学介质(例如,磁盘、磁带、光盘、DVD等等)驱动器或固态存储设备。存储设备804可以保存与处理器802一起使用的程序、指令和/或数据。在一个实施例中,存储在存储设备804中的或从其加载的程序或指令可以加载到存储器806中,并由处理器802执行。在一个实施例中,存储设备804保存用于在处理器802上实现操作系统的程序或指令。在一个实施例中,可能的操作系统包括但不限于UNIX、AIX、LINUX、Microsoft Windows,以及Apple MAC OS。在各实施例中,操作系统在计算系统800上执行,并控制计算系统800的操作。
耦合到处理器802的可寻址的存储器806可以被用来存储数据和要由处理器802执行的软件指令。存储器806可以是,例如,固件、只读存储器(ROM)、闪存、非易失性随机存取存储器(NVRAM)、随机存取存储器(RAM),或其任何组合。在一个实施例中,存储器806存储若干个或者称为服务、实用程序、组件或模块的软件对象。本领域技术人员还将认识到,存储器804和存储器806可以是在功能和容量方面相同的。在一个实施例中,此处所讨论的方法、功能,或操作中的一个或多个可以被实现为存储在存储器804、806中的并由处理器802执行的模块。
在一个实施例中,计算系统800提供与其他设备、其他网络或两者进行通信的能力。计算系统800可以包括一个或多个网络接口或适配器812,814,以通信地将计算系统800耦合到其他网络和设备。例如,计算系统800可以包括网络接口812、通信端口814,或两者,其中每一个都通信地耦合到处理器802,并可以被用来将计算系统800耦合到其他计算机系统、网络,和设备。
在一个实施例中,计算系统800可以包括耦合到处理器802的一个或多个输出设备808,以促进显示图形和文本。输出设备808可以包括但不限于显示器、LCD屏幕、CRT监视器、打印机、触摸屏,或用于显示信息的其他设备。计算系统800还可包括图形适配器(未示出),以有助于在输出设备808上显示信息或图像。
耦合到处理器802的一个或多个输入设备810可以被用来促进用户输入。输入设备810可以包括但不限于诸如鼠标、轨迹球或触摸板之类的指示设备,还可包括键盘或键区以将数据或指令输入到计算系统800中。
在一个实施例中,计算系统800可以从扫描仪、复印机、传真机,或其他计算设备通过通信端口814、网络接口812,存储在存储器804/806中的数据,或通过输入设备810接收输入。
在各实施例中,计算系统800可以包括一个或多个数据库,其中一些数据库可以存储由程序或应用所使用的和/或所生成的数据。在各实施例中,一个或多个数据库可以位于驻留在计算系统800内的一个或多个存储设备804中。在替换实施例中,一个或多个数据库可以是远程(即,不是计算系统800本地的),并通过其网络接口814与计算系统800共享网络816连接。在各种实施例中,数据库可以是诸如Oracle数据库之类的适于响应于SQL格式化的命令而存储、更新、检索数据的关系数据库。
本领域技术人员将认识到,没有哪个计算系统或编程语言对本发明的实施是关键的。本领域技术人员还将认识到,上文所描述的若干个元件可以是在物理上和/或功能上分离成子模块或结合在一起。
应该注意,本发明的各实施例还可以进一步包括带有在其上具有用于执行各种计算机实现的操作的计算机代码的计算机可读取介质的计算机产品。介质和计算机代码可以是专门为本发明的用途而设计和构建的那些,或者,它们可以是公知的或对精通相关技术的人可用的类型。计算机可读取的介质的示例包括但不限于诸如硬盘、软盘,以及磁带之类的磁性介质;诸如CD-ROM和全息照相装置之类的光学介质;磁光介质;以及专门被配置成存储或存储且执行程序代码的硬件设备,诸如专用集成电路(ASIC)、可编程逻辑器件(PLD)、闪存设备,以及ROM和RAM设备。计算机代码的示例包括诸如由编译器产生的机器代码,以及由计算机使用解释器来执行的包含更高级别的代码的文件。本发明的各实施例可以完全地或部分地作为机器可执行指令来实现,机器可执行指令可以是由计算机执行的程序模块。程序模块的示例包括库、程序、例程、对象、组件,以及数据结构。在分布式计算环境中,程序模块可以在物理上位于本地、远程,或两者的环境中。
本领域的技术人员应了解,前面的示例和实施例只是示例性的,而不限制本发明的范围。在阅读说明书并研究附图之后对本领域的技术人员明显的所有置换、增强、等效、组合,以及改善都包括在本发明的真正的精神和范围内。

Claims (24)

1.一种用于促进对用户交互的监控的方法,包括:
捕捉关于客户端系统处的用户发起的事件的语义信息,所述用户发起的事件导致请求被发送到后端系统;
使用至少一个专门参数来将所述关于用户发起的事件的语义信息中的至少一些从所述客户端系统传递到所述后端系统;以及
在所述客户端系统处接收用于将所述语义信息中的至少一些与由所述后端系统在处理所述请求时执行的一个或多个操作链接的标识符。
2.如权利要求1所述的方法,其中,关于用户发起的事件的所述语义信息包括下列各项中的至少一项:所述用户发起的事件的客户端开始时间、所述用户发起的事件的客户端结束时间、事件信息,以及部分目标。
3.如权利要求2所述的方法,其中,所述事件信息包括下列各项中的至少一项:事件类型、组件类型、组件客户端标识符、组件显示名称、区域名称,以及区域视图标识符。
4.如权利要求1所述的方法,其中,所述使用至少一个专门参数来将关于用户发起的事件的所述语义信息中的至少一些从所述客户端系统传递到所述后端系统的步骤进一步包括:
将所述至少一个专门参数与到所述后端系统的请求包括在一起。
5.如权利要求4所述的方法,其中,所述请求是响应于所述用户发起的事件创建的请求。
6.如权利要求4所述的方法,其中,所述请求是由随后的用户发起的事件创建的请求。
7.如权利要求6所述的方法,其中,所述将所述至少一个专门参数与到所述后端系统的请求包括在一起的步骤进一步包括:
响应于确定关于所述用户发起的事件的语义信息与当前网页一起存储,对于所述至少一个专门参数使用与所述当前网页一起存储的所述语义信息中的至少一些;以及
响应于确定关于所述用户发起的事件的语义信息不与所述当前网页一起存储,对于所述至少一个专门参数使用存储在辅助存储器中的所述语义信息中的至少一些。
8.如权利要求1所述的方法,其中,所述捕捉关于客户端系统处的用户发起的事件的语义信息,所述用户发起的事件导致请求被发送到后端系统的步骤,进一步包括:
将所述语义信息中的至少一些存储在辅助存储器中。
9.如权利要求1所述的方法进一步包括:
响应于所述用户发起的事件导致至少一个辅助请求被从所述客户端系统发送,将表示所述请求是辅助请求的指示与所述至少一个辅助请求包括在一起。
10.包括存储了一个或多个指令序列的至少一个非瞬时的计算机可读取的介质的计算机程序产品,其中,由一个或多个处理器对所述一个或多个指令序列的执行导致所述一个或多个处理器执行如权利要求1所述的方法。
11.一种用于促进对用户交互的监控的方法,包括:
在后端系统处接收在客户端系统处启动的至少一个事件的用户活动相关数据和请求,所述用户活动相关数据使用至少一个能够容易地识别的参数被传递到所述后端系统;以及
响应于所述请求正在被处理,与对所述处理过的请求的响应一起包括至少一个能够容易地识别的参数,所述参数至少包括用于将由所述后端系统在处理所述请求时执行的一个或多个操作与启动所述请求的客户端启动的事件相关联的唯一标识符。
12.如权利要求11所述的方法,其中,所述在客户端系统处启动的至少一个事件的用户活动相关数据包括下列各项中的至少一项:
与所述请求相关联的用户活动相关数据;以及
与前面的请求相关联的用户活动相关数据。
13.如权利要求12所述的方法,其中,与前面的请求相关联的所述用户活动相关数据包括下列各项中的至少一项:所述前面的请求的客户端开始时间、所述前面的请求的完成的客户端结束时间,以及用于关联在处理所述前面的请求时由所述后端系统执行的一个或多个操作的唯一标识符。
14.如权利要求12所述的方法,其中,所述用户活动相关数据包括下列各项中的至少一项:所述请求的客户端开始时间、部分目标、事件类型、组件类型、组件客户端标识符、组件显示名称、区域名称,以及区域视图标识符。
15.如权利要求11所述的方法,其中,所述客户端启动的事件是对用户发起的动作的辅助请求,所述至少一个能够容易地识别的参数进一步包括所述响应是对所述辅助请求的辅助响应的指示。
16.包括存储了一个或多个指令序列的至少一个非瞬时的计算机可读取的介质的计算机程序产品,其中,由一个或多个处理器对所述一个或多个指令序列的执行导致所述一个或多个处理器执行如权利要求11所述的方法。
17.包括存储了一个或多个指令序列的至少一个非瞬时的计算机可读取的介质的计算机程序产品,其中,由一个或多个处理器对所述一个或多个指令序列的执行导致所述一个或多个处理器执行包括下列各项的步骤:
监控客户端系统和后端系统之间的网络流量交互以监控对于标识与用户发起的动作相关的数据的一个或多个用户活动监控参数,所述与用户发起的动作相关的数据包括由所述客户端系统捕捉到的数据;
响应于网络流量交互包括含有与用户发起的动作相关的数据的用户活动监控参数,解析所述网络流量交互,以提取与所述用户发起的动作相关的所述数据;以及
使用所提取的数据来确定或推断关于所述用户发起的动作的用户动作。
18.如权利要求17所述的计算机程序产品,其中,所述与用户发起的动作相关的数据包括下列各项中的至少一项:客户端开始时间、客户端结束时间、部分目标、事件类型、组件类型、组件客户端标识符、组件显示名称、区域名称,以及区域视图标识符。
19.如权利要求18所述的计算机程序产品,其中,标识与用户发起的动作相关的数据的所述一个或多个用户活动监控参数是与请求和响应中的至少一个包括在一起的。
20.如权利要求17所述的计算机程序产品,还包括:
从所述所提取的数据中接收标识符,所述标识符将所述与用户发起的动作相关的数据中的至少一些与由所述后端系统在处理请求时执行的一个或多个操作链接。
21.包括存储了一个或多个指令序列的至少一个非瞬时的计算机可读取的介质的计算机程序产品,其中,由一个或多个处理器对所述一个或多个指令序列的执行导致所述一个或多个处理器执行包括下列各项的步骤:
捕捉关于客户端系统处的用户发起的事件的语义信息,所述用户发起的事件导致请求被发送到后端系统;
使用至少一个专门参数来将所述关于用户发起的事件的语义信息中的至少一些从所述客户端系统传递到所述后端系统;以及
在所述客户端系统处接收用于将所述语义信息中的至少一些与由所述后端系统在处理所述请求时执行的一个或多个操作链接的标识符。
22.包括存储了一个或多个指令序列的至少一个非瞬时的计算机可读取的介质的计算机程序产品,其中,由一个或多个处理器对所述一个或多个指令序列的执行导致所述一个或多个处理器执行包括下列各项的步骤:
在后端系统处接收在客户端系统处启动的至少一个事件的用户活动相关数据和请求,所述用户活动相关数据使用至少一个能够容易地识别的参数被传递到所述后端系统;以及
响应于所述请求正在被处理,与对所述处理过的请求的响应一起包括至少一个能够容易地识别的参数,所述参数至少包括用于将由所述后端系统在处理所述请求时执行的一个或多个操作与启动所述请求的客户端启动的事件相关联的唯一标识符。
23.一种在一个或多个微处理器上操作的用于促进监控用户交互的系统,包括:
用于捕捉关于客户端系统处的用户发起的事件的语义信息的客户端模块,所述用户发起的事件导致请求被发送到后端系统;
所述客户端模块使用至少一个专门参数来将所述关于用户发起的事件的语义信息中的至少一些从所述客户端系统传递到所述后端系统;以及
所述客户端模块在所述客户端系统处接收用于将所述语义信息中的至少一些与由所述后端系统在处理所述请求时执行的一个或多个操作链接的标识符。
24.一种在一个或多个微处理器上操作的用于促进监控用户交互的系统,包括:
用于接收在客户端系统处启动的至少一个事件的用户活动相关数据的后端系统和请求,所述用户活动相关数据使用至少一个能够容易地识别的参数被传递所述后端系统;以及
所述后端系统响应于所述请求被处理,将至少一个能够容易地识别的参数与对于所处理的请求的响应包括在一起,所述参数至少包括用于将由所述后端系统在处理所述请求时执行的一个或多个操作与启动所述请求的客户端启动的事件相关联的唯一标识符。
CN201280010700.8A 2011-02-28 2012-02-23 监控客户端系统处用户和后端系统之间交互的方法和系统 Active CN103415841B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/037,074 2011-02-28
US13/037,074 US8650284B2 (en) 2011-02-28 2011-02-28 User activity monitoring
PCT/US2012/026367 WO2012125270A1 (en) 2011-02-28 2012-02-23 Method and computer program to monitor and correlate user - initiated actions with backend operations

Publications (2)

Publication Number Publication Date
CN103415841A true CN103415841A (zh) 2013-11-27
CN103415841B CN103415841B (zh) 2016-06-15

Family

ID=45809689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280010700.8A Active CN103415841B (zh) 2011-02-28 2012-02-23 监控客户端系统处用户和后端系统之间交互的方法和系统

Country Status (6)

Country Link
US (1) US8650284B2 (zh)
EP (1) EP2681659B1 (zh)
JP (2) JP6259662B2 (zh)
KR (1) KR101988608B1 (zh)
CN (1) CN103415841B (zh)
WO (1) WO2012125270A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647794A (zh) * 2013-12-31 2014-03-19 北京启明星辰信息安全技术有限公司 一种基于j2ee平台的数据关联方法及关联插件
CN108292257A (zh) * 2015-10-22 2018-07-17 赛门铁克公司 用于注解客户端-服务器事务的系统和方法
CN113396411A (zh) * 2019-01-11 2021-09-14 甲骨文国际公司 用于增强的主机分类的系统和方法
CN113835777A (zh) * 2017-02-17 2021-12-24 谷歌有限责任公司 移动应用活动检测器
US11729667B2 (en) 2018-09-28 2023-08-15 Huawei Technologies Co., Ltd. Ethernet data-based communication method and apparatus

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6264849B2 (ja) * 2013-11-12 2018-01-24 富士通株式会社 分析方法、分析装置、及び分析プログラム
US9407711B2 (en) 2013-11-21 2016-08-02 Facebook, Inc. Systems and methods for receiving and processing detected events
EP2924581B1 (en) * 2014-03-24 2019-09-04 Pingdom AB Method, server and agent for monitoring user interaction patterns
JP6397312B2 (ja) * 2014-11-06 2018-09-26 キヤノン株式会社 ネットワークシステム、及び、ネットワークシステムの制御方法
US10028116B2 (en) 2015-02-10 2018-07-17 Microsoft Technology Licensing, Llc De-siloing applications for personalization and task completion services
US10432490B2 (en) * 2015-07-31 2019-10-01 Cisco Technology, Inc. Monitoring single content page application transitions
US10949066B2 (en) 2016-02-01 2021-03-16 Microsoft Technology Licensing, Llc Recall service for productivity applications
US10984003B2 (en) * 2017-09-16 2021-04-20 Fujitsu Limited Report generation for a digital task
CN108874643A (zh) * 2018-06-05 2018-11-23 淮南师范学院 一种办公室免打扰系统
CN109634808B (zh) * 2018-12-05 2022-05-10 中信百信银行股份有限公司 一种基于关联分析的链式监控事件根因分析方法
US11568421B1 (en) * 2019-07-24 2023-01-31 Walgreen Co. Client side diagnostics for enhanced customer care
CN112328225A (zh) * 2021-01-07 2021-02-05 北京安泰伟奥信息技术有限公司 一种页面运行方法及其运行系统
US20230333962A1 (en) * 2022-04-19 2023-10-19 Autodesk, Inc. User feedback mechanism for software applications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000075827A1 (en) * 1999-06-04 2000-12-14 Websidestory, Inc. Internet website traffic flow analysis
WO2002048899A1 (en) * 2000-12-14 2002-06-20 Traffion Technologies Pty Ltd A method of tracking browsing activity of a user in a computer network
US20060085420A1 (en) * 2004-09-27 2006-04-20 Symphoniq Corp. Method and apparatus for monitoring real users experience with a website
CN101632067A (zh) * 2007-03-12 2010-01-20 思杰系统有限公司 用于终端用户体验监控的系统和方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041352A (en) * 1998-01-23 2000-03-21 Hewlett-Packard Company Response time measuring system and method for determining and isolating time delays within a network
GB2348718A (en) * 1999-04-07 2000-10-11 Ibm Data processing system having a centralised trace facility with dynamic tracing
US6993590B1 (en) 2000-01-13 2006-01-31 Inktomi Corporation Method of creating data streams for user-specific usage data gathering systems
US20020184363A1 (en) * 2001-04-20 2002-12-05 Steven Viavant Techniques for server-controlled measurement of client-side performance
US7650403B2 (en) * 2002-11-20 2010-01-19 Microsoft Corporation System and method for client side monitoring of client server communications
US7962931B2 (en) * 2002-12-23 2011-06-14 Coupons.Com Incorporated Method and system for integrating television brand advertising with promotional marketing
JP2008117093A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd ユーザ操作記録・再現方法及び装置
JP4906672B2 (ja) 2007-10-22 2012-03-28 株式会社日立製作所 ウェブアプリケーションの処理記録方法および処理記録装置
JP2009245374A (ja) * 2008-03-31 2009-10-22 Nec Corp 負荷監視分析装置、方法ならびにプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000075827A1 (en) * 1999-06-04 2000-12-14 Websidestory, Inc. Internet website traffic flow analysis
WO2002048899A1 (en) * 2000-12-14 2002-06-20 Traffion Technologies Pty Ltd A method of tracking browsing activity of a user in a computer network
US20060085420A1 (en) * 2004-09-27 2006-04-20 Symphoniq Corp. Method and apparatus for monitoring real users experience with a website
CN101632067A (zh) * 2007-03-12 2010-01-20 思杰系统有限公司 用于终端用户体验监控的系统和方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647794A (zh) * 2013-12-31 2014-03-19 北京启明星辰信息安全技术有限公司 一种基于j2ee平台的数据关联方法及关联插件
CN103647794B (zh) * 2013-12-31 2017-07-21 北京启明星辰信息安全技术有限公司 一种基于j2ee平台的数据关联方法及关联插件
CN108292257A (zh) * 2015-10-22 2018-07-17 赛门铁克公司 用于注解客户端-服务器事务的系统和方法
CN113835777A (zh) * 2017-02-17 2021-12-24 谷歌有限责任公司 移动应用活动检测器
CN113835777B (zh) * 2017-02-17 2024-02-02 谷歌有限责任公司 移动应用活动检测器
US11729667B2 (en) 2018-09-28 2023-08-15 Huawei Technologies Co., Ltd. Ethernet data-based communication method and apparatus
CN113396411A (zh) * 2019-01-11 2021-09-14 甲骨文国际公司 用于增强的主机分类的系统和方法

Also Published As

Publication number Publication date
JP2016173862A (ja) 2016-09-29
KR101988608B1 (ko) 2019-06-12
JP6211141B2 (ja) 2017-10-11
EP2681659A1 (en) 2014-01-08
JP2014510969A (ja) 2014-05-01
JP6259662B2 (ja) 2018-01-10
KR20140009416A (ko) 2014-01-22
US20120221712A1 (en) 2012-08-30
CN103415841B (zh) 2016-06-15
WO2012125270A1 (en) 2012-09-20
EP2681659B1 (en) 2017-07-05
US8650284B2 (en) 2014-02-11

Similar Documents

Publication Publication Date Title
CN103415841A (zh) 监控用户发起的动作并将它们与后端操作相关联的方法和计算机程序
US11068323B2 (en) Automatic registration of empty pointers
US20200118030A1 (en) Tool for machine-learning data analysis
US8756593B2 (en) Map generator for representing interrelationships between app features forged by dynamic pointers
US8589876B1 (en) Detection of central-registry events influencing dynamic pointers and app feature dependencies
CN106687949B (zh) 本地应用的搜索结果
CN102999314A (zh) 立即延迟跟踪器工具
CN103268361A (zh) 网页中隐藏url的提取方法、装置和系统
CN105721578B (zh) 一种用户行为数据采集方法和系统
US8429535B2 (en) Client utility interaction analysis
WO2021072742A1 (en) Assessing an impact of an upgrade to computer software
CN104850614A (zh) 推荐查询词展现方法和装置
JP2011034399A (ja) Webページの関連性抽出方法、装置、及びプログラム
CN105808605B (zh) 一种搜索日志合并方法和系统
CN116414370A (zh) 基于低代码的平台构建方法、装置、介质及电子设备
WO2022268808A1 (en) Advanced response processing in web data collection
CN105721519A (zh) 一种网页数据采集方法、装置及系统
US8850313B2 (en) Systems and methods for increasing relevancy of search results in intra web domain and cross web domain search and filter operations
JP2002222227A (ja) コンピュータ設計支援システムおよびコンピュータ設計支援方法
Aitchison et al. Data management in small and medium-sized enterprises using metadata acquired by ‘spyware’
JP2002049491A (ja) ソフトウエアインストールシステムおよびソフトウエアインストール方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant