客户端信息分析的方法、装置、存储介质和终端设备与流程

文档序号:15466040发布日期:2018-09-18 19:20阅读:261来源:国知局

本发明涉及计算机技术领域,尤其涉及一种客户端信息分析的方法、装置、存储介质和终端设备。



背景技术:

随着移动互联网的发展,终端用户通过移动终端设备中装载的应用商店选择并下载相应的应用产品,但随着应用产品的品类越来越多,以及每一应用产品的功能也越来越多且相应地其运行过程也越来越复杂,这意味着,由于应用产品的多样性以及多样性的应用场景的特性,难免在运行过程中会出现一些异常情况,但有些异常情况又难以在开发的时候或测试的时候发现。

因而,针对以上的情况,现有技术一般会提供一个动态日志平台,终端上传相应的客户端的日志给动态日志平台,然后动态日志平台根据上传的客户端的日志进行监控。但是发明人在实施上述方案时发现,客户端每一次基于用户的操作行为而运行产生的日志相当地多,客户端一般会存储最近的一两天内的日志,且每条日志携带的信息相对会较少,那么此时上传给动态日志平台的日志可能也仅能确定哪一个应用产品的哪一个程序节点出现的异常,而难以分析具体的情况。或者,在确定出现异常后,发现相应的日志被淘汰了,无法继续分析具体的情况。



技术实现要素:

本发明实施例提供一种客户端信息分析的方法、装置、存储介质和终端设备,以解决或缓解现有技术中的以上一个或多个技术问题。

第一方面,本发明实施例提供了一种客户端信息分析的方法,包括:

接收客户端上传的客户端运行信息;根据接收到的客户端运行信息,确定存在异常情况的程序节点以及判断是否需要创建执行脚本;当判定需要创建执行脚本时,根据所述程序节点存在的所述异常情况,创建所述程序节点的执行脚本;下发创建的执行脚本给所述客户端,以使所述客户端执行接收到的执行脚本以运行相应的程序节点并生成运行日志;接收所述客户端返回的运行日志;以及根据接收到的运行日志对所述异常情况进行分析。

结合第一方面,在第一方面的第一种实施方式中,所述客户端运行信息包括用于描述所述客户端的异常情况的描述信息,所述描述信息包括存在所述异常情况的程序节点的标识和所述异常情况的发生时间,以及所述判断是否需要创建执行脚本的步骤,包括:根据所述异常情况的发生时间,确定与所述异常情况相关的运行日志的留存时限;其中,所述留存时限为所述运行日志能够被留存的最晚时间;判断所述留存时限是否早于当前时间;以及当所述留存时限早于所述当前时间时,判定需要创建执行脚本。

结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述方法还包括:

当所述留存时限晚于所述当前时间时,生成日志查询指令;下发所述日志查询指令给所述客户端,以指示所述客户端查询所述程序节点在所述发生时间运行而生成的运行日志;接收所述客户端返回的查询结果;以及当所述查询结果不包括所述程序节点在所述发生时间运行而生成的运行日志时,判定需要创建执行脚本。

结合第一方面,在第一方面的第三种实施方式中,所述接收客户端上传的客户端运行信息,包括:

通过日志查询页面接收日志查询请求;其中,所述日志查询请求包括查询条件;

创建与所述日志查询请求中的查询条件所匹配的日志查询路径;

下发所述日志查询路径给所述客户端,以使所述客户端根据所述日志查询路径进行日志查询并返回查询到的日志给所述客户端;以及

接收所述客户端返回的日志。

结合第一方面的第三种实施方式,在第一方面的第四种实施方式中,所述查询条件包括程序节点、所述程序节点所属的类、所述程序节点所在线程以及以所述程序节点为起点向前和/或向后的日志项数中的一者或多者。

结合第一方面,在第一方面的第五种实施方式中,所述客户端运行信息包括常规日志,所述常规日志用于记载所述客户端运行一程序节点的执行顺序和所在线程,以及所述根据所述客户端运行信息,判断是否需要创建执行脚本,包括:

根据所述常规日志的记载信息,判断所述常规日志所记载的程序节点的执行顺序或所在线程是否存在异常;当所述程序节点的执行顺序或所在线程存在异常情况时,判断所述常规日志是否记载有运行参数信息;其中,所述运行参数信息包括所述程序节点在所述异常情况发生时所采用或生成的参数值;以及若否,则判定需要创建执行脚本。

