CN110674025B - 交互行为监测方法、装置以及计算机设备 - Google Patents
交互行为监测方法、装置以及计算机设备 Download PDFInfo
- Publication number
- CN110674025B CN110674025B CN201810716448.1A CN201810716448A CN110674025B CN 110674025 B CN110674025 B CN 110674025B CN 201810716448 A CN201810716448 A CN 201810716448A CN 110674025 B CN110674025 B CN 110674025B
- Authority
- CN
- China
- Prior art keywords
- page
- message
- behavior
- monitoring
- interaction
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3438—Recording 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提出一种交互行为监测方法、装置以及计算机设备,其中,方法包括:通过监测对目标方法的调用;其中,目标方法,用于对页面中的页面元素发生的交互行为进行处理;当监测到对目标方法的调用时,获取发生交互行为的页面元素的标识;向服务器端发送消息,消息用于指示标识以及监测到的交互行为;消息,用于服务器端根据标识确定发生交互行为的页面元素。该方法通过将携带有标识和对应交互行为的指示消息发送至服务器,使得服务器端能够确定发生交互行为的页面元素,从而解决了现有技术中逐个添加统计代码,将数据上传至服务器,增加了代码复杂度,导致工作量大的技术问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种交互行为监测方法、装置以及计算机设备。
背景技术
应用程序(APP,Application)开发者和运营人员需要监测用户在使用APP过程中的交互行为,因此需要对APP进行埋点统计。埋点是指在APP的控件响应回调函数(例如:点击响应)中,逐个添加统计代码,当事件发生时,将数据上报到服务器。
现有技术中,在APP较复杂的情况下,存在大量的交互控件需要逐个埋点,使得埋点的工作量大,同时大量的代码埋点,造成了难以对埋点进行有效管理,可能出现错埋点的情况,也增加了代码的复杂度。
发明内容
本申请提出一种交互行为监测方法、装置以及计算机设备,用于解决相关技术中大量的交互控件需要逐个埋点,使得埋点的工作量大,同时大量的代码埋点,造成了难以对埋点进行有效管理,可能出现错埋点的情况,也增加了代码的复杂度的技术问题。
本申请一方面实施例提出了一种交互行为监测方法,包括:
监测对目标方法的调用;其中,所述目标方法,用于对页面中的页面元素发生的交互行为进行处理;
当监测到对所述目标方法的调用时,获取发生交互行为的页面元素的标识;
向服务器端发送消息,所述消息用于指示所述标识以及监测到的交互行为;所述消息,用于所述服务器端根据所述标识确定发生所述交互行为的页面元素。
本申请实施例的交互行为监测方法,通过监测对目标方法的调用;其中,目标方法,用于对页面中的页面元素发生的交互行为进行处理;当监测到对目标方法的调用时,获取发生交互行为的页面元素的标识;向服务器端发送消息,消息用于指示标识以及监测到的交互行为;消息,用于服务器端根据标识确定发生交互行为的页面元素。该方法通过将携带有标识和对应交互行为的指示消息发送至服务器,使得服务器端能够确定发生交互行为的页面元素,从而解决了现有技术中逐个添加统计代码,将数据上传至服务器,增加了代码复杂度,导致工作量大的技术问题。
本申请又一方面实施例提出了一种交互行为监测方法,包括:
接收客户端发送的消息;所述消息携带有标识和对应的交互行为指示信息;
根据所述消息指示的标识,确定交互行为对应的页面元素;
根据所述消息指示的交互行为,统计对应同一页面元素的交互行为。
本申请实施例的交互行为监测方法,通过接收客户端发送的消息;消息携带有标识和对应的交互行为指示信息;根据消息指示的标识,确定交互行为对应的页面元素;根据消息指示的交互行为,统计对应同一页面元素的交互行为。由此,不用逐个添加统计代码,即可实现对同一页面元素的交互行为的统计,解决了现有技术中逐个添加统计代码,将数据上传至服务器,增加了代码复杂度,导致工作量大的技术问题。
本申请又一方面实施例提出了一种交互行为监测装置,包括:
监测模块,用于监测对目标方法的调用;其中,所述目标方法,用于对页面中的页面元素发生的交互行为进行处理;
获取模块,用于当监测到对所述目标方法的调用时,获取发生交互行为的页面元素的标识;发送模块,用于向服务器端发送消息,所述消息用于指示所述标识以及监测到的交互行为;所述消息用于所述服务器端,根据所述标识确定对应的页面元素,对针对同一页面元素的交互行为进行统计。
本申请实施例的交互行为监测装置,通过监测对目标方法的调用;其中,目标方法,用于对页面中的页面元素发生的交互行为进行处理;当监测到对目标方法的调用时,获取发生交互行为的页面元素的标识;向服务器端发送消息,消息用于指示标识以及监测到的交互行为;消息,用于服务器端根据标识确定发生交互行为的页面元素。该方法通过将携带有标识和对应交互行为的指示消息发送至服务器,使得服务器端能够确定发生交互行为的页面元素,从而解决了现有技术中逐个添加统计代码,将数据上传至服务器,增加了代码复杂度,导致工作量大的技术问题。
本申请又一方面实施例提出了一种交互行为监测装置,包括:
接收模块,用于接收客户端发送的消息;所述消息携带有标识和对应的交互行为指示信息;确定模块,用于根据所述消息指示的标识,确定交互行为对应的页面元素;
统计模块,用于根据所述消息指示的交互行为,统计对应同一页面元素的交互行为。
本申请实施例的交互行为监测装置,通过接收客户端发送的消息;消息携带有标识和对应的交互行为指示信息;根据消息指示的标识,确定交互行为对应的页面元素;根据消息指示的交互行为,统计对应同一页面元素的交互行为。由此,不用逐个添加统计代码,即可实现对同一页面元素的交互行为的统计,解决了现有技术中逐个添加统计代码,将数据上传至服务器,增加了代码复杂度,导致工作量大的技术问题。
本申请又一方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现上述实施例所述的交互行为监测方法。
本申请又一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现上市实施例所述的交互行为监测方法。
本申请又一方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行上述实施例中所述的交互行为监测方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种交互行为监测方法的流程示意图;
图2为本申请实施例所提供的另一种交互行为监测方法的流程示意图;
图3为本申请实施例所提供的又一种交互行为监测方法的流程示意图;
图4为显示获取有效控件内容的示例图;
图5为本申请实施例所提供的一种交互行为监测装置的结构示意图;
图6为本申请实施例所提供的另一种交互行为监测装置的结构示意图;以及
图7示出了适于用来实现本申请实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
由于APP开发者和运营人员需要监测用户在使用APP过程中的交互行为,因此需要对APP进行埋点统计。埋点是指在APP的控件响应回调函数(例如:点击响应)中,逐个添加统计代码,当事件发生时,将数据上报到服务器。现有的相关技术中,APP的开发者和运营人员对用户使用APP过程中的交互行为的监测,主要采用以下三种方案:
(1)对每个交互控件的响应事件,逐个进行埋点的方法。在事件响应函数中添加埋点,埋点代码与业务代码深入耦合。此方案可以准确埋点,但是在复杂APP中,存在大量需要埋点的控件,埋点难以有效管理,可能会出现错埋点或漏埋点的情况;另外,埋点代码与业务代码深入耦合,对现有业务代码存在强侵入。
(2)服务端数据还原的方法。通过分析服务端接口文件日志,近似推断用户的具体操作行为。如服务端日志存在“购买”的网络请求,则判断APP端发生了“购买”按钮点击行为。此方案无需在APP层面埋点,对APP代码无侵入,但是通过服务端请求日志推断的方式,本身存在较大缺陷。
(3)字节码处理方法。通过在编译阶段对字节码文件(.class)进行查找,当找到目标代码(事件响应函数)后,进行插桩代码。此方案解决了上面两个方法中的问题,但是由于此方法是在字节码层面上对所有点击响应进行插桩代码埋点,此过程属于在编译后的阶段处理,要求开发者对字节码处理较为熟悉,也可能存在兼容问题,方案本身难以大规模推广。并且一般的字节码插桩方案,只track到了点击响应信息,并未回传相关的截图等信息,使得后端分析日志时难以和真实APP的访问页面对应上。
本申请针对上述现有技术中,在APP较复杂的情况下,存在大量的交互控件需要逐个埋点,使得埋点的工作量大大增加;同时大量的代码埋点,造成了埋点难以有效管理,可能造成错埋点的情况,也增加了代码的复杂度的技术问题,提出了一种交互行为监测方法。
下面参考附图描述本申请实施例的交互行为监测方法和装置。
图1为本申请实施例所提供的一种交互行为监测方法的流程示意图。
如图1所示,该交互行为监测方法包括以下步骤:
步骤101,监测对目标方法的调用;其中,目标方法,用于对页面中的页面元素发生的交互行为进行处理。
首先,在客户端监测对目标方法的调用,其中,目标方法,用于对页面中的页面元素发生的交互行为进行处理。例如,交互行为具体通过触摸、滑动、点击等操作在APP上实现某种操作。
步骤102,当监测到对目标方法的调用时,获取发生交互行为的页面元素的标识。
需要说明的是,监测对目标方法的调用是采用钩子函数(hook函数)实现的,其中,钩子函数是通过设置钩子,应用程序可以对所有的消息事件进行拦截,然后执行钩子函数,对消息进行想要的处理方式。
具体地,当监测到对目标方法的调用后,首先将发生交互行为的页面元素作为在页面的树结构的根节点,其中树结构中的节点对应页面元素。从根节点开始遍历树结构,从下往上,一直查找到根节点。进一步的,按照遍历顺序对各节点对应的显示内容进行拼接,得到发生交互行为的页面元素的控件内容,最终将控件内容添加至消息中进行发送。其中,控件内容用于服务器端确定对应的页面元素。
本实施例中,获取发生交互行为的页面元素的标识,是在页面的树结构中,确定从发生交互行为的页面元素对应节点开始,直至树结构的根节点之间的路径,由于路径比较长,如果直接传输,会占用大量的流量带宽,因此要对路径进行有效压缩以降低数据量,并将压缩后的路径作为标识。
进一步的,采用钩子函数监测对目标方法的调用之后,要实时监测页面结构是否发生变化。当监测到页面结构发生变化后,对页面配置用于监测对目标方法进行调用的钩子函数。当监测到页面结构发生变化并且稳定后,延迟预设时长,对页面进行截图,并将截图发送至服务器,其中,截图,是用于服务器端与控件内容匹配,确定对应的页面元素。只有上传了截图,服务器端才能与控件内容进行匹配。
作为一种可能的实现方式,当APP的页面有细微变化时,也会对页面配置用于监测对目标方法进行调用的钩子函数。因此为了减少截图的上传,优化处理的性能,本实施例延迟了触发机制判定稳定状态的方法,使得只有在APP停止发生变化时,才会触发截图上传。例如,在每次监测到页面结构发生变化时,延时200ms才开始截图,如果期间发生了新的变化,则取消待处理的任务,重新延时200ms。
步骤103,向服务器端发送消息,消息用于指示标识以及监测到的交互行为。
其中,该消息,用于服务器端根据标识确定发生交互行为的页面元素。
具体地,客户端将用于指示标识以及监测到的交互行为的消息,以及用于服务器端根据所识确定发生交互行为的页面元素的消息发送至服务器,以待服务器进行下一步操作,例如:对不同用户的交互行为进行统计,或者针对同一用户的交互行为生成用户画像等。
本实施例中的交互行为监测方法,通过监测对目标方法的调用;其中,目标方法,用于对页面中的页面元素发生的交互行为进行处理;当监测到对目标方法的调用时,获取发生交互行为的页面元素的标识;并向服务器端发送消息,消息用于指示所述标识以及监测到的交互行为;消息,用于服务器端根据标识确定发生交互行为的页面元素。该方法通过将携带有标识和对应交互行为的指示消息发送至服务器,使得服务器端能够确定发生交互行为的页面元素,从而解决了现有技术中逐个添加统计代码,将数据上传至服务器,增加了代码复杂度,导致工作量大的技术问题。
本申请实施例通过交互行为监测方法,在客户端监测对目标方法的调用,并获取发生交互行为的页面元素的标识,最终将监测到的消息发送至服务器端,为了清楚的说明服务器端如何对接收到的消息进行处理,本实施例提供了另一种交互行为监测方法,图2为本申请实施例所提供的另一种交互行为监测方法的流程示意图。
如图2所示,该交互行为监测方法可以包括以下步骤:
步骤201,接收客户端发送的消息。
其中,该消息携带有标识和对应的交互行为指示信息。此外,消息还可以携带有控件内容。
本申请实施例中,在服务器端接收客户端发送的消息,以对消息进行下一步处理。
步骤202,根据消息指示的标识,确定交互行为对应的页面元素。
具体地,根据服务器端预先获取的页面的截图,与消息中携带的控件内容进行比对,确定APP的交互行为对应的页面元素。
步骤203,根据消息指示的交互行为,统计对应同一页面元素的交互行为。
具体地,根据服务器端接收到的携带有交互行为的消息,统计对应同一页面元素的交互行为。
本实施例中的交互行为监测方法,通过接收客户端发送的消息;消息携带有标识和对应的交互行为指示信息,再根据消息指示的标识,确定交互行为对应的页面元素,根据消息指示的交互行为,统计对应同一页面元素的交互行为。由此,不用逐个添加统计代码,即可实现对同一页面元素的交互行为的统计,解决了现有技术中逐个添加统计代码,将数据上传至服务器,增加了代码复杂度,导致工作量大的技术问题。
为了清楚说明上述实施例,本申请提出了又一种交互行为监测方法,将以Android设备为例对交互行为监测方法进行详细说明,如图3为本申请实施例所提供的又一种交互行为监测方法的流程示意图。
如图3所示,该交互行为监测方法可以包括以下步骤:
步骤301,点击交互行为监控。
需要说明的是,埋点能够让产品或运营等相关人员能按照具体的需求,统计较为复杂的用户数据。例如想要追踪用户的行为,观察页面相关点击数据,关键路径转化率,分析某个事件活动效果时,就需要事先进行数据埋点,APP上线后才能观察到相应的数据,进行分析研究。
本实施例中,作为一种示例,针对Android设备上的APP进行数据埋点,通过Android系统底层API View.AccessibilityDelegate对象的相关实现函数进行自动全量埋点。因为Android系统所有的点击交互行为会首先触发View.AccessibilityDelegate对象中的回调函数,然后再触发对应前端展示(View)的点击(cick)响应函数,因此只需要对View.AccessibilityDelegate进行钩子操作即可。
其中,AccessibilityDelegate对象主要用来对View做一个检测,包括View的点击,选中,滑动,触摸,文本变化及描述等等,可以用来做一些数据统计或者分析。具体可以创建一个自定义的AccessibilityDelegate对象,实现sendAccessibilityEvent(Viewhost,int EventType)方法,然后通过view.setAccessibilityDelegate()函数,当该View的相关属性出现变化时,就会回调到实现的sendAccessibilityEvent方法中。我们可以通过AccessibilityEvent.type_xxx来区分事件类型(eventType),然后对应进行不同的处理。
进一步的说明,View的AccessibilityDelegate对象是唯一的,如果本来存在该对象的,将之前的对象存储起来,当自己接收到回调时,主动调用之前存储的AccessibilityDelegate对象的sendAccessibilityEvent方法。
可通过AccessibilityDelegate对象捕获点击事件,View的源码在处理点击事件的回调时调用了View.performClick方法,并在内部调用了sendAccessibilityEvent方法,而此方法有个托管接口mAccessibilityDelegate可以由外部处理所有的AccessibilityEvent对象。并且可在某个时机给所有的View注册AccessibilityDelegate对象去监控系统行为事件。
步骤302,控件元素定位。
由于每个控件必须存在一个唯一ID,要有效的定位控件元素,需要选择使用控件的Xpath作为其唯一ID。服务器端需要依赖此ID对控件数据进行聚合,例如,计算此控件被用户点击了多少次等业务指标。
本实施例中,APP每个页面的所有View构成一个View tree,从根节点开始对目标控件遍历tree,从下往上,一直查找到根节点,此时找到的路径即为目标控件的Xpath。
步骤303,获取有效控件内容。
其中,控件内容,用于服务器端确定对应的页面元素,可以辅助标识具体的控件。
具体地,按照遍历顺序对各节点对应的所有可显示的内容进行拼接,得到发生交互行为的页面元素的控件内容,最终将控件内容添加至消息中进行发送至服务器。参见图4,将可显示的内容进行拼接后,获取页面中的有效内容。
步骤304,将截图数据上报。
本实施例中,将截图数据上报后,后端系统才能将控件对应到具体的页面上。实时监测APP的页面结构是否发生变化,当监测到页面结构发生变化且稳定时,触发页面截图,将截图数据回传到服务器。服务器通过截图判断依赖Android系统机制,通过钩子函数监听系统API onGlobalLayout即可。
作为一种可能的实现方式,由于当APP的页面有细微变化时,onGlobalLayout方法也会被触发,导致在一些情况下可能持续触发几百次onGlobalLayout回调。因此,为了减少不必要的截图数据上报,优化处理性能,SDK采用了基于onGlobalLayout的延时触发机制判定稳定状态的方法,使得只有在APP稳定状态即停止发生变化时,才会触发截图数据上报。其中,延时触发机制是指每次onGlobalLayout方法触发,延时200ms才开始截图,如果期间发生新的onGlobalLayout事件,则取消掉待处理的任务,重新延时200ms。
步骤305,对数据进行压缩。
由于APP中存在大量可交互的控件,而对每个控件都采用Xpath唯一标识,导致Xpath本身非常长,如果直接将数据回传,会占用大量的流量带宽。因此,选择对Xpath进行有效压缩,降低数据量。同时,如果页面截图直接回传,也会占用大量的流量带宽,因此也要对页面截图进行压缩。
作为一种可能的实现方式,可采用固定映射表,对系统常用控件压缩。例如,对“LinearLayout[0]”固定压缩映射为L[0],后端只需要也保存此固定映射配置即可以实现正常的识别。
作为另一种可能的实现方式,可采用动态映射表,对自定义控件进行压缩。例如,对“MyListView[0]”固定压缩映射为m[0],同时将动态映射表(ed{“MyListView”:“m”})传给后端即可。
步骤306,将压缩后的数据上传至服务器。
具体地,客户端将压缩后的数据上传至服务器,根据服务器端预先获取的页面的截图,与接收到的控件内容进行比对,确定APP的交互行为对应的页面元素,进一步,统计对应同一页面元素的交互行为。
本申请实施例的交互行为监测方法,通过点击交互行为监控,并对控件元素进行定位,从而获取有效控件内容,将截图数据上报,并对数据进行压缩,最终将压缩后的数据上传至服务器。该方法不需要开发者对各个控件进行逐个埋点,仅需一行代码接入,即可实现全量的点击交互行为和浏览页面截图的自动采集,减少了埋点的工作量以及出错率。
为了实现上述实施例,本申请还提出一种交互行为监测装置。
图5为本申请实施例提供的一种交互行为监测装置的结构示意图。
如图5所示,该交互行为监测装置包括:监测模块110、获取模块120、发送模块130。
监测模块110,用于监测对目标方法的调用;其中,目标方法,用于对页面中的页面元素发生的交互行为进行处理。
获取模块120,用于当监测到对目标方法的调用时,获取发生交互行为的页面元素的标识。
发送模块130,用于向服务器端发送消息,消息用于指示所述标识以及监测到的交互行为;消息用于所述服务器端,根据标识确定对应的页面元素,对针对同一页面元素的交互行为进行统计。
作为另一种可能的实现方式,该交互行为监测装置,还包括:
作为模块,用于当监测到对目标方法的调用时,将发生交互行为的页面元素作为在页面的树结构的根节点;树结构中的节点对应页面元素。
遍历模块,用于从根节点开始遍历树结构。
拼接模块,用于按照遍历顺序对各节点对应的显示内容进行拼接,得到发生交互行为的页面元素的控件内容。
添加模块,用于将控件内容添加至消息中进行发送;其中,控件内容用于服务器端确定对应的页面元素。
作为另一种可能的实现方式,该交互行为监测装置,还包括:
第一监测单元,用于监测页面结构是否发生变化。
截图模块,用于当监测到页面结构发生变化后,延迟预设时长后,对页面进行截图。
第一发送单元,用于向服务器端发送截图;其中,截图,用于服务器端与控件内容匹配,确定对应的页面元素。
作为另一种可能的实现方式,该交互行为监测装置,还包括:
配置模块,用于在页面结构发生变化后,对页面配置用于监测对目标方法进行调用的钩子函数。
作为另一种可能的实现方式,该交互行为监测装置,还包括:
确定模块,用于在页面的树结构中,确定从发生交互行为的页面元素对应节点开始,直至树结构的根节点之间的路径;并将路径作为标识。
压缩模块,用于对路径进行压缩。
本实施例中的交互行为监测装置,通过监测对目标方法的调用;其中,目标方法,用于对页面中的页面元素发生的交互行为进行处理;当监测到对目标方法的调用时,获取发生交互行为的页面元素的标识;并向服务器端发送消息,消息用于指示所述标识以及监测到的交互行为;消息,用于服务器端根据标识确定发生交互行为的页面元素。由此,通过将携带有标识和对应交互行为的指示消息发送至服务器,使得服务器端能够确定发生交互行为的页面元素,从而解决了现有技术中逐个添加统计代码,将数据上传至服务器,增加了代码复杂度,导致工作量大的技术问题。
为了实现上述实施例,本申请还提出了另一种交互行为监测装置。
图6为本申请实施例提供的另一种交互行为监测装置的结构示意图。
如图6所示,该交互行为监测装置包括:
接收模块210,用于接收客户端发送的消息;消息携带有标识和对应的交互行为指示信息。
确定模块220,用于根据消息指示的标识,确定交互行为对应的页面元素。
统计模块230,用于根据消息指示的交互行为,统计对应同一页面元素的交互行为。
作为一种可能的实现方式,确定模块220,还包括:
第一确定单元,还用于根据预先获取的页面的截图,与控件内容进行比对,确定交互行为对应的页面元素。
本实施例中的交互行为监测装置,通过接收客户端发送的消息;消息携带有标识和对应的交互行为指示信息,再根据消息指示的标识,确定交互行为对应的页面元素,根据消息指示的交互行为,统计对应同一页面元素的交互行为。由此,不用逐个添加统计代码,即可实现对同一页面元素的交互行为的统计,解决了现有技术中逐个添加统计代码,将数据上传至服务器,增加了代码复杂度,导致工作量大的技术问题。
需要说明的是,前述对交互行为监测方法实施例的解释说明也适用于该实施例的交互行为监测装置,此处不再赘述。
为了实现上述实施例,本发明还提出一种计算机设备,包括:处理器,以及用于存储所述处理器可执行指令的存储器。
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如本发明前述实施例提出的交互行为监测方法。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,使得处理器能够执行本发明前述实施例提出的交互行为监测方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行实现本发明前述实施例提出的交互行为监测方法。
图7示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图7显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图7中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (11)
1.一种交互行为监测方法,其特征在于,所述方法包括以下步骤:
采用钩子函数监测对目标方法的调用,实时监测页面结构是否发生变化;其中,所述目标方法,用于对页面中的页面元素发生的交互行为进行处理;
当监测到对所述目标方法的调用时,将发生交互行为的页面元素作为在所述页面的树结构的根节点,从所述根节点开始遍历所述树结构,按照遍历顺序对各节点对应的显示内容进行拼接,以得到所述发生交互行为的页面元素的控件内容,将所述控件内容添加至消息中,并获取发生交互行为的页面元素的标识,当监测到页面结构未发生变化,对所述页面进行截图;
向服务器端发送添加有控件内容的消息和所述截图,所述消息用于指示所述标识以及监测到的交互行为;所述消息,用于所述服务器端根据所述标识确定发生所述交互行为的页面元素;所述截图,用于所述服务器端与所述控件内容匹配,确定对应的页面元素。
2.根据权利要求1所述的交互行为监测方法,其特征在于,所述树结构中的节点对应页面元素,所述控件内容用于所述服务器端确定对应的页面元素。
3.根据权利要求2所述的交互行为监测方法,其特征在于,所述监测页面结构是否发生变化还包括:
若监测到页面结构发生变化,则延迟预设时长,直至监测到所述页面结构在所述延迟预设时长内未发生变化后,对所述页面进行截图。
4.根据权利要求3所述的交互行为监测方法,其特征在于,在所述页面结构发生变化后,对所述页面配置用于监测对所述目标方法进行调用的钩子函数。
5.根据权利要求1-4任一项所述的交互行为监测方法,其特征在于,所述获取发生交互行为的页面元素的标识,包括:
在所述页面的树结构中,确定从所述发生交互行为的页面元素对应节点开始,直至所述树结构的根节点之间的路径;
将所述路径作为所述标识。
6.根据权利要求5所述的交互行为监测方法,其特征在于,所述将所述路径作为所述标识之前,还包括:
对所述路径进行压缩。
7.一种交互行为监测装置,其特征在于,所述装置包括:
监测模块,用于采用钩子函数监测对目标方法的调用,实时监测页面结构是否发生变化;其中,所述目标方法,用于对页面中的页面元素发生的交互行为进行处理;
获取模块,用于当监测到对所述目标方法的调用时,将发生交互行为的页面元素作为在所述页面的树结构的根节点,从所述根节点开始遍历所述树结构,按照遍历顺序对各节点对应的显示内容进行拼接,以得到所述发生交互行为的页面元素的控件内容,将所述控件内容添加至消息中,并获取发生交互行为的页面元素的标识,当监测到页面结构未发生变化,对所述页面进行截图;
发送模块,用于向服务器端发送添加有控件内容的消息和所述截图,所述消息用于指示所述标识以及监测到的交互行为;所述消息,用于所述服务器端根据所述标识确定发生所述交互行为的页面元素;所述截图,用于所述服务器端与所述控件内容匹配,确定对应的页面元素。
8.一种交互行为监测方法,其特征在于,所述方法包括以下步骤:
接收客户端发送的如权利要求1-6任一项所述的添加有控件内容的消息和如权利要求1-6任一所述的截图;所述消息携带有标识和对应的交互行为指示信息;
根据所述消息指示的标识、所述截图和所述控件内容,确定交互行为对应的页面元素;
根据所述消息指示的交互行为,统计对应同一页面元素的交互行为。
9.一种交互行为监测装置,其特征在于,所述装置包括:
接收模块,用于接收客户端发送的如权利要求1-6任一项所述的添加有控件内容的消息和如权利要求1-6任一所述的截图;所述消息携带有标识和对应的交互行为指示信息;
确定模块,用于根据所述消息指示的标识、所述截图和所述控件内容,确定交互行为对应的页面元素;
统计模块,用于根据所述消息指示的交互行为,统计对应同一页面元素的交互行为。
10.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-6中任一所述的交互行为监测方法,或者,实现如权利要求8所述的交互行为监测方法。
11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的交互行为监测方法,或者,实现如权利要求8所述的交互行为监测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810716448.1A CN110674025B (zh) | 2018-07-03 | 2018-07-03 | 交互行为监测方法、装置以及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810716448.1A CN110674025B (zh) | 2018-07-03 | 2018-07-03 | 交互行为监测方法、装置以及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110674025A CN110674025A (zh) | 2020-01-10 |
CN110674025B true CN110674025B (zh) | 2023-08-11 |
Family
ID=69065581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810716448.1A Active CN110674025B (zh) | 2018-07-03 | 2018-07-03 | 交互行为监测方法、装置以及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674025B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400627B (zh) * | 2020-03-09 | 2023-07-07 | 政采云有限公司 | 一种信息获取方法、装置和电子设备及可读存储介质 |
CN113449230A (zh) * | 2020-03-27 | 2021-09-28 | 北京沃东天骏信息技术有限公司 | 一种确定曝光元素的方法和系统以及客户端和服务端 |
CN111694730B (zh) * | 2020-04-30 | 2023-07-25 | 北京城市网邻信息技术有限公司 | 一种消除错误引用控件资源的方法及装置 |
CN111597113B (zh) * | 2020-05-18 | 2023-08-15 | 北京百度网讯科技有限公司 | 小程序的验证方法、装置、设备及存储介质 |
CN112104707A (zh) * | 2020-08-25 | 2020-12-18 | 北京达佳互联信息技术有限公司 | 数据上报方法、装置及设备 |
CN112149391B (zh) * | 2020-09-28 | 2023-06-09 | 平安证券股份有限公司 | 信息处理方法、信息处理装置、终端设备及存储介质 |
CN112578984B (zh) * | 2020-12-14 | 2022-11-29 | 成都紫瑞青云航空宇航技术有限公司 | 一种合成视景系统人机交互事件的处理方法和系统 |
CN113656281B (zh) * | 2021-07-09 | 2023-06-30 | 北京航天云路有限公司 | 一种动态实时扩展Web线上功能的方法 |
CN114025243A (zh) * | 2021-10-27 | 2022-02-08 | 广州繁星互娱信息科技有限公司 | 直播截图获取方法和装置、存储介质及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222349A (zh) * | 2007-01-12 | 2008-07-16 | 中国电信股份有限公司 | 收集web用户行为及性能数据的方法及系统 |
CN102314455A (zh) * | 2010-06-30 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 计算网页点击流量的方法及系统 |
CN104331474A (zh) * | 2014-11-03 | 2015-02-04 | 百度在线网络技术(北京)有限公司 | 页面处理方法及装置 |
CN104731807A (zh) * | 2013-12-20 | 2015-06-24 | 北京风行在线技术有限公司 | 一种统计和分析页面跳转数据的方法及装置 |
CN106610767A (zh) * | 2015-10-27 | 2017-05-03 | 北京国双科技有限公司 | 用于移动终端界面的交互行为分析方法及装置 |
CN106933722A (zh) * | 2017-03-06 | 2017-07-07 | 腾云天宇科技(北京)有限公司 | 一种网页应用监控方法、服务器和系统 |
CN107247656A (zh) * | 2017-05-04 | 2017-10-13 | 东南大学 | 一种机考中记录并统计考生鼠标行为的方法及系统 |
CN107391538A (zh) * | 2017-04-26 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 点击数据采集、处理和展示方法、装置、设备及存储介质 |
CN107633019A (zh) * | 2017-08-24 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 一种页面事件采集方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849862B2 (en) * | 2004-05-21 | 2014-09-30 | Rsvpro, Llc | Architectural frameworks, functions and interfaces for relationship management (AFFIRM) |
US20160342935A1 (en) * | 2014-10-09 | 2016-11-24 | Wrap Media, LLC | Generating and delivering a wrap package of cards including custom content and/or services in response to a triggered event |
-
2018
- 2018-07-03 CN CN201810716448.1A patent/CN110674025B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222349A (zh) * | 2007-01-12 | 2008-07-16 | 中国电信股份有限公司 | 收集web用户行为及性能数据的方法及系统 |
CN102314455A (zh) * | 2010-06-30 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 计算网页点击流量的方法及系统 |
CN104731807A (zh) * | 2013-12-20 | 2015-06-24 | 北京风行在线技术有限公司 | 一种统计和分析页面跳转数据的方法及装置 |
CN104331474A (zh) * | 2014-11-03 | 2015-02-04 | 百度在线网络技术(北京)有限公司 | 页面处理方法及装置 |
CN106610767A (zh) * | 2015-10-27 | 2017-05-03 | 北京国双科技有限公司 | 用于移动终端界面的交互行为分析方法及装置 |
CN106933722A (zh) * | 2017-03-06 | 2017-07-07 | 腾云天宇科技(北京)有限公司 | 一种网页应用监控方法、服务器和系统 |
CN107391538A (zh) * | 2017-04-26 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 点击数据采集、处理和展示方法、装置、设备及存储介质 |
CN107247656A (zh) * | 2017-05-04 | 2017-10-13 | 东南大学 | 一种机考中记录并统计考生鼠标行为的方法及系统 |
CN107633019A (zh) * | 2017-08-24 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 一种页面事件采集方法和装置 |
Non-Patent Citations (1)
Title |
---|
杨芮.Web用户行为数据收集统计系统的设计与实现.《cnki优秀硕士学位论文全文库 信息科技辑》.2015,(第10期),第I138-138页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110674025A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674025B (zh) | 交互行为监测方法、装置以及计算机设备 | |
CN107341098B (zh) | 软件性能测试方法、平台、设备及存储介质 | |
CN107222331B (zh) | 分布式应用系统性能的监控方法、装置、存储介质及设备 | |
CN105376335B (zh) | 一种采集数据上传方法和装置 | |
US20060168591A1 (en) | Method and system to correlate and consolidate a plurality of events | |
US9577903B2 (en) | Monitoring activity on a computer | |
CN106294176B (zh) | Mac OS系统中应用程序故障定位的方法及系统 | |
CN109840178B (zh) | 一种监测日志信息的方法、移动终端以及装置 | |
CN108268364A (zh) | 异常事件回放方法、装置及设备 | |
CN110784374A (zh) | 业务系统运行状态的监控方法、装置、设备和系统 | |
US20180159724A1 (en) | Automatic task tracking | |
CN109783284A (zh) | 信息获取方法、系统及服务器、计算机可读存储介质 | |
CN113824987B (zh) | 直播间首帧耗时的确定方法、介质、装置和计算设备 | |
CN108647284B (zh) | 记录用户行为的方法及装置、介质和计算设备 | |
US9164746B2 (en) | Automatic topology extraction and plotting with correlation to real time analytic data | |
US10191844B2 (en) | Automatic garbage collection thrashing monitoring | |
CN113094236A (zh) | 一种系统数据采集方法、装置、计算机设备及存储介质 | |
CN113448730A (zh) | 服务的处理方法、装置、计算机设备及存储介质 | |
CN116185799A (zh) | 中断时间获取方法、装置、系统、通信设备及存储介质 | |
CN113961835A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112135199B (zh) | 基于多类型视频源的视频播放方法及相关设备 | |
RU96991U1 (ru) | Система для обнаружения и предотвращения утечек информации | |
CN114385457A (zh) | 应用程序数据采集方法、装置、设备及存储介质 | |
CN111741046B (zh) | 数据上报方法、获取方法、装置、设备及介质 | |
CN111131370B (zh) | 用于检测服务调用是否正确的方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |