操作监控方法及装置、操作分析方法及装置与流程

文档序号:20874878发布日期:2020-05-26 16:21阅读:142来源:国知局
操作监控方法及装置、操作分析方法及装置与流程

本申请涉及数据处理技术领域,特别涉及一种操作监控方法及装置、操作分析方法及装置。



背景技术:

随着用户需求多元化和软件技术的发展,在访问应用程序的过程中需要执行的用户操作也越来越复杂。并且,为了提高用户体验,应用服务商还可以对用户在访问应用程序的过程中产生的操作进行分析,以便于根据分析结果提升应用程序的服务性能。

相关技术中,在对用户访问应用程序过程中产生的操作进行分析时,通常需要先获取用户使用终端访问应用程序过程中对接口的调用记录,然后,根据该调用记录预估用户在该过程中产生的操作,再根据该操作进行分析。例如,在用户通过终端远程登录控制台的过程中,用户在终端显示界面中选择进入远程登录时,终端会向后台多次发起对指定接口的调用,因此,当调用记录包括多次对指定接口进行调用的调用记录时,可以预估用户在终端显示界面中执行了选择进入远程登录的操作,并根据该操作进行分析。

但是,该分析过程只能根据应用程序在后台执行时所调用的接口进行分析,并不能反映用户对应用程序的前端界面所执行的操作,从而无法对用户在前端界面执行的操作进行分析。



技术实现要素:

本申请提供了一种操作监控方法及装置、操作分析方法及装置,可以对用户在应用程序的前端界面执行的操作进行分析。

第一方面,本申请提供了一种操作监控方法,该方法应用于终端,该方法包括:当侦测到终端显示应用程序的界面时,记录终端的标识和应用程序的标识;当侦测到用户在界面执行操作时,记录操作的操作时间和用于指示操作的操作信息;发送监控信息至服务器,监控信息包括终端的标识、应用程序的标识、操作信息和操作时间。

在本申请实施例提供的操作监控方法中,通过记录包括该终端的标识、应用程序的标识、操作信息和操作时间的监控信息,并将该监控信息发送至服务器,由于该监控信息能够真实地反映用户对应用程序的前端界面所执行的操作,使得服务器能够根据该监控信息对用户在界面中执行的操作进行分析,并能够有效保证对用户在界面中执行的操作进行分析的准确性。

可选的,为保证监控信息的完整性,该方法还包括:当侦测到用户在界面上执行操作时,对操作产生操作响应;记录产生操作响应的响应时间和用于指示操作响应的响应信息。相应的,监控信息还包括响应信息和响应时间。

在一种可实现方式中,操作信息包括:用于指示操作的操作类型的类型信息和用于指示操作在界面中作用位置的位置信息。类型信息用于指示用户输入的操作是什么操作。根据该类型信息和该位置信息,可以确定用户在终端中执行的是什么操作,以及该操作在应用程序的界面中产生作用的位置。

可选的,该操作信息还可以包括:用于指示终端显示界面时的配置信息和用于指示信息类型的指示信息。某个信息的指示信息用于指示该信息为操作信息或响应信息。该配置信息用于指示终端显示界面时的显示环境和执行操作时的操作环境,当操作信息还包括该配置信息时,能够便于根据该配置信息模拟终端显示该界面时的显示环境和执行操作时的操作环境,以提高模拟操作的准确性。

另外,除了上述操作信息和响应信息外,监控信息还可以包括用户标识等信息,以便于服务器更充分地了解对终端执行操作时的操作环境。

在一种可实现方式中,该响应信息可以包括:接收操作的操作时间到产生响应的响应时间的等待时间,指示响应成功或响应失败的指示信息、及用于指示信息类型的指示信息等。该指示信息用于指示信息为操作信息或响应信息。并且,当终端对操作产生的操作响应为生成并发送api调用请求时,响应信息还可以包括:针对操作产生响应时所调用的应用程序接口的接口信息。可选地,该接口信息可以为应用程序接口的标识。

在一种可实现方式中,终端可以采用以下方式获取用于指示操作的操作信息:根据应用程序对操作产生操作响应时所依据的参数,获取操作信息。例如,终端可以将应用程序对该操作产生操作响应时所依据的参数直接作为用于指示操作的操作信息。

在一种可实现方式中,终端可以采用以下方式获取用于指示操作响应的响应信息:终端在接收到在界面上执行的操作后,侦测针对该操作的操作响应,当侦测到对该操作产生操作响应时,记录用于指示该响应的响应信息。

第二方面,本申请提供了一种操作分析方法,该方法应用于服务器,该方法包括:接收终端发送的多个监控信息,每个监控信息包括终端的标识、终端显示的应用程序的界面所属的应用程序的标识、用户在界面上执行的操作的操作时间、及用于指示操作的操作信息;根据多个监控信息,生成在终端所显示应用程序的界面上执行的操作的操作轨迹,操作轨迹按照每个操作的操作时间记录。

在本申请实施例提供的操作分析方法中,服务器通过接收终端发送的监控信息,根据该监控信息生成操作的操作轨迹,并根据操作轨迹对用户在界面中执行的操作进行分析,由于该监控信息包括该终端的标识、应用程序的标识、操作信息和操作时间,使得该监控信息能够真实地反映用户对应用程序的前端界面所执行的操作,并能够保证对用户在界面中执行的操作进行分析的准确性。

可选的,每个监控信息还包括:用于指示终端对监控信息所记录的操作产生响应的响应信息,及产生响应的时间。

相应的,根据多个监控信息,生成在终端所显示应用程序的界面上执行的操作的操作轨迹,包括:根据多个监控信息,生成在终端显示每个监控信息所记录的应用程序的界面上执行每个监控信息所记录的操作,并根据操作进行响应的过程。

在一种应用场景中,在生成操作轨迹之后,该方法还包括:根据操作轨迹生成脚本程序,执行脚本程序以模拟操作轨迹中记录的在界面上执行的操作;或者,根据操作轨迹生成脚本程序,执行脚本程序以模拟操作轨迹中记录的在界面上执行的操作,并根据操作进行响应的过程。

该应用场景即为对在界面上执行的操作进行场景模拟的应用场景。在场景模拟的一种情况中,服务器通过对某个终端的操作轨迹所记录的操作进行场景模拟,服务器能够获知在该终端实现该操作过程中的每个操作环节发生的具体情况,并根据该具体情况对在终端上执行操作的过程进行操作过程审计和操作故障定位等分析操作。

由于通过场景模拟能够获知终端执行操作的过程中发生的具体情况,相较于无法获取操作过程中发生的具体情况的相关技术,通过根据该具体情况对终端执行操作的过程进行分析,能够能更清楚地确定终端执行操作的过程中的细节,能够有效地保证分析的准确性。

在场景模拟的另一种情况中,服务器可以分别对多个终端的操作轨迹所记录的操作进行场景模拟,模拟出多个终端访问响应服务器,并请求响应服务器向对应终端提供业务服务的真实访问过程,并根据该模拟出的真实访问过程对响应服务器进行性能测试。

由于通过场景模拟出的访问过程比较接近真实的访问过程,能够较准确的反映真实访问过程中的具体情况,根据该场景模拟出的访问过程对服务器进行性能测试的结果更接近于真实访问过程中访问过程对服务器性能产生的影响,当根据该测试结果优化响应服务器的服务性能时,能够准确且有效地提升服务器的服务性能。

第三方面,本申请提供了一种操作监控装置,该装置包括:记录模块,用于当侦测到终端显示应用程序的界面时,记录终端的标识和应用程序的标识;记录模块,还用于当侦测到用户在界面上执行操作时,记录操作的操作时间和用于指示操作的操作信息;发送模块,用于发送监控信息至服务器,监控信息包括终端的标识、应用程序的标识、操作信息和操作时间。

可选地,装置还包括:响应模块,用于当侦测到用户在界面上执行操作时,对操作产生操作响应。相应的,记录模块,还用于记录产生操作响应的响应时间和用于指示操作响应的响应信息。当侦测到用户在界面上执行操作时响应信息和响应时间。

可选地,操作信息包括:用于指示操作的操作类型的类型信息和用于指示操作在界面中作用位置的位置信息。

可选地,响应信息包括:针对操作产生响应时,调用的应用程序接口的接口信息。

第四方面,本申请提供了一种操作分析装置,该装置包括:接收模块,用于接收终端发送的多个监控信息,每个监控信息包括终端的标识、终端显示的应用程序的界面所属的应用程序的标识、用户在界面上执行的操作的操作时间、及用于指示操作的操作信息;生成模块,用于根据多个监控信息,生成在终端所显示应用程序的界面上执行的操作的操作轨迹,操作轨迹按照每个操作的操作时间记录。

可选地,该装置还包括:处理模块,用于根据操作轨迹生成脚本程序;

处理模块,用于执行脚本程序以模拟操作轨迹中记录的在界面上执行的操作。

可选地,每个监控信息还包括:用于指示终端对监控信息所记录的操作产生的响应的响应信息,及产生响应的时间。相应的,操作轨迹还包括响应信息和响应时间。

第五方面,本申请提供了一种计算设备,该计算设备包括处理器和存储器;存储器中存储有计算机程序;处理器执行计算机程序时,计算设备实现第一方面提供的操作监控方法。

第六方面,本申请还提供了另一种计算设备,该计算设备包括处理器和存储器;存储器中存储有计算机程序;处理器执行计算机程序时,计算设备实现第二方面提供的操作分析方法。

第七方面,本申请提供了一种非易失性的存储介质,当存储介质中的指令被处理器执行时,实现第一方面提供的操作监控方法。

第八方面,本申请还提供了另一种非易失性的存储介质,当存储介质中的指令被处理器执行时,实现第二方面提供的操作分析方法。

附图说明

图1是本申请实施例所涉及的应用场景的示意图;

图2是本申请实施例提供的一种操作监控方法的流程图;

图3是本申请实施例提供的一种操作分析方法的流程图;

图4是本申请实施例提供的一种操作监控装置的结构示意图;

图5是本申请实施例提供的另一种操作监控装置的结构示意图;

图6是本申请实施例提供的一种操作分析装置的结构示意图;

图7是本申请实施例提供的另一种操作分析装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

图1是本申请实施例所涉及的应用场景的示意图。如图1所示,该应用场景包括:终端10和服务器11。其中,该终端10和该服务器11之间通过有线或无线网络建立有通信连接。该终端10可以为计算机、个人电脑、云主机、便携式移动终端10、多媒体播放器、电子书阅读器或可穿戴式设备等。该服务器11可以是一台服务器11,或者由若干台服务器11组成的服务器11集群,或者是一个云计算服务中心。

终端10中可以安装有应用程序。该终端10可以显示应用程序的界面,接收用户在该界面中执行的操作,并执行本申请实施例提供的操作监控方法。例如,当侦测到终端10显示应用程序的界面时,终端10可以记录该终端10的标识和该应用程序的标识。并且,当侦测到用户在该应用程序的界面上执行的操作时,终端10可以记录该操作的操作时间和用于指示该操作的操作信息,并将包括该终端10的标识、应用程序的标识、操作时间和操作信息的监控信息发送至服务器11。

服务器11用于执行本申请实施例提供的操作分析方法。例如,该服务器11可以接收终端10发送的监控信息,并根据多个监控信息,生成在终端10所显示应用程序的界面上执行该多个监控信息所记录的操作的过程。并且,服务器11还可以根据生成的操作轨迹生成脚本程序,并通过执行该脚本程序以模拟操作轨迹中记录的在界面上执行的操作,以对在该界面上执行的操作进行操作分析。

由于该监控信息包括用于指示用户在界面上执行的操作的操作信息和操作时间等信息,且该监控信息能够真实地反映用户对应用程序的前端界面所执行的操作,使得根据该监控信息生成的操作轨迹能够真实地反映用户在界面中执行的操作,当根据操作轨迹对用户在界面中执行的操作进行分析时,能够保证对用户在界面中执行的操作进行分析的准确性。

进一步的,如图1所示,终端10包括第一处理器101,第一通信接口102和第一存储器103。第一处理器101、第一通信接口102和第一存储器103之间通过第一总线104相互连接。服务器11包括第二处理器111,第二通信接口112和第二存储器113。第二处理器111、第二通信接口112和第二存储器113之间通过第二总线114相互连接。

第一存储器103和第二存储器113均用于存储计算机程序。且该计算机程序可以是应用程序,处理器调用对应存储器中的应用程序时,能够实现该应用程序的功能。例如,第一处理器101调用第一存储器103中的应用程序时,终端10能够实现本申请实施例提供的操作监控方法。第二处理器111调用第二存储器113中的应用程序时,服务器11能够实现本申请实施例提供的操作分析方法。

在图1中,第一总线104和第二总线114中的任一总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

在图1中,第一处理器101和第二处理器111中的任一处理器可以是硬件芯片,该硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。或者,也可以是通用处理器,例如,中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),或者,cpu和np的组合。

在图1中,第一存储器103和第二存储器113可以包括易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);还可以包括上述种类的存储器的组合。

需要说明的是,本申请实施例中提供的操作分析方法也可以由虚拟机执行,或者,也可以部分由服务器11执行,部分由虚拟机执行,本申请实施例对其不做具体限定。例如,服务器11可以接收终端10发送的多个监控信息,并根据该多个监控信息,生成在终端10所显示应用程序的界面上执行的操作的操作轨迹。虚拟机可以根据操作轨迹对多个监控信息中的操作信息所指示的操作进行分析。

图2为本申请实施例提供的一种操作监控方法的流程图。如图2所示,该方法可以包括以下步骤:

步骤201、终端接收用户输入的用于指示显示应用程序的界面的指定操作,并根据该指定操作在终端中显示该应用程序的界面。

在用户使用终端的过程中,若用户需要在终端安装的某个应用程序的某个界面中执行操作时,用户可以对终端执行指定操作,以指示终端显示该应用程序的该界面。终端在接收到该指定操作后,可以根据该指定操作在终端的显示屏中显示该应用程序的该界面。

步骤202、当侦测到终端显示应用程序的界面时,终端获取并记录终端的标识和应用程序的标识。

终端中预先设置有信息获取应用程序。该信息获取应用程序可以侦测终端是否在显示应用程序的界面。在侦测到终端显示应用程序的界面时,该信息获取应用程序可以获取并记录该终端的标识和该应用程序的标识。

并且,终端可以针对该终端中安装的一个或多个需要监控操作的应用程序执行信息获取应用程序。即在终端显示任一需要监控操作的应用程序的界面时,终端可以通过该信息获取应用程序获取该终端的标识和该应用程序的标识。

或者,对于终端中安装的一个或多个需要监控操作的应用程序,每个需要监控操作的应用程序中可以内嵌有信息获取应用程序,以便于终端显示任一需要监控操作的应用程序的界面时,使用该任一需要监控操作的应用程序中内嵌的信息获取应用程序获取该应用程序的标识等信息。

可选地,终端获取终端的标识的实现方式可以为:信息获取应用程序获取终端中指定硬件的标识号或指定软件的标识号,并将该标识号的部分和全部作为该终端的标识。例如,信息获取应用程序可以获取终端所使用的中央处理器(centralprocessingunit,cpu)的序列号,并将该序列号的部分和全部作为该终端的标识。又例如,信息获取应用程序可以获取终端的通用唯一识别码(universallyuniqueidentifier,uuid),并将该uuid的部分和全部作为该终端的标识。又例如,信息获取应用程序可以获取终端所使用的的操作系统的序列号,并将该操作系统的序列号的部分或全部作为该终端的标识。

或者,信息获取应用程序也可以对指定硬件的标识号或指定软件的标识号进行处理,并将处理后的标识号作为该终端的标识。例如,信息获取应用程序可以截取终端所使用的中央处理器的序列号的后10位,并在该序列号的后10位尾部添加5位随机数字,该后10位序列号和其尾部添加有5位随机数字所组成的数字序列即为该终端的标识。

可选地,应用程序的标识可以为随机生成的具有指定总数位的数字。相应的,终端获取应用程序的标识的实现方式可以为:信息获取应用程序在侦测到终端显示应用程序的界面时,生成具有指定总数位的随机数字,并将该指定总数位的随机数字确定为该应用程序的标识。

需要说明的是,终端的标识的总位数和应用程序的标识的总位数均可以根据应用需求确定,本申请实施例对其不做具体限定。例如,终端的标识的总位数可以为128位,应用程序的标识的总位数可以为10位。

步骤203、当侦测到用户在界面执行操作时,终端获取并记录操作的操作时间和用于指示操作的操作信息。

终端可以采用终端中预先设置的信息获取应用程序,获取并记录该操作时间和操作信息。并且,由于终端在接收到用户在界面中执行的操作后,会针对该操作产生反应,且该反应是终端根据检测到的操作的相关参数所产生的,因此,在终端获取到该操作的相关参数后,信息获取应用程序可以获取该相关参数,并根据该相关参数得到该操作时间和操作信息。或者,信息获取应用程序也可以将侦测到的针对操作产生的响应时,根据该侦测的响应确定响应时间和响应信息。其中,该步骤203中所采用的信息获取应用程序的设置方式,可以相应参考步骤202中信息获取应用程序的设置方式。

其中,操作信息包括:用于指示操作的操作类型的类型信息和用于指示操作在界面中作用位置的位置信息。类型信息用于指示用户输入的操作是什么操作。根据该类型信息和该位置信息,可以确定用户在终端中执行的是什么操作,以及该操作在应用程序的界面中产生作用的位置。例如,操作类型的类型信息可以指示操作为鼠标左键的单击操作、鼠标左键的双击操作、鼠标右键单击操作、鼠标右键双击操作、鼠标的滚轮操作或键盘中某个按键的输入操作等。并且,终端中可以预先设置有坐标系,可以根据该坐标系确定操作在界面中作用位置的横坐标和纵坐标,并使用该横坐标和该纵坐标表示该位置信息。

例如,当用户使用键盘在界面中的光标位置处输入了键码“m”时,在用于指示该操作的操作信息中,类型信息用于指示键盘输入了键码“m”的操作,位置信息用于指示光标的位置。又例如,当用户使用鼠标在界面中某一位置处单击左键时,在用于指示该操作的操作信息中,类型信息用于指示鼠标单击左键的操作,位置信息用于指示该某一位置。

可选地,操作信息还可以包括:用于指示终端显示界面时的配置信息和用于指示信息类型的指示信息。该指示信息用于指示信息为操作信息或响应信息。该配置信息包括:终端的配置信息和应用程序的配置信息。终端的配置信息可以包括:终端的分辨率、终端的网际协议(internetprotocol,ip)地址、终端使用的网络类型和终端使用的操作系统等信息。应用程序的配置信息可以包括:应用程序的类型信息、应用程序的版本信息和应用程序的显示分辨率。该用于指示终端显示界面时的配置信息用于指示终端显示界面时的显示环境和执行操作时的操作环境,当操作信息还包括该配置信息时,能够便于根据该配置信息模拟终端显示该界面时的显示环境和执行操作时的操作环境,以保证模拟操作的准确性。例如,根据终端的ip地址能够确定终端所处的网络环境,可以确定终端在根据操作产生响应时所使用网络的网络提供商,及网络的带宽等信息。另外,除了上述操作信息和响应信息外,监控信息还可以包括用户标识等信息,以便于服务器更充分地了解对终端执行操作时的操作环境。

例如,终端的配置信息可以包括:终端的分辨率为1920×1080,终端使用的网络为aa网络运营商提供的网络,终端使用的操作系统为windows10系统。应用程序的配置信息可以包括:应用程序的类型为网络服务类(如浏览器),应用程序的版本信息为version7.0.9,应用程序的显示分辨率为1920×1080。

步骤204、终端根据操作信息和界面,对操作产生操作响应。

终端在侦测到用户在界面执行操作后,可以根据该操作的操作信息和该界面的内容,确定用户执行操作时想要实现的功能,并对该操作产生操作响应,以便于实现该用户想要实现的功能。其中,终端根据操作产生操作响应,是指终端接收到操作后该终端根据该操作所产生的反应。

在一种可实现方式中,当操作所指示的功能需要在服务器(以下称为响应服务器)的配合下实现时,终端对操作产生的操作响应可以为生成操作请求,该操作请求用于请求响应服务器向终端提供实现操作所指示的功能所需的服务,并向该响应服务器发送该操作请求。示例地,该操作请求可以为应用程序接口(applicationprogramminginterface,api)调用请求。例如,假设用户在浏览器界面中执行的操作是点击浏览器界面中的登录按钮,由于该登录操作的实现需要响应服务器向终端提供认证等一系列服务,且该一系列服务需要响应服务器调用api实现。此时,终端对该操作产生的操作响应为生成请求响应服务器提供认证等一系列服务的api调用请求,并向响应服务器发送该api调用请求。

在另一种可实现方式中,当终端自身可以实现操作所指示的功能时,终端对操作产生的操作响应为终端执行该操作所指示的功能。例如,假设用户在文字处理应用程序界面中执行的操作是选择部分文字并指示高亮显示该部分文字,由于终端自身可以实现高亮显示文字的功能,因此可以确定终端对该操作产生的操作响应为高亮显示该部分文字。

步骤205、当侦测到对操作产生操作响应时,终端获取并记录产生操作响应的响应时间和用于指示操作响应的响应信息。

终端可以采用终端中预先设置的信息获取应用程序,获取并记录响应时间和响应信息。并且,由于终端对操作产生响应时,所产生的响应都需要终端中的组件执行,且组件在执行时是依据对应的指示参数执行的,因此,信息获取应用程序可以根据该指示参数确定响应信息。同时,组件执行响应的时间即为响应时间,因此,当信息获取应用程序侦测到对操作产生操作响应的时间即为该响应时间。其中,该步骤205中所采用的信息获取应用程序的设置方式,可以相应参考步骤202中信息获取应用程序的设置方式。

其中,该响应信息可以包括:接收操作的操作时间到产生响应的响应时间的等待时间,、指示响应成功或响应失败的指示信息、及用于指示信息类型的指示信息等。该指示信息用于指示信息为操作信息或响应信息。并且,当终端对操作产生的操作响应为生成并发送api调用请求时,响应信息还可以包括:针对操作产生响应时所请求调用的应用程序接口的接口信息。可选地,该接口信息可以为应用程序接口的标识(apiid)。

需要说明的是,该步骤204和步骤205为可选步骤,在执行本申请实施例提供的对应用的监控方法时,可以根据应用需求选择是否执行该步骤204和步骤205。并且,终端也可以以采样的方式获取操作信息和响应信息,此时,操作信息还可以包括终端获取操作信息时的采样频率,响应信息还可以包括终端获取操作信息时的采样频率。

步骤206、终端发送监控信息至服务器。

其中,该监控信息包括:终端的标识、应用程序的标识、操作信息和操作时间。此时,终端可以将包括该终端的标识、应用程序的标识、操作信息和操作时间的监控信息发送至服务器。或者,当执行步骤204和步骤205时,该监控信息还可以包括:响应信息和响应时间。相应的,终端发送监控信息至服务器的过程包括:终端将包括该终端的标识、应用程序的标识、操作信息、操作时间、响应信息和响应时间的监控信息发送至服务器。

其中,由于该监控信息包括多种信息,终端向服务器发送该监控信息的实现方式可以有多种。例如,终端可以在每次向服务器发送信息的过程中,将包括终端的标识、应用程序的标识、操作信息和操作时间的多种信息一次性地发送至服务器。或者,终端可以在多次发送过程中,分别将该多种信息发送至服务器。并且,终端向服务器发送监控信息的时机也可以根据实际需求确定。例如,终端可以实时向服务器发送监控信息,即终端在每获取到一种信息后,可以将该信息发送至服务器。或者,终端可以周期性地向服务器发送监控信息,即在每经过一个信息采集周期后,终端可以将该信息采集周期内获取到的监控信息发送至服务器。

可选地,终端在记录信息的过程中,还可以生成校验码,并在向服务器发送监控信息时将该校验码一并发送至服务器。该校验码用于检验监控信息是否被篡改,以保证监控信息的准确性。相应的,服务器接收到监控信息和校验码后,可以按照与终端预先约定的检验方式,根据该监控信息生成校验码,并将该服务器生成的校验码与终端发送的校验码进行比较,当服务器生成的校验码与终端发送的校验码相同时,确定该监控信息未被篡改,当服务器生成的校验码与终端发送的校验码不同时,确定该监控信息被篡改,并丢弃该监控信息。

综上所述,在本申请实施例提供的操作监控方法中,通过记录包括该终端的标识、应用程序的标识、操作信息和操作时间的监控信息,并将该监控信息发送至服务器,由于该监控信息能够真实地反映用户对应用程序的前端界面所执行的操作,使得服务器能够根据该监控信息对用户在界面中执行的操作进行分析,并能够有效保证对用户在界面中执行的操作进行分析的准确性。

图3为本申请实施例提供的一种操作分析方法的流程图。如图3所示,该方法可以包括以下步骤:

步骤301、服务器接收终端发送的多个监控信息,每个监控信息至少包括终端的标识、终端显示的应用程序的界面所属的应用程序的标识、用户在该界面上执行的操作的操作时间、及用于指示该操作的操作信息。

可选地,每个监控信息还可以包括:对操作信息产生响应的响应时间和用于指示所产生的响应的响应信息。

需要说明的是,在服务器接收到监控信息后,可以先对监控信息进行预处理,然后存储该经过预处理的监控信息,以备后续使用。例如,服务器在接收到包括多个监控信息的数据流后,可以采用服务器中的消息处理模块对该数据流进行消息处理,然后使用服务器中的流处理模块对经过消息处理的监控信息进行数据筛选、数据校验和数据分类等流处理操作,再将经过流处理操作后的监控信息存储在数据库中。并且,当数据校验结果指示监控信息被篡改时,服务器中的告警模块可以发出告警信息。同时,服务器中还可以设置有存储模块和管理模块,该存储模块用于存储从终端接收的多个监控信息的原始数据,该管理模块用于对服务器中的各个模块进行管理。其中,消息处理模块可以为卡夫卡(kafka)消息处理系统,数据库可以为时序列数据库(timeseriesdatabase,tsdb)。

步骤302、服务器根据多个监控信息,生成在终端所显示的界面上执行的操作的操作轨迹。

服务器可以根据多个监控信息,按照不同监控信息所记载的操作的操作时间由早到晚的顺序,生成在终端所显示的界面上执行多个监控信息记录的操作的操作轨迹。或者,可以先按照指定筛选策略对该多个监控信息进行筛选,然后根据筛选得到的监控信息生成操作轨迹。该指定策略可以根据后续对操作行为进行分析的分析目的确定。例如,在需要分析终端运行同一应用程序时用户的操作行为时,服务器可以在终端中筛选携带有同一应用程序的标识的监控信息,并根据该携带有同一应用程序的监控信息生成操作轨迹。又例如,当服务器接收到多个终端发送的多个监控信息,且需要分析在同一终端中执行的操作行为时,可以在终端中筛选携带有同一终端的标识的监控信息,并根据该携带有同一终端的标识的监控信息生成操作轨迹。

其中,当监控信息包括:终端的标识、应用程序的标识、操作信息和操作时间时,该操作轨迹可以视为在终端分别显示多个监控信息记录的应用程序的界面中执行对应监控信息所记录的操作的过程的时序性描述。当监控信息还包括:终端的标识、应用程序的标识、操作信息、操作时间、响应信息和响应时间时,该操作轨迹可以视为在终端分别显示多个监控信息记录的应用程序的界面,在各个界面中执行操作,并根据各个操作进行响应的过程的时序性描述。

示例地,表1示出了用户标识为xp-0012738的用户在终端中执行操作后,终端获取到的多个监控信息。每个监控信息包括:终端的标识、应用程序的标识、所执行的操作的操作时间和操作信息,及终端根据操作产生的响应的响应信息和响应时间。下面对其分别进行说明:

用户在需要终端显示某个应用程序的界面时,可以执行指定操作,终端在接收到该指定操作后,终端根据该指定操作在显示屏中显示了该应用程序的界面。此时,终端可以获取并记录该终端的标识为191191919......182783(表1中未示出),及该应用程序的标识(表1中未示出)。当终端侦测到用户在20:29:17使用鼠标点击了界面中的“远程连接”按钮的操作时,终端可以确定该鼠标点击操作在该界面中的作用位置为界面中显示有“远程连接”按钮的位置。此时,如表1所示,终端获取并记录了用于指示该操作的操作信息(为便于区分称其为第一操作信息)为鼠标点击“远程连接”,操作时间为20:29:17。其中,“远程连接”的功能为建立终端与远程控制台之间的远程连接。

终端在接收到鼠标点击“远程连接”按钮的操作后,终端可以根据该操作显示统一资源定位符(uniformresourcelocator,url)地址为http://in**an.ua**ei.com/c**b/bus**ns的控制台页面,且终端将页面跳转显示为该控制台页面的时间为20:29:20。其中,终端跳转显示控制台页面可视为终端根据鼠标点击“远程连接”按钮的操作所产生的操作响应(为便于区分称其为第一操作响应)。

终端产生第一操作响应后,如表1所示,终端获取并记录了该第一操作响应的响应时间为20:29:20,及用于指示该第一操作响应的第一响应信息为:页面跳转为url地址为http://in**an.ua**ei.com/c**b/bus**ns的控制台页面。

并且,为了建立远程连接,终端还需要获取远程控制台的url地址,并向该远程控制台发送远程连接建立请求。因此,在终端显示控制台页面的过程中,终端还需要向远程服务器发送获取远程控制台的url地址的api调用请求,并在获取到远程控制台的url地址后,根据该远程控制台的url地址向远程控制台发送远程连接建立请求。并且,终端在发送远程连接建立请求之前,还可以向远程服务器发送检测远程控制台的服务状态的api调用请求。

其中,终端向远程服务器发送获取远程控制台的url地址的api调用请求,可视为终端根据鼠标点击“远程连接”按钮的操作所产生的操作响应(为便于区分称其为第二操作响应)。终端产生第二操作响应后,如表1所示,终端获取并记录了该第二操作响应的响应时间为20:29:21,及用于指示该第二操作响应的第二响应信息为:发起获取远程控制台的url地址的api调用请求。

终端向远程服务器发送检测远程控制台的服务状态的api调用请求,可视为终端根据鼠标点击“远程连接”按钮的操作所产生的操作响应(为便于区分称其为第三操作响应)。终端产生第三操作响应后,如表1所示,终端获取并记录了该第三操作响应的响应时间为20:29:22,及用于指示该第三操作响应的第三响应信息为:发起检测远程控制台的服务状态的api调用请求。

终端向远程控制台发送远程连接建立请求,可视为终端根据鼠标点击“远程连接”按钮的操作所产生的操作响应(为便于区分称其为第四操作响应)。终端产生第四操作响应后,如表1所示,终端获取并记录了该第四操作响应的响应时间为20:29:23,及用于指示该第四操作响应的第四响应信息为:发起远程连接建立请求。

进一步地,在终端向远程服务器发送api调用请求后,该远程服务器还可以向终端发送用于反映该api调用请求是否成功调用对应接口的信息。相应的,该用于反映该api调用请求是否成功调用对应接口的信息也可以记载在对应的响应信息中(表1中未示出)。例如,终端向远程服务器发送获取远程控制台的url地址的api调用请求后,若远程服务器根据该api调用请求调用对应的接口成功,该远程服务器可以向终端发送指示调用接口成功的状态码“200”,则可以将指示调用请求200正确的信息记载在第二操作响应的第二响应信息中。又例如,终端向远程服务器发送检测远程控制台的服务状态的api调用请求后,若远程服务器根据该api调用请求调用对应的接口失败,该远程服务器可以向终端发送指示调用接口失败的状态码“404”,则可以将指示调用请求404错误的信息记载在第四操作响应的第四响应信息中。

至此,终端已经获取了根据用户使用鼠标点击界面中的“远程连接”按钮的操作所产生的监控信息。如表1所示,该监控信息包括:第一操作信息和操作时间,第一响应信息和响应时间,第二响应信息和响应时间,第三响应信息和响应时间,第四响应信息和响应时间。