第二方面,本发明实施例提供一种客户端信息分析的方法,包括:

上传客户端运行信息给服务器;其中,所述客户端运行信息用于提供给所述服务器以确定存在异常情况的程序节点以及在判定需要创建执行脚本时创建所述程序节点的执行脚本;所述执行脚本是根据所述程序节点存在的所述异常情况而创建的;接收所述服务器下发的执行脚本;执行接收到的执行脚本以运行相应的程序节点并生成运行日志;以及发送生成的运行日志给所述服务器;其中,所述运行日志用于对所述异常情况进行分析。

结合第二方面,在第二方面的第一种实施方式中,所述客户端信息包括用于描述所述客户端的异常情况的描述信息,所述描述信息包括存在所述异常情况的程序节点的标识和所述异常情况的发生时间,所述异常情况的发生时间用于确定存储与所述异常情况相关的运行日志的留存时限,所述留存时限为所述运行日志能够被留存的最晚时间,以及所述留存时限用于判定是否需要创建执行脚本。

结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述方法还包括:

接收所述服务器发送的日志查询指令;所述日志查询指令是所述服务器在判定所述留存时限晚于当前时间时生成的;根据接收到的日志查询指令,查询所述程序节点在所述发生时间运行而生成的运行日志;以及发送查询结果给所述服务器。

结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述查询结果用于在所述查询结果不包括所述程序节点在所述发生时间运行而生成的运行日志时,判定需要创建执行脚本。

结合第二方面,在第二方面的第四种实施方式中,所述上传客户端运行信息给服务器,包括:

接收所述服务器下发的日志查询路径;其中,所述日志查询路径是所述服务器在接收到日志查询请求时创建的且与所述日志查询请求中的查询条件所匹配的路径;根据接收到的日志查询路径进行日志查询;以及发送查询到的日志给所述服务器。

结合第二方面的第四种实施方式,在第二方面的第五种实施方式中,所述查询条件包括程序节点、所述程序节点所属的类、所述程序节点所在线程以及以所述程序节点为起点向前和/或向后的日志项数中的一者或多者。

结合第二方面的第五种实施方式,在第二方面的第六种实施方式中,所述客户端运行信息包括常规日志,所述常规日志用于记载所述客户端运行一程序节点的执行顺序和所在线程,以及用于判断所述常规日志所记载的程序节点的执行顺序或所在线程是否存在异常。

第三方面,本发明实施例提供一种客户端信息分析的装置,包括:

客户端信息接收模块,用于接收客户端上传的客户端运行信息;脚本创建判断模块,用于根据所述客户端运行信息,确定存在异常情况的程序节点以及判断是否需要创建执行脚本;执行脚本创建模块,用于当判定需要创建执行脚本时,根据所述程序节点存在的所述异常情况,创建所述程序节点的执行脚本;执行脚本下发模块,用于下发创建的执行脚本给所述客户端,以使所述客户端执行接收到的执行脚本以运行相应的程序节点并生成运行日志;运行日志接收模块,用于接收所述客户端返回的运行日志;以及异常情况分析模块,用于根据接收到的运行日志对所述异常情况进行分析。

所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,客户端信息分析的结构中包括处理器和存储器,所述存储器用于存储客户端信息分析的装置执行上述第一方面中客户端信息分析的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述客户端信息分析的装置还可以包括通信接口,用于客户端信息分析的装置与其他设备或通信网络通信。

第四方面,本发明实施例提供一种客户端信息分析的装置,包括:

客户端信息上传模块,用于上传客户端运行信息给服务器;其中,所述客户端运行信息用于提供给所述服务器以确定存在异常情况的程序节点以及在判定需要创建执行脚本时创建所述程序节点的执行脚本;执行脚本接收模块,用于接收所述服务器下发的执行脚本;运行日志生成模块,用于执行接收到的执行脚本以运行相应的程序节点并生成运行日志;运行日志发送模块,用于发送生成的运行日志给所述服务器;其中,所述运行日志用于对所述异常情况进行分析。

