程序的信息收集方法和装置制造方法

文档序号:6545990阅读:261来源:国知局
程序的信息收集方法和装置制造方法
【专利摘要】本发明提出一种程序的信息收集方法和装置。该程序的信息收集方法包括:加载并运行待测程序,其中,待测程序具有录制模块;接收录制指令,并根据录制指令启动录制模块;通过录制模块对用户针对待测程序的用户操作信息进行录制,并将录制的用户操作信息反馈。本发明实施例的程序的信息收集方法,解决了对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题。
【专利说明】程序的信息收集方法和装置
【技术领域】
[0001]本发明涉及信息处理【技术领域】,尤其涉及一种程序的信息收集方法和装置。
【背景技术】
[0002]如果要获取操作系统(例如,移动终端的安卓操作系统)中程序的bug(漏洞)或用户体验问题,开发人员需在程序中增加反馈功能模块。当程序出现bug或用户体验不好时,可通过反馈功能模块以文字的形式向开发人员进行反馈,还可以留下联系方式以便开发人员进一步确认和沟通。
[0003]但是,相关技术中存在以下问题:(l)bug或用户体验问题等反馈的相应问题定位困难,需要开发人员专门跟踪用户的反馈信息,联系用户并筛选相应问题,对反馈的相应问题定位不够快速、准确;(2)开发人员还需要进一步还原反馈的相应问题的现场和准确步骤,其真实性和有效性也需要开发人员进一步复现和确认,效率低。此外,需要投入大量的人力。

【发明内容】

[0004]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本发明的第一个目的在于提出一种程序的信息收集方法。该方法解决了对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题。
[0006]本发明的第二个目的在于提出一种程序的信息收集装置。
[0007]本发明的第三个目的在于提出另一种程序的信息处理方法。
[0008]本发明的第四个目的在于提出另一种程序的信息处理装置。
[0009]为了实现上述目的,本发明第一方面实施例的程序的信息收集方法,包括:加载并运行待测程序,其中,所述待测程序具有录制模块;接收录制指令,并根据所述录制指令启动所述录制模块;通过所述录制模块对用户针对所述待测程序的用户操作信息进行录制,并将录制的所述用户操作信息反馈。
[0010]本发明实施例的程序的信息收集方法,相比与通过文字反馈bug或用户体验的方法,可录制用户在指定时间段内从头到尾的用户操作信息,一方面能够保证反馈的用户操作信息的完整性,能够帮助开发人员准确定位所反馈的问题,例如直接重播录制的用户操作信息即可,无需开发人员专门跟踪用户的反馈信息,从而解决对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题;另一方面能够保证反馈的用户操作信息的准确性,可有效防止无效反馈的干扰和作弊行为。
[0011]为了实现上述目的,本发明第二方面实施例的程序的信息收集装置,包括:运行模块,用于加载并运行待测程序,其中,所述待测程序具有录制模块;启动模块,用于接收录制指令,并根据所述录制指令启动所述录制模块;录制模块,用于通过所述录制模块对用户针对所述待测程序的用户操作信息进行录制;反馈模块,用于将录制的所述用户操作信息反馈。
[0012]本发明实施例的程序的信息收集装置,相比与通过文字反馈bug或用户体验的方法,可录制用户在指定时间段内从头到尾的用户操作信息,一方面能够保证反馈的用户操作信息的完整性,能够帮助开发人员准确定位所反馈的问题,例如直接重播录制的用户操作信息即可,无需开发人员专门跟踪用户的反馈信息,从而解决对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题;另一方面能够保证反馈的用户操作信息的准确性,可有效防止无效反馈的干扰和作弊行为。
[0013]为了实现上述目的,本发明第三方面实施例的程序的信息处理方法,包括:接收客户端发送的用户操作信息的录制文件,所述录制文件包括所述用户操作信息的矢量化视频、所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件,其中所述矢量化视频包括每相邻两帧视频图像之间的像素差别;根据所述每相邻两帧视频图像之间的像素差别还原所述用户操作信息的矢量化视频,并提取所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件;将所述矢量化视频,所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件按照时间维度进行结合并展现给开发者,以使所述开发者根据时间维度获取每个时间点的视频图像,键盘和/或手指的操作事件,屏幕、工具栏、通知栏和状态栏中至少一种的相关信息。
[0014]本发明实施例的程序的信息处理方法,通过矢量化的录制文件,能够帮助开发者准确定位所反馈的问题,无需开发者专门跟踪用户的反馈信息,从而解决对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题。
[0015]为了实现上述目的,本发明第四方面实施例的程序的信息处理装置,包括:接收模块,用于接收客户端发送的用户操作信息的录制文件,所述录制文件包括所述用户操作信息的矢量化视频,所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件,其中所述矢量化视频包括每相邻两帧视频图像之间的像素差别;还原和提取模块,用于根据所述每相邻两帧视频图像之间的像素差别还原所述用户操作信息的矢量化视频,并提取所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件;展现模块,用于将所述矢量化视频,所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件按照时间维度进行结合并展现给开发者,以使所述开发者根据时间维度获取每个时间点的视频图像,键盘和/或手指的操作事件,屏幕、工具栏、通知栏和状态栏中至少一种的相关信息。
[0016]本发明实施例的程序的信息处理装置,通过矢量化的录制文件,能够帮助开发者准确定位所反馈的问题,无需开发者专门跟踪用户的反馈信息,从而解决对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题。
[0017]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】

【附图说明】
[0018]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
[0019]图1是根据本发明一个实施例的程序的信息收集方法的流程图;
[0020]图2是根据本发明实施例的在待测程序中加入录制模块的流程图;
[0021]图3是根据本发明一个实施例的程序的信息收集装置的结构框图;
[0022]图4是根据本发明实施例的加入模块的结构框图;
[0023]图5是根据本发明另一个实施例的程序的信息收集装置的结构框图;
[0024]图6是根据本发明一个实施例的程序的信息处理方法的流程图;以及
[0025]图7是根据本发明一个实施例的程序的信息处理装置的结构框图。
【具体实施方式】
[0026]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0027]在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0028]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0029]目前,如果程序中出现bug或用户体验等问题,为了能够及时反馈,开发人员往往在程序中加入反馈模块。当出现bug或用户体验等问题时,用户可以通过反馈模块向开发人员进行反馈。但是现有的反馈方式对反馈的问题定位困难、还原反馈的问题困难。为了能够准确定位bug或用户体验等问题,并能够及时有效还原bug或用户体验等问题,本发明的实施例公开了一种程序的信息收集方法和装置、程序的信息处理方法和装置。
[0030]下面参考附图描述根据本发明实施例的程序的信息收集方法和装置、程序的信息处理方法和装置。
[0031]图1是根据本发明一个实施例的程序的信息收集方法的流程图。
[0032]如图1所示,程序的信息收集方法包括:
[0033]SlOl,加载并运行待测程序,其中,待测程序具有录制模块。
[0034]具体地,录制模块可以是针对操作系统中程序的专业录制工具,例如现有的多种专业录制工具,也可以是开发人员自己开发的录制工具,对此本发明的实施例不进行限定。该录制模块被集中到待测程序中。[0035]在本发明的一个实施例中,程序的信息收集方法还包括(图中未示出):在待测程序中加入录制模块。其中,图2是根据本发明实施例的在待测程序中加入录制模块的流程图,如图2所示,在待测程序中加入录制模块具体包括:S201,对待测程序的安装文件进行反编译,例如,在安卓操作系统中,对待测程序的APK (Android Package,安卓安装包)文件进行反编译,从而解析APK文件。S202,在反编译后的安装文件中加入录制模块,例如,在解析后的APK文件中注入录制模块。S203,将加入录制模块的安装文件进行打包以获取加入录制模块的待测程序,例如,直接将注入录制模块的APK文件进行打包处理,从而将录制模块集成至待测程序中。由此,只要提供未经过混淆的待测程序的安装文件,通过反编译等技术手段,可以将录制模块集成至待测程序中,录制模块集成简单。
[0036]S102,接收录制指令,并根据录制指令启动录制模块。
[0037]具体地,当待测程序集成录制模块后,操作系统的后台就会有一键切换到录制模块的功能。该功能在平时使用时不会开启,不影响用户正常使用,而当用户需要录制时,可以向录制模块发送录制指令,例如手动开启录制模块或预先指定录制时间段等,从而启动录制模块进行bug或用户体验的录制。在平时使用时不开启,在需要录制时启动可以避免录制模块在运行时的资源消耗而给用户带来体验差的问题。
[0038]S103,通过录制模块对用户针对待测程序的用户操作信息进行录制,并将录制的用户操作信息反馈。
[0039]本发明实施例的程序的信息收集方法,相比与通过文字反馈bug或用户体验的方法,可录制用户在指定时间段内从头到尾的用户操作信息,一方面能够保证反馈的用户操作信息的完整性,能够帮助开发人员准确定位所反馈的问题,例如直接重播录制的用户操作信息即可,无需开发人员专门跟踪用户的反馈信息,从而解决对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题;另一方面能够保证反馈的用户操作信息的准确性,可有效防止无效反馈的干扰和作弊行为。
[0040]在本发明的一个实施例中,程序的信息收集方法还包括:在通过录制模块对用户针对待测程序的用户操作信息进行录制时,接收用户输入的说明信息,并将说明信息与录制的用户操作信息一同反馈。具体地,说明信息可以是文字描述信息、语音描述信息、其他辅助理解的图片等,通过这些说明信息可以更加准确地对反馈的问题进行定位。例如,在录制过程中,用户或测试人员可以配合使用语音进行将讲解和描述,还可以插入截取的图片等。这些说明信息可以以附件的形式与录制的用户操作信息一同反馈。
[0041]在本发明的一个实施例中,程序的信息收集方法还包括:将系统日志与录制的用户操作信息一同反馈。具体地,在录制结束后,可以自动将本地的系统日志打包为附件和录制的用户操作信息一同反馈,系统日志中可以包括CPU(Central Processing Unit,中央处理器)使用情况、内存消耗情况、流量、电能消耗情况等。
[0042]以上将说明信息与录制的用户操作信息一同反馈以及将系统日志与录制的用户操作信息一同反馈,可以将用户所遇问题的细节原封不动地发送给开发者,后者只需要针对反馈的录制信息进行回放,就能进行用户操作复现,快速定位用户所遇问题。
[0043]在本发明的一个实施例中,S103具体包括:
[0044]S1031,获取运行待测程序的客户端的屏幕、工具栏、通知栏和状态栏中至少一种的相关信息。例如,相关信息包括网络状态、电量信息、系统日志等。[0045]S1032,获取客户端中键盘和/或手指的操作事件,操作事件包括起始时间、持续时间、操作类型、响应结果和面板信息中的至少一种。其中,操作事件包括移动、点击、多指操作等,每个操作事件包括起始时间、持续时间、操作类型、响应结果,如果是键盘操作还包括当前输入法的面板信息。
[0046]S1033,录制用户操作信息的视频,并记录每相邻两帧视频图像之间的像素差别以获取矢量化视频。其中,记录每相邻两帧视频图像之间的像素差别,从而将视频图像矢量化为(位置 position, R, G, B,透明度 alpha,时间 time)。
[0047]S1034,将屏幕、工具栏、通知栏和状态栏中至少一种的相关信息、客户端中键盘和/或手指的操作事件加入至矢量化视频中。
[0048]应理解,S1031、S1032和S1033的执行不分先后顺序,还可以同时执行。
[0049]由此,将录制的用户操作信息进行矢量化,减小录制的反馈包的大小和用户流量的消耗。
[0050]在本发明的一个实施例中,将录制的用户操作信息反馈包括:将录制的用户操作信息以数据流的形式发送至服务器。
[0051]为了实现上述实施例,本发明的实施例还公开了一种程序的信息收集装置。
[0052]图3是根据本发明一个实施例的程序的信息收集装置的结构框图。
[0053]如图3所示,程序的信息收集装置10包括:运行模块110、启动模块120、录制模块130和反馈模块140。
[0054]具体地,运行模块100用于加载并运行待测程序,其中,待测程序具有录制模块。更具体地,录制模块可以是针对操作系统中程序的专业录制工具,例如现有的多种专业录制工具,也可以是开发人员自己开发的录制工具,对此本发明的实施例不进行限定。该录制模块被集中到待测程序中。
[0055]启动模块120用于接收录制指令,并根据录制指令启动录制模块。跟具体地,当待测程序集成录制模块后,操作系统的后台就会有一键切换到录制模块的功能。该功能在平时使用时不会开启,不影响用户正常使用,而当用户需要录制时,可以向录制模块发送录制指令,例如手动开启录制模块或预先指定录制时间段等,从而启动录制模块进行bug或用户体验的录制。在平时使用时不开启,在需要录制时启动可以避免录制模块在运行时的资源消耗而给用户带来体验差的问题。
[0056]录制模块130用于通过录制模块对用户针对待测程序的用户操作信息进行录制。反馈模块140用于将录制的用户操作信息反馈。
[0057]本发明实施例的程序的信息收集装置,相比与通过文字反馈bug或用户体验的方法,可录制用户在指定时间段内从头到尾的用户操作信息,一方面能够保证反馈的用户操作信息的完整性,能够帮助开发人员准确定位所反馈的问题,例如直接重播录制的用户操作信息即可,无需开发人员专门跟踪用户的反馈信息,从而解决对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题;另一方面能够保证反馈的用户操作信息的准确性,可有效防止无效反馈的干扰和作弊行为。
[0058]在本发明的一个实施例中,程序的信息收集装置还包括(图中未示出):加入模块,用于在待测程序中加入录制模块。其中,图4是根据本发明实施例的加入模块的结构框图,如图4所示,加入模块包括反编译单元401、加入单元402和打包单元403。具体地,反编译单元401用于对待测程序的安装文件进行反编译,例如,在安卓操作系统中,对待测程序的APK (Android Package,安卓安装包)文件进行反编译,从而解析APK文件。加入单元402用于在反编译后的安装文件中加入录制模块,例如,在解析后的APK文件中注入录制模块。打包单元403用于将加入录制模块的安装文件进行打包以获取加入录制模块的待测程序,例如,直接将注入录制模块的APK文件进行打包处理,从而将录制模块集成至待测程序中。由此,只要提供未经过混淆的待测程序的安装文件,通过反编译等技术手段,可以将录制模块集成至待测程序中,录制模块集成简单。
[0059]图5是根据本发明另一个实施例的程序的信息收集装置的结构框图。
[0060]如图5所示,在图3所示实施例的基础上,程序的信息收集装置10还包括:接收模块 150。
[0061]具体地,接收模块150用于在通过录制模块对用户针对待测程序的用户操作信息进行录制时,接收用户输入的说明信息,其中,反馈模块140还用于将说明信息与录制的用户操作信息一同反馈。更具体地,说明信息可以是文字描述信息、语音描述信息、其他辅助理解的图片等,通过这些说明信息可以更加准确地对反馈的问题进行定位。例如,在录制过程中,用户或测试人员可以配合使用语音进行将讲解和描述,还可以插入截取的图片等。这些说明信息可以以附件的形式与录制的用户操作信息一同反馈。
[0062]在本发明的一个实施例中,反馈模块140还用于将系统日志与录制的用户操作信息一同反馈。具体地,在录制结束后,可以自动将本地的系统日志打包为附件和录制的用户操作信息一同反馈,系统日志中可以包括CPU使用情况、内存消耗情况、流量、电能消耗情况等。
[0063]以上将说明信息与录制的用户操作信息一同反馈以及将系统日志与录制的用户操作信息一同反馈,可以将用户所遇问题的细节原封不动地发送给开发者,后者只需要针对反馈的录制信息进行回放,就能进行用户操作复现,快速定位用户所遇问题。
[0064]在本发明的一个实施例中,录制模块130具体用于:获取运行待测程序的客户端的屏幕、工具栏、通知栏和状态栏中至少一种的相关信息,例如,相关信息包括网络状态、电量信息、系统日志等;获取客户端中键盘和/或手指的操作事件,操作事件包括起始时间、持续时间、操作类型、响应结果和面板信息中的至少一种,其中,操作事件包括移动、点击、多指操作等,每个操作事件包括起始时间、持续时间、操作类型、响应结果,如果是键盘操作还包括当前输入法的面板信息;录制用户操作信息的视频,并记录每相邻两帧视频图像之间的像素差别以获取矢量化视频,其中,记录每相邻两帧视频图像之间的像素差别,从而将视频图像矢量化为(位置position, R, G, B,透明度alpha,时间time);将屏幕、工具栏、通知栏和状态栏中至少一种的相关信息、客户端中键盘和/或手指的操作事件加入至矢量化视频中。
[0065]由此,将录制的用户操作信息进行矢量化,减小录制的反馈包的大小和用户流量的消耗。
[0066]在本发明的一个实施例中,反馈模块140具体用于:将录制的用户操作信息以数据流的形式发送至服务器。
[0067]本发明的实施例还公开了 一种程序的信息处理方法。
[0068]图6是根据本发明一个实施例的程序的信息处理方法的流程图。[0069]如图6所示,程序的信息处理方法包括:
[0070]S301,接收客户端发送的用户操作信息的录制文件,录制文件包括用户操作信息的矢量化视频,客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和客户端中键盘和/或手指的操作事件,其中矢量化视频包括每相邻两帧视频图像之间的像素差别。
[0071]其中,录制文件可参考前述实施例,在此不再赘述。具体地,客户端在预设条件下(例如,充电状态、WiFi网络、一周之内)自动上传录制文件。获得录制文件后,还可以根据待测程序、待测程序版本、客户端机型(例如手机机型等)、网络状态、录制时间进行分类存储。
[0072]S302,根据每相邻两帧视频图像之间的像素差别还原用户操作信息的矢量化视频,并提取客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和客户端中键盘和/或手指的操作事件。
[0073]S303,将矢量化视频,客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和客户端中键盘和/或手指的操作事件按照时间维度进行结合并展现给开发者,以使开发者根据时间维度获取每个时间点的视频图像,键盘和/或手指的操作事件,屏幕、工具栏、通知栏和状态栏中至少一种的相关信息。
[0074]本发明实施例的程序的信息处理方法,通过矢量化的录制文件,能够帮助开发者准确定位所反馈的问题,无需开发者专门跟踪用户的反馈信息,从而解决对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题。
[0075]在本发明的一个实施例中,录制文件包括多个,程序的信息处理方法还包括(图中未示出):筛选满足预设条件的录制文件,预设条件为包含预设类型操作事件和/或包含预设图像特征信息。具体地,如果筛选包含预设类型操作事件的录制文件,可根据预设类型操作事件进行查找,当查找到时还可以获取该预设类型操作事件的时间点和位置信息。如果筛选包含预设图像特征信息的录制文件,针对每个录制文件,根据视频图像帧之间的矢量化信息,逐帧进行分析,比对预设图像特征信息,筛选出包含预设图像特征信息的录制文件,还可以导出对应的帧的时间和其他信息(如系统日志等)。
[0076]另外,还可以自动定位包含预设图像特征信息的帧,筛选出包含预设图像特征信息的录制文件之后,将预设图像特征信息的帧进行标记,从而在回放的过程中使得开发者能够及时了解到。
[0077]为了实现上述实施例,本发明的实施例还公开了一种程序的信息处理装置。
[0078]图7是根据本发明一个实施例的程序的信息处理装置的结构框图。
[0079]如图7所示,程序的信息收集装置20包括:接收模块210、还原和提取模块220和展现模块230。
[0080]具体地,接收模块210用于接收客户端发送的用户操作信息的录制文件,录制文件包括用户操作信息的矢量化视频,客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和客户端中键盘和/或手指的操作事件,其中矢量化视频包括每相邻两帧视频图像之间的像素差别。其中,录制文件可参考前述实施例,在此不再赘述。具体地,客户端在预设条件下(例如,充电状态、WiFi网络、一周之内)自动上传录制文件。获得录制文件后,还可以根据待测程序、待测程序版本、客户端机型(例如手机机型等)、网络状态、录制时间进行分类存储。[0081]还原和提取模块220用于根据每相邻两帧视频图像之间的像素差别还原用户操作信息的矢量化视频,并提取客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和客户端中键盘和/或手指的操作事件。
[0082]展现模块230用于将矢量化视频,客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和客户端中键盘和/或手指的操作事件按照时间维度进行结合并展现给开发者,以使开发者根据时间维度获取每个时间点的视频图像,键盘和/或手指的操作事件,屏幕、工具栏、通知栏和状态栏中至少一种的相关信息。
[0083]本发明实施例的程序的信息处理装置,通过矢量化的录制文件,能够帮助开发者准确定位所反馈的问题,无需开发者专门跟踪用户的反馈信息,从而解决对反馈的相应问题定位不够快速、准确的问题以及还原相应问题的现场和步骤不够及时有效的问题。
[0084]在本发明的一个实施例中,录制文件包括多个,程序的信息处理装置还包括(图中未示出):筛选模块,用于筛选满足预设条件的录制文件,预设条件为包含预设类型操作事件和/或包含预设图像特征信息。具体地,如果筛选包含预设类型操作事件的录制文件,可根据预设类型操作事件进行查找,当查找到时还可以获取该预设类型操作事件的时间点和位置信息。如果筛选包含预设图像特征信息的录制文件,针对每个录制文件,根据视频图像帧之间的矢量化信息,逐帧进行分析,比对预设图像特征信息,筛选出包含预设图像特征信息的录制文件,还可以导出对应的帧的时间和其他信息(如系统日志等)。
[0085]另外,还可以自动定位包含预设图像特征信息的帧,筛选出包含预设图像特征信息的录制文件之后,将预设图像特征信息的帧进行标记,从而在回放的过程中使得开发者能够及时了解到。
[0086]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0087]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0088]尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
【权利要求】
1.一种程序的信息收集方法,其特征在于,包括: 加载并运行待测程序,其中,所述待测程序具有录制模块; 接收录制指令,并根据所述录制指令启动所述录制模块; 通过所述录制模块对用户针对所述待测程序的用户操作信息进行录制,并将录制的所述用户操作信息反馈。
2.根据权利要求1所述的方法,其特征在于,还包括: 在通过所述录制模块对用户针对所述待测程序的用户操作信息进行录制时,接收用户输入的说明信息,并将所述说明信息与录制的所述用户操作信息一同反馈。
3.根据权利要求1所述的方法,其特征在于,还包括: 将系统日志与录制的所述用户操作信息一同反馈。
4.根据权利要求1所述的方法,其特征在于,所述对用户针对所述待测程序的用户操作信息进行录制,包括: 获取运行所述待测程序的客户端的屏幕、工具栏、通知栏和状态栏中至少一种的相关信息; 获取所述客户端中键盘和/或手指的操作事件,所述操作事件包括起始时间、持续时间、操作类型、响应结果和面板信息中的至少一种; 录制所述用户操作信息的视频,并记录每相邻两帧视频图像之间的像素差别以获取矢量化视频; 将所述屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件加入至所述矢量化视频中。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:在所述待测程序中加入录制模块,所述在所述待测程序中加入录制模块包括: 对所述待测程序的安装文件进行反编译; 在反编译后的所述安装文件中加入所述录制模块;以及 将加入所述录制模块的所述安装文件进行打包以获取加入所述录制模块的所述待测程序。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述将录制的所述用户操作信息反馈包括: 将录制的所述用户操作信息以数据流的形式发送至服务器。
7.一种程序的信息收集装置,其特征在于,包括: 运行模块,用于加载并运行待测程序,其中,所述待测程序具有录制模块; 启动模块,用于接收录制指令,并根据所述录制指令启动所述录制模块; 录制模块,用于通过所述录制模块对用户针对所述待测程序的用户操作信息进行录制; 反馈模块,用于将录制的所述用户操作信息反馈。
8.根据权利要求7所述的装置,其特征在于,还包括: 接收模块,用于在通过所述录制模块对用户针对所述待测程序的用户操作信息进行录制时,接收用户输入的说明信息,其中,所述反馈模块还用于将所述说明信息与录制的所述用户操作信息一同反馈。
9.根据权利要求7所述的装置,其特征在于,所述反馈模块还用于将系统日志与录制的所述用户操作信息一同反馈。
10.根据权利要求7所述的装置,其特征在于,所述录制模块具体用于: 获取运行所述待测程序的客户端的屏幕、工具栏、通知栏和状态栏中至少一种的相关信息; 获取所述客户端中键盘和/或手指的操作事件,所述操作事件包括起始时间、持续时间、操作类型、响应结果和面板信息中的至少一种; 录制所述用户操作信息的视频,并记录每相邻两帧视频图像之间的像素差别以获取矢量化视频; 将所述屏幕、工具栏、通知栏和状态栏中至少一种的相关信息、所述客户端中键盘和/或手指的操作事件加入至所述矢量化视频中。
11.根据权利要求7至10中任一项所述的装置,其特征在于,还包括: 加入模块,用于在所述待测程序中加入录制模块,所述加入包括: 反编译单元,用于对所述待测程序的安装文件进行反编译; 加入单元,用于在反编译后的所述安装文件中加入所述录制模块;以及 打包单元,用于将加入所述录制模块的所述安装文件进行打包以获取加入所述录制模块的所述待测程序。
12.根据权利要求7至10中任一项所述的装置,其特征在于,所述反馈模块具体用于:将录制的所述用户操作信息以数据流的形式发送至服务器。
13.一种程序的信息处理方法,其特征在于,包括:接收客户端发送的用户操作信息的录制文件,所述录制文件包括所述用户操作信息的矢量化视频、所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件,其中所述矢量化视频包括每相邻两帧视频图像之间的像素差别; 根据所述每相邻两帧视频图像之间的像素差别还原所述用户操作信息的矢量化视频,并提取所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件; 将所述矢量化视频,所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件按照时间维度进行结合并展现给开发者,以使所述开发者根据时间维度获取每个时间点的视频图像,键盘和/或手指的操作事件,屏幕、工具栏、通知栏和状态栏中至少一种的相关信息。
14.根据权利要求13所述的方法,其特征在于,所述录制文件包括多个,所述方法还包括:筛选满足预设条件的录制文件,所述预设条件为包含预设类型操作事件和/或包含预设图像特征信息。
15.一种程序的信息处理装置,其特征在于,包括: 接收模块,用于接收客户端发送的用户操作信息的录制文件,所述录制文件包括所述用户操作信息的矢量化视频,所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件,其中所述矢量化视频包括每相邻两帧视频图像之间的像素差别; 还原和提取模块,用于根据所述每相邻两帧视频图像之间的像素差别还原所述用户操作信息的矢量化视频,并提取所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件; 展现模块,用于将所述矢量化视频,所述客户端中屏幕、工具栏、通知栏和状态栏中至少一种的相关信息和所述客户端中键盘和/或手指的操作事件按照时间维度进行结合并展现给开发者,以使所述开发者根据时间维度获取每个时间点的视频图像,键盘和/或手指的操作事件,屏幕、工具栏、通知栏和状态栏中至少一种的相关信息。
16.根据权利要求15所述的装置,其特征在于,所述录制文件包括多个,所述装置还包括: 筛选模块,用 于筛选满足预设条件的录制文件,所述预设条件为包含预设类型操作事件和/或包含预设图像特征信息。
【文档编号】G06F9/445GK103995718SQ201410194178
【公开日】2014年8月20日 申请日期:2014年5月8日 优先权日:2014年5月8日
【发明者】刘坚烽, 胡涛, 郭昉, 郑如刚 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1