在终端与远程控制台之间建立远程连接后,用户还通过键盘在控制台页面中输入新建用户命令的操作,即使用键盘分别输入“a”、“d”、“d”、“u”、“s”、“e”和“r”。当将键盘输入一个字符的操作视为一次输入操作时,该输入新建用户命令的操作可视为执行了七次输入操作,相应的,获取的每个监控信息可以包括用于指示一次输入操作的操作信息和操作时间。其中,用于指示使用键盘输入“a”的操作的第二操作信息为:键盘输入键码key“a”,操作时间为20:29:35。用于指示使用键盘输入“d”的操作的第三操作信息为:键盘输入键码key“d”,操作时间为20:29:36。用于指示使用键盘输入“d”的操作的第四操作信息为:键盘输入键码key“d”,操作时间为20:29:37。用于指示使用键盘输入“u”的操作的第五操作信息为:键盘输入键码key“u”,操作时间为20:29:38。用于指示使用键盘输入“s”的操作的第六操作信息为:键盘输入键码key“s”,操作时间为20:29:39。用于指示使用键盘输入“e”的操作的第七操作信息为:键盘输入键码key“e”,操作时间为20:29:40。用于指示使用键盘输入“r”的操作的第八操作信息为:键盘输入键码key“r”,操作时间为20:29:41。

在用户输入新建用户命令的操作后,用户又在20:29:45使用鼠标点击了界面中的“关闭浏览器”按钮的操作,终端可以确定该鼠标点击操作在该界面中的作用位置为界面中显示有“关闭浏览器”按钮的位置。此时,如表1所示,终端又获取并记录了用于指示该操作的操作信息(为便于区分称其为第九操作信息)为鼠标点击“关闭浏览器”,操作时间为20:29:45。终端接收到该点击“关闭浏览器”按钮的操作会关闭浏览器。

表1

根据该表1所示的多个监控信息,终端按照操作时间由早到晚的顺序,生成了如下操作轨迹,该操作轨迹按照操作时间由早到晚的顺序,展示了用户执行的操作和终端根据操作所产生的响应。操作轨迹如下:

第(1)步,鼠标点击了界面中的“远程连接”按钮,20:29:17;

第(2)步,页面跳转为url地址为http://in**an.ua**ei.com/c**b/bus**ns的控制台页面,20:29:20;

第(3)步,发起获取远程控制台的url地址的api调用请求,20:29:21;

第(4)步,发起检测远程控制台的服务状态的api调用请求,20:29:22;

第(5)步,发起建立远程连接的请求,20:29:23;

第(6)步,键盘分别输入“a”、“d”、“d”、“u”、“s”、“e”和“r”,20:29:41;

第(7)步,鼠标点击“关闭浏览器”,20:29:45。

其中,当第二响应信息还包括指示调用请求200正确的信息时,该操作轨迹中的第(4)步可以为:发起检测远程控制台的服务状态的api调用请求,请求200正确,20:29:22。当第四响应信息还包括指示调用请求404错误的信息时,该操作轨迹中的第(5)步可以为:发起建立远程连接的请求,请求404错误,20:29:23。

步骤303、服务器根据操作轨迹对多个监控信息中的操作信息所指示的操作进行分析。

对监控信息中的操作信息所指示的操作进行分析的实现方式可以有多种,下面以以下两种实现方式为例对其进行说明:

在第一种可实现方式中,可以根据操作轨迹,模拟操作轨迹中记录的在界面上执行操作的过程,以根据该模拟的过程对在终端上执行操作的过程进行过程分析。或者,根据操作轨迹,模拟操作轨迹中记录的在界面上执行操作,并根据操作进行响应的过程,以根据该模拟的过程对在终端上执行操作并产生响应的过程进行过程分析。

其中,该模拟操作过程是指:服务器根据操作轨迹,模拟终端执行操作轨迹所记录的操作时的操作环境,并在该操作环境中模拟执行操作轨迹所记录的操作,然后根据每个操作实现对应功能的过程。也即是,该模拟操作过程可视为对该操作轨迹所记录的操作进行场景重现的过程。类似的,模拟操作和响应的过程可视为场景重现对操作轨迹记录的操作及对该操作所产生的响应的过程。

在一种情况中,服务器通过对某个终端的操作轨迹所记录的操作进行场景模拟,服务器能够获知在该终端实现该操作过程中的每个操作环节发生的具体情况,并根据该具体情况对在终端上执行操作的过程进行操作过程审计和操作故障定位等分析操作。

其中,操作过程审计是根据在操作过程的各个环节中发生的具体情况,监督和审查该操作过程中是否有违反规定的行为。操作故障定位是当操作过程出现错误提示(操作错误提示或访问不成功提示等)时,根据在操作过程的各个环节中发生的具体情况,确定导致出现错误的原因的行为。

由于通过场景模拟能够获知终端执行操作的过程中发生的具体情况,相较于无法获取操作过程中发生的具体情况的相关技术,通过根据该具体情况对终端执行操作的过程进行分析,能够能更清楚地确定终端执行操作的过程中的细节,能够有效地保证分析的准确性。

在另一种情况中,服务器可以分别对多个终端的操作轨迹所记录的操作进行场景模拟,模拟出多个终端访问响应服务器,并请求响应服务器向对应终端提供业务服务的真实访问过程,并根据该模拟出的真实访问过程对响应服务器进行性能测试。

例如,服务器可以根据百万个终端的操作轨迹,模拟出百万个终端同时访问响应服务器,并请求响应服务器向对应终端提供业务服务的真实访问过程,以测试响应服务器在向该百万个终端提供业务服务的负荷情况下的服务性能,实现对该响应服务器的压力测试,以便于根据该压力测试的结果优化响应服务器的服务性能。

由于通过场景模拟出的访问过程比较接近真实的访问过程,能够较准确的反映真实访问过程中的具体情况,根据该场景模拟出的访问过程对服务器进行性能测试的结果更接近于真实访问过程中访问过程对服务器性能产生的影响,当根据该测试结果优化响应服务器的服务性能时,能够准确且有效地提升服务器的服务性能。