所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,客户端信息分析的结构中包括处理器和存储器,所述存储器用于存储客户端信息分析的装置执行上述第二方面中客户端信息分析的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述客户端信息分析的装置还可以包括通信接口,用于客户端信息分析的装置与其他设备或通信网络通信。

第五方面,本发明实施例提供了一种计算机可读存储介质,用于客户端信息分析的装置所用的计算机软件指令,其包括用于执行上述第一方面或第二方面中客户端信息分析的方法为客户端信息分析的装置所涉及的程序。

上述技术方案中的任一个技术方案具有如下优点或有益效果:

本发明实施例通过客户端上传给服务器的客户端运行信息,然后基于客户端运行信息来确定存在异常情况的程序节点以及判定存在的异常情况是否满足脚本创建条件。当异常情况满足脚本创建条件时,服务器则会创建存在异常情况的程序节点的执行脚本并下发给相应的客户端。该客户端执行接收到执行脚本则可以运行检测出存在异常情况的程序节点以及生成运行日志,客户端再将生成的运行日志发送给服务器。从而服务器可以根据返回的运行日志对前述检测出来的异常情况进行分析。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1是本发明提供的客户端信息分析的方法的一个实施例的流程示意图;

图2是本发明提供的日志查询页面的一个实施例的示意图;

图3是本发明提供的客户端信息分析的方法的另一个实施例的流程示意图;

图4是本发明提供的客户端日志查询的方法的一个实施例的流程示意图;

图5是本发明提供的客户端日志查询的方法的另一个实施例的流程示意图;

图6是本发明提供的客户端信息分析的方法的又一个实施例的流程示意图;

图7是本发明提供的客户端信息分析的装置的一个实施例的结构示意图;

图8是本发明提供的客户端信息分析的装置的又一个实施例的结构示意图;

图9是本发明提供的终端设备的一个实施例的结构示意图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

实施例一

请参阅图1,本发明实施例提供了一种客户端信息分析的方法,由服务器执行,服务器可以运行一个动态日志平台以执行本实施例的方法,包括步骤S110至步骤S160,具体如下:

S110,接收客户端上传的客户端运行信息。

客户端可以是终端设备装载的一应用程序或一应用程序中的插件,例如,应用商店是提供多种应用程序给用户下载的应用程序,在应用商店提供或更新一应用程序之前,通过手工或自动插桩的方式加载一客户端插件于应用程序的安装包中,该客户端插件用于与服务器进行交互,当终端用户在终端设备的应用商店中请求下载安装一应用程序时,该应用程序安装在终端设备中之后客户端插件可以运行工作。终端设备可以是手机、平板、智能手表、电脑等电子设备。

在本发明实施例中,客户端运行信息可以是客户端直接上报的描述其异常情况的描述信息,也可以是客户端上报的日志。该日志是指应用程序基于用户的操作,执行一系列方法而产生的日志。

S120,根据接收到的客户端运行信息,确定存在异常情况的程序节点以及判断是否需要创建执行脚本。

在一个具体示例中,当客户端在运行过程中发生异常情况时,客户端会上传描述所述客户端的异常情况的描述信息给服务器,此描述信息记载有存在异常情况的程序节点的标识和此异常情况的发生时间等信息。此时,服务器在接收到该描述信息时,可以直接根据其记载的异常情况的程序节点的标识确定当前客户端存在异常情况的程序节点。以及,本步骤中还可以依据该描述信息来判断是否需要创建执行脚本,具体地:

根据确定的异常情况的发生时间,确定与此异常情况相关的运行日志的留存时限;其中,此留存时限为此运行日志能够被留存的最晚时间;判断此最晚时间是否早于当前时间;以及当此留存时限早于当前时间时,判定此时需要创建执行脚本。优选地,此相关的运行日志可以是存在此异常情况的程序节点在此异常情况的发生时间运行而生成的日志,此发明时间可以是时间点或时间段。此运行日志用于后续异常分析。以及,存储此运行日志的存储可以是客户端存储的,也可以客户端上传到服务器中存储的。

需要说的是,客户端存储其运行产生的运行日志均会设定一定的存储时长,例如保存一天或两天,那么可以依据该运行日志的生成时间,推断其能够存储在客户端的最晚时间,即留存时限,例如在4月10日10:00时生成一运行日志,存储时长为1天,则在4月11日10:00时会清除该运行日志。通常地,客户端发生异常情况的同时也会生成一运行日志,则记录的异常情况的发生时间与该运行日志的生成时间一般是相同的。因而,当确定了运行日志的留存时限早于当前时间时,说明该运行日志已被客户端清除,那么此时需要创建与确定的异常情况对应的执行脚本并下发给客户端,以生成相应的运行日志来进行后续的分析。例如,服务器发现客户端的某个按钮存在异常情况,但相应的运行日志已被客户端清除,则服务器创建一个用于点击该按钮的执行脚本并下发给客户端。执行脚本可以使用Lua或者Javascript进行编写。

在上述具体示例的基础上,还存在以下这种情况:当用于后续分析的运行日志可存储的最晚时间晚于当前时间时,说明此运行日志还未被客户端清除,那么此时服务器会请求客户端上传此运行日志,具体地:

当确定的留存时限晚于当前时间时,生成日志查询指令;下发此日志查询指令给客户端,以指示客户端查询存在异常情况的程序节点在此异常情况的发生时间的时间点或时间段上运行而生成的运行日志;接收所述客户端返回的查询结果;以及当查询结果不包括前述用于后续分析的运行日志时,判定需要创建执行脚本。即,服务器从客户端中查询不到用于后续分析的运行日志,说明此运行日志由于其他原因被客户端清除了,那么此时也需要创建与确定的异常情况对应的执行脚本并下发给客户端,以生成相应的运行日志来进行后续的分析。

在另一个具体示例中,服务器的动态日志平台会提供一个日志查询页面给管理人员,管理人员可以通过日志查询页面输入查询条件,如图2所示的日志查询页面,管理人员可以输入待要查询的程序节点(某个应用程序中的一个算法)的名称或标识、该程序节点所属的类、该程序节点所在线程以及以该程序节点为起点向前和/或向后的日志项数中的一者或多者。进而,服务器通过日志查询页面接收到管理人员的日志查询请求,该日志查询请求管理人员输入的查询条件。如此,服务器会基于管理人员的请求查询客户端存储的日志,具体地:

创建与接收到的日志查询请求中的查询条件匹配的日志查询路径;下发此日志查询路径给客户端,以使客户端根据接收到的日志查询路径进行日志查询并返回查询到的日志给服务器;以及接收客户端返回的日志。

需要说明的是,查询到的日志是指应用程序基于用户的操作执行一系列方法而产生的日志,可认为是被动日志,在本发明实施例中,主动日志是指基于服务器下发的执行脚本主动执行一系列方法而产生的日志。用户的每次操作都会产生很多日志,基于此,存储以及上传的每条日志只携带较少的信息,一般为常规日志。每条常规日志对应一个程序节点,每条常规日志可以记载有日志所属的程序节点,该程序节点所在线程以及该程序节点的执行顺序等信息,一般不涉及程序节点运行所采用到的参数值、所生成的参数值以及具体的对象字段等信息,但是具体地基于脚本生成的主动日志一般还会记录以上参数值,即本发明实施例中的运行日志,其包括有程序节点所在线程、程序节点的执行顺序、程序节点运行所采用到的和所生成的参数值以及具体对象字段等信息。基于此,服务器可以通过这些返回的被动日志或者客户端上传的常规日志来确定某个方向上的程序节点的异常,具体地:

根据客户端返回的日志的记载信息或常规日志的记载信息,判断该程序节点的执行顺序或所在线程是否存在异常;当该程序节点的执行顺序或所在线程存在异常情况时,确定存在异常情况的程序节点,以及判断返回的日志或常规日志是否记载有运行参数信息;其中,运行参数信息包括此程序节点在此异常情况发生时所采用或生成的参数值。服务器通过以上日志可以确定存在异常情况的程序节点,但当前的被动日志的信息较少,需要了解更多的信息,此时也需要创建与确定的异常情况对应的执行脚本并下发给客户端,以生成相应的运行日志来进行后续的分析。例如,需要进一步了解程序节点运行的所采用的参数值、所生成的参数值以及具体的对象字段等信息。此信息一般存储在运行日志中,客户端每运行一次程序节点,即生成一个运行日志,并从中抽取信息记录在被动日志中以供存储并上传,然后再丢弃此运行日志,以提高客户端的存储空间的资源利用率。