需要说明的是,在根据操作轨迹对操作进行场景模拟时,可以先根据操作轨迹生成脚本程序,并通过执行该脚本程序实现操作的场景模拟过程,以提高场景模拟的自动化程度。其中,根据操作轨迹生成脚本程序的实现过程可以为:根据操作轨迹中所有操作和所有响应的时序,依次生成用于执行对应操作和响应的计算机程序,以得到该脚本程序。

在第二种可实现方式中,服务器使用显示器展示操作轨迹。并且,根据对监控信息进行筛选时所使用的指定筛选策略,可以按照不同分析目的实现不同方式的展示。

例如,若操作轨迹是根据携带有同一应用程序的标识的监控信息生成的,则展示的操作轨迹为终端运行同一应用程序的过程。若操作轨迹是根据携带有同一终端的标识的监控信息生成的,则展示的操作轨迹为在该终端中执行的操作行为。

并且,在展示操作轨迹时,其观看对象可以为管理操作分析工作的工作人员或用户等,通过该展示操作能够便于观看对象较直观地查看操作过程。

综上所述,在本申请实施例提供的操作分析方法中,服务器通过接收终端发送的监控信息,根据该监控信息生成操作的操作轨迹,并根据操作轨迹对用户在界面中执行的操作进行分析,由于该监控信息包括该终端的标识、应用程序的标识、操作信息和操作时间,使得该监控信息能够真实地反映用户对应用程序的前端界面所执行的操作,并能够保证对用户在界面中执行的操作进行分析的准确性。

本申请实施例提供的操作监控方法和操作分析方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,例如,可以根据应用需求选择是否执行上述步骤204和步骤205。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。

本申请实施例还提供了一种操作监控装置。如图4所示,该操作监控装置40可以包括:

记录模块401,用于当侦测到终端显示应用程序的界面时,记录终端的标识和应用程序的标识。

记录模块401,还用于当侦测到用户在界面上执行操作时,记录操作的操作时间和用于指示操作的操作信息。

发送模块402,用于发送监控信息至服务器,监控信息包括终端的标识、应用程序的标识、操作信息和操作时间。

可选地,如图5所示,该操作监控装置40还包括:

响应模块403,用于当侦测到用户在界面上执行操作时,对操作产生操作响应。

记录模块401,还用于记录产生操作响应的响应时间和用于指示操作响应的响应信息。

相应的,监控信息还包括响应信息和响应时间。

可选地,操作信息包括:用于指示操作的操作类型的类型信息和用于指示操作在界面中作用位置的位置信息。

可选地,响应信息包括:针对操作产生响应时,调用的应用程序接口的接口信息。

综上所述,在本申请实施例提供的操作监控装置中,通过记录模块记录包括该终端的标识、应用程序的标识、操作信息和操作时间的监控信息,发送模块将该监控信息发送至服务器,由于该监控信息能够真实地反映用户对应用程序的前端界面所执行的操作,使得服务器能够根据该监控信息对用户在界面中执行的操作进行分析,且能够有效保证对用户在界面中执行的操作进行分析的准确性。

本申请实施例还提供了一种操作分析装置。如图6所示,该操作分析装置60可以包括:

接收模块601,用于接收终端发送的多个监控信息,每个监控信息包括终端的标识、终端显示的应用程序的界面所属的应用程序的标识、用户在界面上执行的操作的操作时间、及用于指示操作的操作信息。

生成模块602,用于根据多个监控信息,生成在终端所显示应用程序的界面上执行的操作的操作轨迹,操作轨迹按照每个操作的操作时间记录。

可选地,如图7所示,该操作分析装置60还包括:

处理模块603,用于根据操作轨迹生成脚本程序。

处理模块603,还用于执行脚本程序以模拟操作轨迹中记录的在界面上执行的操作。

可选地,每个监控信息还包括:用于指示终端对监控信息所记录的操作产生的响应的响应信息,及产生响应的时间。

相应的,操作轨迹还包括响应信息及响应时间。

综上所述,在本申请实施例提供的操作分析装置中,通过接收模块接收终端发送的监控信息,生成模块根据该监控信息生成操作的操作轨迹,处理模块根据操作轨迹对用户在界面中执行的操作进行分析,由于该监控信息包括该终端的标识、应用程序的标识、操作信息和操作时间,使得该监控信息能够真实地反映用户对应用程序的前端界面所执行的操作,并能够保证对用户在界面中执行的操作进行分析的准确性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例提供了一种计算设备,该计算设备包括处理器和存储器。存储器中存储有计算机程序。处理器执行计算机程序时,该计算设备实现本申请实施例提供的操作监控方法。可选地,该计算设备可以为终端,其结构示意图请参考图1中终端的结构。

本申请实施例还提供了另一种计算设备,该计算设备包括处理器和存储器。存储器中存储有计算机程序。处理器执行计算机程序时,该计算设备实现本申请实施例提供的操作分析方法。可选地,该计算设备可以为服务器,其结构示意图请参考图1中服务器的结构。

本申请实施例提供了一种非易失性的存储介质,当存储介质中的指令被处理器执行时,实现本申请实施例提供的操作监控方法。

本申请实施例还提供了另一种非易失性的存储介质,当存储介质中的指令被处理器执行时,实现本申请实施例提供的操作分析方法。

本申请实施例提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的操作监控方法。

本申请实施例还提供了另一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的操作分析方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。

本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1