基于前述的情况,当前述确定的异常情况满足脚本创建条件时,服务器继续执行后续的步骤S130至步骤S160。

S130,当判定需要创建执行脚本时,根据程序节点存在的异常情况,创建存在此异常情况的程序节点的执行脚本。例如,服务器发现客户端的某个按钮存在异常情况,但相应的运行日志已被客户端清除了,则服务器创建一个用于点击该按钮的执行脚本并下发给客户端。执行脚本可以使用Lua或者Javascript进行编写。对于不同的程序节点所存在的异常情况的差异,会创建不同的脚本,服务器在识别是哪一个客户端的哪个程序节点发生了哪一种异常情况之后创建相对应的脚本。

S140,下发创建的执行脚本给客户端,以使客户端执行接收到的执行脚本以运行相应的程序节点并生成运行日志。

S150,接收客户端返回的运行日志。

S160,根据接收到的运行日志对确定的异常情况进行分析。在获取分析结果后可以在动态日志平台的界面中进行展示,或者,基于分析结果提出相应的解决方案,将解决方案发送给客户端进行相应的故障修复。

本发明实施例提供一种客户端信息分析的方法,在通过客户端上传送的信息中检测出存在异常情况时,但上传的信息不足以分析异常情况,此时触发执行脚本的创建并下发给相应的客户端进行执行,而执行过程会成相应的运行日志,那么这个运行日志可以提供服务器对异常情况进行具体的分析,以快速解决异常情况。

实施例二

请参阅图3,与实施例一相呼应,本发明实施例提供一种客户端信息分析的方法,由客户端执行,包括步骤S210至步骤S240,具体如下:

S210,上传客户端运行信息给服务器。其中,客户端运行信息用于提供给服务器据此以确定存在异常情况的程序节点以及在判定需要创建执行脚本时创建存在此异常情况的程序节点的执行脚本,以及该执行脚本是根据此程序节点存在的异常情况而创建的。

在一个具体示例中,当客户端在运行过程中发生异常情况时,客户端会上传描述所述客户端的异常情况的描述信息给服务器,此描述信息记载有存在异常情况的程序节点的标识和此异常情况的发生时间等信息。此时,服务器在接收到该描述信息时,可以直接根据其记载的异常情况的程序节点的标识确定当前客户端存在异常情况的程序节点。以及,异常情况的发生时间可以用于确定存储与此异常情况相关的运行日志的留存时限,此留存时限为能够留存此运行日志的最晚时间,那么服务器可以根据该留存时限来判定是否需要创建执行脚本,具体地,当确定的留存时限大于当前时间时,服务器可以判定需要创建执行脚本。

需要说的是,客户端存储其运行产生的运行日志均会设定一定的存储时长,例如保存一天或两天,那么可以依据该运行日志的生成时间,推断其存储在客户端的最晚时间,即留存时限,例如在4月10日10:00时生成一运行日志,存储时长为1天,则在4月11日10:00时会清除该运行日志。通常地,客户发生异常情况的同时也会生成一运行日志,则记录的异常情况的发生时间与该运行日志的生成时间一般是相同的。因而,当确定了运行日志的留存时限早于当前时间时,说明该运行日志已被客户端清除了,那么此时需要创建与确定的异常情况对应的执行脚本并下发给客户端,以生成相应的运行日志,来进行后续的分析。例如,服务器发现客户端的某个按钮存在异常情况,但相应的运行日志已被客户端清除了,则服务器创建一个用于点击该按钮的执行脚本并下发给客户端。执行脚本可以使用Lua或者Javascript进行编写。

在上述具体示例的基础上,还存在以下这种情况:当用于后续分析的运行日志的留存时限晚于当前时间时,说明该运行日志还未被客户端清除,那么此时服务器会请求客户端上传此运行日志,那么如图4所示,客户端基于此还会执行以下步骤S211至步骤S213:

S211,接收服务器发送的日志查询指令;其中,日志查询指令是服务器当存储存在异常情况的程序节点的运行日志的最晚时间晚于当前时间时生成的。

S212,根据接收到的日志查询指令,查询存在异常情况的程序节点在此异常情况的发生时间运行而生成的运行日志;此发生时间可以是时间点或时间段,以及

S213,发送查询结果给服务器。

基于接收到的查询结果,若是客户端发现查询结果中包含有相应的运行日志,则客户端无需要继续执行后续的步骤S220至步骤S240,但若返回的日志所包含的信息不包括程序节点在异常情况发生时运行而生成的运行日志的所有信息,即,日志中不包括此程序节点在此异常情况发生时所采用或生成的参数值,服务器难以准确地进行后续的异常分析,那么此时继续执行步骤S220至步骤S240。另一方面,若是查询结果中不包含有相应的运行日志,即不包括存在异常情况的程序节点在此异常情况发生时间的时间点或时间段上运行而生成的运行日志时,说明查询不到此运行日志,此运行日志由于其他原因被客户端清除了,那么此时也需要服务器创建与确定的异常情况对应的执行脚本并下发给客户端,以生成相应的运行日志来进行后续的分析,即,客户端需要根据服务器下发的执行脚本生成相应的运行日志。

在另一个具体示例中,服务器的动态日志平台会提供一个日志查询页面给管理人员,管理人员可以通过日志查询页面输入查询条件,如图2所示的日志查询页面,管理人员可以输入待要查询的程序节点(某个应用程序中的一个算法)的名称或标识、该程序节点所属的类、该程序节点所在线程以及以该程序节点为起点向前和/或向后的日志项数中的一者或多者。进而,服务器通过日志查询页面接收到管理人员的日志查询请求,该日志查询请求管理人员输入的查询条件。如此,服务器会基于管理人员的请求查询客户端存储的日志,那么客户端在接收到日志查询路径时,如图5所示,执行以下日志查询的操作:

S221,接收服务器下发的日志查询路径;其中,日志查询路径是服务器在接收到日志查询请求时创建的且与此日志查询请求中的查询条件所匹配的路径。需要说明的是,该日志查询请求可以通过日志查询页面接收,也可以通过其他方式进行接收,并不限于日志查询页面。

S222,根据接收到的日志查询路径进行日志查询。需要说明的是,日志查询路径为符合查询条件的客户端所存储的日志。

S223,发送查询到的日志给所述服务器。

需要说明的是,查询到的日志是指应用程序基于用户的操作执行一系列方法而产生的日志,可认为是被动日志,在本发明实施例中,主动日志是指基于服务器下发的执行脚本主动执行一系列方法而产生的日志。用户的每次操作都会产生很多日志,基于此,存储以及上传的每条日志只携带较少的信息,一般为常规日志。每条日志对应一个程序节点,每条日志可以记载有日志所属的程序节点,该程序节点所在线程以及该程序节点的执行顺序等信息,一般不涉及程序节点运行的所采用到的参数值、所生成的参数值以及具体的对象字段等信息。即,服务器可以通过这些返回的被动日志来确定某个方向上的程序节点的异常,由于日志中不包括有此程序节点在此异常情况发生时所采用或生成的参数值或具体的对象字段等信息时,但分析该异常需要这些信息时,也会触发服务器生成执行脚本,并下发给客户端,以生成相应的运行日志,客户端需要执行脚本以生成运行日志,并提供给服务器进行后续的分析。例如,服务器需要进一步了解程序节点运行的入参、返回值以及具体的对象字段等信息一般存储在运行日志中,客户端每运行一次程序节点,即生成一个运行日志,并从中抽取信息记录在被动日志中以供存储并上传,然后再丢弃此运行日志,以提高客户端的存储空间的资源利用率。

基于前述的服务器确定的异常情况满足脚本创建条件的情况下,客户端会接收到执行脚本执行后续的步骤S220至步骤S240的操作。

S220,接收服务器下发的执行脚本。例如,服务器发现客户端的某个按钮存在异常情况,但相应的运行日志已被客户端清除了,则服务器创建一个用于点击该按钮的执行脚本并下发给客户端。执行脚本可以使用Lua或者Javascript进行编写。对于不同的程序节点所存在的异常情况的差异,会创建不同的脚本,服务器在识别是哪一个客户端的哪个程序节点发生了哪一种异常情况之后创建相对应的脚本。

S230,根据接收到的执行脚本运行相应的程序节点并生成运行日志。例如,接收到一个用于点击该按钮的执行脚本,客户端在运行该执行脚本时,会模拟用户的点击请求操作,使该按钮被点击,客户端基于该按钮被点击的情况下执行相应的操作,而该操作过程被记录下并生成运行日志。

S240,发送生成的运行日志给服务器;其中,该运行日志用于对服务器确定的异常情况进行分析。服务器在获取分析结果后可以在动态日志平台的界面中进行展示,或者,基于分析结果提出相应的解决方案,将解决方案发送给客户端进行相应的故障修复。

实施例三

请参阅图6,本实施例基于前述实施例一和实施例二的基础上,描述终端设备的客户端与服务器的动态日志平台之间的交互,包括步骤S310至步骤S370:

S310,客户端上传客户端运行信息给服务器。

S320,服务器根据接收到的客户端运行信息,确定存在异常情况的程序节点以及判断是否需要创建执行脚本。本步骤的多种实施方式如前实施例一的步骤S220中提供的实施方式一致,在此不再赘述。

S330,当异常情况满足脚本创建条件时,服务器创建存在异常情况的程序节点的执行脚本。

S340,服务器下发创建的执行脚本给客户端。

S350,客户端执行接收到的执行脚本以运行相应的程序节点并生成运行日志。

S360,客户端发送生成的运行日志给服务器。

S370,服务器根据接收到的运行日志对确定的异常情况进行分析。

本实施例所实现的技术效果与前述实施例一和前述实施例二的技术效果一致,在此不再一一赘述。

实施例四

请参阅图7,本发明实施例提供一种客户端信息分析的装置,包括:

客户端信息接收模块110,用于接收客户端上传的客户端运行信息;

脚本创建判断模块120,用于根据所述客户端运行信息,确定存在异常情况的程序节点以及判断是否需要创建执行脚本;

执行脚本创建模块130,用于当判定需要创建执行脚本时,根据所述程序节点存在的所述异常情况,创建所述程序节点的执行脚本;

执行脚本下发模块140,用于下发创建的执行脚本给所述客户端,以使所述客户端执行接收到的执行脚本以运行相应的程序节点并生成运行日志;

运行日志接收模块150,用于接收所述客户端返回的运行日志;以及

异常情况分析模块160,用于根据接收到的运行日志对所述异常情况进行分析。

所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,客户端信息分析的结构中包括处理器和存储器,所述存储器用于存储客户端信息分析的装置执行上述实施例一中客户端信息分析的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述客户端信息分析的装置还可以包括通信接口,用于客户端信息分析的装置与其他设备或通信网络通信。

实施例五

请参阅图8,本发明实施例提供一种客户端信息分析的装置,包括:

客户端信息上传模块210,用于上传客户端运行信息给服务器;其中,所述客户端运行信息用于提供给所述服务器以确定存在异常情况的程序节点以及在判定需要创建执行脚本时创建所述程序节点的执行脚本;

执行脚本接收模块220,用于接收所述服务器下发的执行脚本;

运行日志生成模块230,用于执行接收到的执行脚本以运行相应的程序节点并生成运行日志;

运行日志发送模块240,用于发送生成的运行日志给所述服务器;其中,所述运行日志用于对所述异常情况进行分析。

所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,客户端信息分析的结构中包括处理器和存储器,所述存储器用于存储客户端信息分析的装置执行上述实施例二中客户端信息分析的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述客户端信息分析的装置还可以包括通信接口,用于客户端信息分析的装置与其他设备或通信网络通信。

实施例六

本发明实施例还提供一种终端设备,如图9所示,该设备包括:存储器21和处理器22,存储器21内存储有可在处理器22上的计算机程序。处理器22执行计算机程序时实现上述实施例中的客户端信息分析的方法。存储器21和处理器22的数量可以为一个或多个。

该设备还包括:

通信接口23,用于处理器22与外部设备之间的通信。

存储器21可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

如果存储器21、处理器22和通信接口23独立实现,则存储器21、处理器22和通信接口23可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器21、处理器22及通信接口23集成在一块芯片上,则存储器21、处理器22及通信接口23可以通过内部接口完成相互间的通信。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

本发明实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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