首页 / 专利库 / 专利权 / 国际初步审查 / 国际初步审查要求 / 选定 / 由日志复现触控轨迹的方法、终端及计算机可读存储介质

由日志复现触控轨迹的方法、终端及计算机可读存储介质

阅读:978发布:2023-01-16

专利汇可以提供由日志复现触控轨迹的方法、终端及计算机可读存储介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了由日志复现触控轨迹的方法、终端及计算机可读存储介质,其中方法包括:获取待复现轨迹的 内核 日志所对应安卓系统时间;获取安卓系统时间被 选定 的时间范围,并获取所选定的事件结点和设备使用协议;扫描获取内核日志中与时间范围所对应的触摸事件数据,根据设备使用协议将触摸事件数据转化为对应格式的事件数据,相应增加延时后写入事件结点;根据事件结点中的上报数据进行触控轨迹复现。本发明实施例通过获取内核日志中触控的相关信息也即触摸事件数据来复现触控轨迹,可以在未录制视频的情况下通过内核日志复现触控轨迹,进而快速得到触控问题的产生原因,便于快速排除触控问题导致的故障。,下面是由日志复现触控轨迹的方法、终端及计算机可读存储介质专利的具体信息内容。

1.一种由日志复现触控轨迹的方法,其特征在于,包括:
获取待复现轨迹的内核日志所对应安卓系统时间;
获取安卓系统时间被选定的时间范围,并获取所选定的事件结点和设备使用协议;
扫描获取内核日志中与时间范围所对应的触摸事件数据,根据设备使用协议将触摸事件数据转化为对应格式的事件数据,相应增加延时后写入事件结点;
根据事件结点中的上报数据进行触控轨迹复现。
2.根据权利要求1所述的方法,其特征在于,所述获取待复现轨迹的内核日志所对应安卓系统时间,包括:
获取所导入的待复现轨迹的内核日志;
查找并判断内核日志中是否带有安卓系统时间;
若内核日志中未带有安卓系统时间,进行内核日志不符合要求的错误提示;
若内核日志中带有安卓系统时间,获取内核日志的计数时间与安卓系统时间的对应关系,根据对应关系将内核日志的计数时间转化为对应的安卓系统时间。
3.根据权利要求1所述的方法,其特征在于,所述获取安卓系统时间被选定的时间范围,并获取所选定的事件结点和设备使用协议,包括:
获取安卓系统时间被选定的起始时间和结束时间,根据安卓系统时间被选定的起始时间和结束时间得到时间范围;
获取与终端对应的事件结点,及用于确定上报触摸事件数据类型的设备使用协议。
4.根据权利要求3所述的方法,其特征在于,所述设备使用协议为Linux Input子系统中的A协议或B协议。
5.根据权利要求4所述的方法,其特征在于,所述扫描获取内核日志中与时间范围所对应的触摸事件数据,根据设备使用协议将触摸事件数据转化为对应格式的事件数据,并相应增加延时后写入事件结点,包括:
根据时间范围,定位获取内核日志中与时间范围相对应的内核日志;
根据与触摸事件对应的关键词,在与时间范围相对应的内核日志中查找获取触摸事件数据;
判断设备使用协议的类型;
若设备使用协议为A协议,将触摸事件数据转化为与A协议对应的事件数据,并存储至链表;
若设备使用协议为B协议,将触摸事件数据转化为与B协议对应的事件数据,并存储至链表;
获取链表中的事件数据,相应增加延时后写入事件结点。
6.根据权利要求5所述的方法,其特征在于,所述根据与触摸事件对应的关键词,在与时间范围相对应的内核日志中查找获取触摸事件数据,包括:
根据按下的关键词或抬起的关键词,在与时间范围相对应的内核日志中查找所对应事件序列;
获取与按下的关键词对应事件序列中的触摸点坐标、触摸点ID、点击面积及触摸持续时间,组装成与按下的关键词对应的事件序列所对应触摸事件数据;
获取与抬起的关键词对应的事件序列中的触摸点ID,组装成与抬起的关键词对应的事件序列所对应触摸事件数据。
7.根据权利要求1所述的方法,其特征在于,所述根据事件结点中的上报数据进行触控轨迹复现,包括:
根据时间顺序依次获取事件结点中的上报数据上报至系统框架层;
按时间顺序依次执行系统框架层接收的上报数据得到触控轨迹,并将触控轨迹进行显示。
8.一种终端,其特征在于,包括用于执行如权利要求1-7任一权利要求所述的方法的单元。
9.一种终端,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。

说明书全文

由日志复现触控轨迹的方法、终端及计算机可读存储介质

技术领域

[0001] 本发明涉及触控技术领域,尤其涉及由日志复现触控轨迹的方法、终端及计算机可读存储介质。

背景技术

[0002] 触控技术对于智能终端的用户而言并不陌生,在很多公共设备或者消费类电子产品都有这种人机交互的功能。特别是在多点触控技术出来之后,触控已经渐渐成为手机一种无法取代的交互方式。
[0003] 在手机领域,目前应用较广的是电容式触摸屏,即通过检测人体接触时所产生的电容变化量来决定是否需要上报触控数据。触摸屏通过覆盖在手机上的X-Y电极网格工作,比较所有电极的测量值,就可以准确定位手指位置。具体来说,当手指靠近触控屏上电极时,人体电场、用户和触控屏表面形成了一个耦合电容。对于高频电流来说,电容是直接导体,手指接触屏幕吸走一个很小的电流。这个电流分别从触摸屏四上的电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比,控制器通过对这四个电流比例的精确计算,得出触摸点的位置信息。
[0004] 电容屏存在着很大优势,但也很容易受到外界的干扰,例如显示屏、滴、静电等。如果存在问题也会很容易被用户体验到,例如滑屏卡顿,点击无响应,自动启动应用,跳屏等这些现象都有可能是触控引起的问题。工程师对于这些问题分析一般是通过查看录制视频和录制的日志分析是否为触控问题,录制的视频需要很清晰看到使用者的使用场景和动作,而录制的日志则可以通过视频中看到的问题分析触摸的具体情况。在分析过程中需要对准视频发生的问题时间节点再去日志中找对应的报点情况,往往这个过程耗时比较多,特别是只想查看某个时间点是否有点击事件发生,而录制的日志又是比较大的情况下。而且,在研发过程中经常会遇到一种问题,即测试过程中出了问题,但是操作时并没有录制视频,也不清楚其正在发生的情况。并且很多触控相关问题都是概率性的,即难得一见的问题,例如在测试体验中或者售后,而此时一般是有打开录制日志功能。
[0005] 更具体的,目前大多数触摸屏问题的分析方法采用以下处理方式:
[0006] 1)通过视频和日志确定问题的位置,日志一般都会有记录操作触摸屏的过程,所以通过视频确定时间点后分析日志判断是否有漏点、跳点、冒点和划线断线等问题;
[0007] 2)通过研发人员的经验查看视频问题情况判断并定位问题原因,有经验的研发人员往往会遇到和以前项目一样的问题,所以一般通过看视频或者看描述就可以确定哪里存在问题或者是否为触控问题需要解决;
[0008] 3)在无视频的情况下无法定位问题点,通过日志只能模糊判断问题原因,需要不断猜测问题提供者描述的信息,但有可能无法真正确定问题。
[0009] 以上提到的处理方式存在以下缺点:
[0010] 1)往往通过视频和内核日志,有些问题无法真正定位是系统问题还是触控问题,例如滑屏定屏,是因为触控上报了down(按下)事件而一直没有报up(抬起)事件导致触控小白点定住,还是因为系统卡顿造成的,无法判断;
[0011] 2)在没有视频的情况下查看日志并不能够确切定位到问题,而且在查询日志的过程中也是很耗时间;
[0012] 3)对于低概率性的问题,如果想要复现只能不断的手动重复测试,并且也需要投入大量人

发明内容

[0013] 本发明实施例提供一种由日志复现触控轨迹的方法、终端及计算机可读存储介质,可在未录制视频的情况下通过内核日志复现触控轨迹,根据复现的触控轨迹来快速得到触控问题的产生原因。
[0014] 第一方面,本发明实施例提供了一种由日志复现触控轨迹的方法,该方法包括:
[0015] 获取待复现轨迹的内核日志所对应安卓系统时间;
[0016] 获取安卓系统时间被选定的时间范围,并获取所选定的事件结点和设备使用协议;
[0017] 扫描获取内核日志中与时间范围所对应的触摸事件数据,根据设备使用协议将触摸事件数据转化为对应格式的事件数据,相应增加延时后写入事件结点;
[0018] 根据事件结点中的上报数据进行触控轨迹复现。
[0019] 第二方面,本发明实施例提供了一种终端,该终端包括用于执行上述第一方面的方法的单元。
[0020] 第三方面,本发明实施例提供了另一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
[0021] 第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
[0022] 本发明实施例的由日志复现触控轨迹的方法、终端及计算机可读存储介质,通过获取内核日志中触控的相关信息也即触摸事件数据来复现触控轨迹,可以在未录制视频的情况下通过内核日志复现触控轨迹,进而根据复现的触控轨迹来快速得到触控问题的产生原因,便于快速排除触控问题导致的故障。附图说明
[0023] 为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024] 图1是本发明实施例提供的一种由日志复现触控轨迹的方法的示意流程图
[0025] 图2是本发明实施例中步骤S100的子步骤的示意流程图;
[0026] 图3是本发明实施例中步骤S200的子步骤的示意流程图;
[0027] 图4是本发明实施例中步骤S300的子步骤的示意流程图;
[0028] 图5是本发明实施例中步骤S302的子步骤的示意流程图;
[0029] 图6是本发明实施例中步骤S400的子步骤的示意流程图;
[0030] 图7是本发明实施例提供的一种终端的示意性框图
[0031] 图8是本发明实施例中时间转化单元100的子单元的示意性框图;
[0032] 图9是本发明实施例中获取单元200的子单元的示意性框图;
[0033] 图10是本发明实施例中扫描单元300的子单元的示意性框图;
[0034] 图11是本发明实施例中查找单元302的子单元的示意性框图;
[0035] 图12是本发明实施例中触控轨迹复现单元400的子单元的示意性框图;
[0036] 图13是本发明另一实施例提供的一种终端的示意性框图。

具体实施方式

[0037] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038] 应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0039] 还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0040] 还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0041] 如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0042] 具体实现中,本发明实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
[0043] 在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘鼠标和/或控制杆的一个或多个其它物理用户接口设备。
[0044] 终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
[0045] 可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
[0046] 参见图1,图1是本发明实施例提供一种由日志复现触控轨迹的方法的示意流程图,如图所示方法可包括:
[0047] 步骤S100、获取待复现轨迹的内核日志所对应安卓系统时间。
[0048] 其中,当用户所使用智能终端出现故障时,为了判断是否为触控问题而导致的故障,可先从智能终端中获取内核日志(具体实施时,内核日志为kernel log),所获取的用于待复现轨迹的内核日志可以是智能终端内的全部内核日志,也可以是指定时间段范围内的内核日志。但为了更全面的获取触控数据,一般是获取智能终端内的全部内核日志。内核日志中除了包括触控日志外,还包括其他系统日志(如系统进程日志、FTP系统日志等)。
[0049] 当将待复现轨迹的内核日志导入智能终端中安装指定的插件工具(也即Android应用)中时,插件工具获取待复现轨迹的内核日志所对应的安卓系统时间(即Android time)。之所以进行上述时间格式的转化,是因为内核日志中采用的是计数时间,若不对应转化为安卓系统时间则用户不能直接看出所复现的内核日志所对应的实际时间段。通过上述时间格式的转化,便于用户选定待复现轨迹的时间段。
[0050] 步骤S200、获取安卓系统时间被选定的时间范围,并获取所选定的事件结点和设备使用协议。
[0051] 其中,当将待复现轨迹的内核日志中计数时间转化为对应安卓系统时间后,用户在插件工具可以选定其中局部的时间段,以对应复现该时间段的触控轨迹。由于内核日志中的触控数据被检索得出后需上报到指定区域,系统框架层可在指定区域获取触控数据,此时用户需在插件工具中直接设置触控数据被提取出后的存储路径,也即在插件工具的界面上选定事件结点。同样的,当置触控数据被提取出后并不是原封不动的存储至事件结点,而是要转化成指定格式后再存储。故用户还需在插件工具的界面上选定设备使用协议,触控数据被提取出后根据所选定设备使用协议组装成指定格式,再存储至事件结点。用于安卓系统时间被选定的时间范围、事件结点和设备使用协议的选定都是在界面上可视化操作,在排除触控问题的过程中更加方便和高效。
[0052] 步骤S300、扫描获取内核日志中与时间范围所对应的触摸事件数据,根据设备使用协议将触摸事件数据转化为对应格式的事件数据,相应增加延时后写入事件结点。
[0053] 其中,用户在插件工具的界面上选定好时间范围、事件结点和设备使用协议,此时触控数据被提取出后根据所选定设备使用协议组装成指定格式,再存储至事件结点。为了完全还原触控轨迹,还需将事件数据所包括的多条子数据之间插入相应的延时后再写入事件结点。这样通过提取内核日志中的触摸事件数据并插入延时后,就能对应快速的复现触控轨迹,避免了在出现触控问题时需全文分析内核日志逐一排故障的低效方式。
[0054] 步骤S400、根据事件结点中的上报数据进行触控轨迹复现。
[0055] 其中,当将触摸事件数据转化为对应格式的事件数据并存储至事件结点中,此时插件工具能提取事件结点中上报数据,执行所述上报数据以对应得到触控轨迹并在插件工具的UI界面上进行显示。这样,用户在观看触控轨迹就能快速的还原触控过程,并且可以再插件工具的界面上调节到所需想要了解的时间节点,确定是否是触控面板和驱动存在问题,还是系统级别上的问题。
[0056] 具体参见图2,在一些实施例中,步骤S100可以包括:
[0057] 步骤S101、获取所导入的待复现轨迹的内核日志;
[0058] 步骤S102、查找并判断内核日志中是否带有安卓系统时间;
[0059] 步骤S103、若内核日志中未带有安卓系统时间,进行内核日志不符合要求的错误提示;
[0060] 步骤S104、若内核日志中带有安卓系统时间,获取内核日志的计数时间与安卓系统时间的对应关系,根据对应关系将内核日志的计数时间转化为对应的安卓系统时间。
[0061] 其中,插件工具中所导入的复现轨迹的内核日志中,其起始点一般带有对应的安卓系统时间起始时间。若当内核日志中未带有安卓系统时间时,则无法确定该内核日志具体对应哪一时间范围的内核日志,故需对用户进行错误提示,即进行内核日志不符合要求的错误提示。当用户看到这一错误提示时,则可点击错误提示页面下方的客服链接,与客服人员沟通如何进行下一步操作。或是点击错误提示页面下方的排障文档链接,自行查看排障步骤。
[0062] 具体参见图3,在一些实施例中,步骤S200可以包括:
[0063] 步骤S201、获取安卓系统时间被选定的起始时间和结束时间,根据安卓系统时间被选定的起始时间和结束时间得到时间范围;
[0064] 步骤S202、获取与终端对应的事件结点,及用于确定上报触摸事件数据类型的设备使用协议。
[0065] 其中,所述设备使用协议为Linux Input子系统中的A协议或B协议。Linux Input子系统中的A协议或B协议。A协议是指处理无关联的接触,用于直接发送原始数据;B协议是处理跟踪识别类的接触,通过事件slot发送相关联的独立接触更新。通俗的讲,从设备获取的当前数据与上一个数据相同,如果不管两次数据是否一致都上报,那就是A协议;如果选择不上报,通过event slot将上一次数据保存起来与每一次数据进行比较,这就是B协议。
[0066] 下面以TP(Touch Panel,即触摸屏)的多点触摸为应用场景来举例。
[0067] A协议不会使用slot,多指触摸处理中,它的报点序列如下:
[0068] ABS_MT_POSITION_X x[0]
[0069] ABS_MT_POSITION_Yy[0]
[0070] SYN_MT_REPORT
[0071] ABS_MT_POSITION_X x[1]
[0072] ABS_MT_POSITION_Yy[1]
[0073] SYN_MT_REPORT
[0074] ...
[0075] SYN_REPORT
[0076] 上面的报点序列中需要说明的是在每个数据包的结尾用input_my_sync()对多个触控包进行分割,会产生一个SYN_MT_REPORT事件,它负责通知系统接收当前的触控信息并准备接收下一个触摸信息。之后调用input_sync()函数来标记一个多点触摸数据传送结束,这会通知系统对从上一个EV_SYN/SYN_REPORT以来的所有累加事件作出相应,并准备接收新的一组事件/数据包。A协议比较简单,也可以发现在上面的报点序列中根本就没有轨迹跟踪的信息,有的只是点坐标(如ABS_MT_POSITION_X x[0]、ABS_MT_POSITION_Yy[0])等信息,那么系统去判断当前的多个点各属于哪一条线的过程如下:
[0077] 假设前一次事件共有5个点,本次触摸也有5个点,系统会分别计算前一次5个点与本次5个点的距离,distance[prev_i,curr_j](i=0,1,...,4;j=0,1,...4),这样会产生总共5*5=25个数字。然后对这25个数字进行排序,Android用的是堆排序。之后的任务就是判断哪些当前点与前一次的点最近,那么赋予它们相同的id,应用收到这个信息后,就可以知道当前点属于哪条线了。
[0078] 用户在触摸屏上的手抬起来的时候,实际上在移动其中一个触控点后的上报序列看起来是一样,所有存在触控点的原始数据被发送,然后在它们之间用SYN_REPORT进行同步。
[0079] 当第一个接触点离开后,事件序列如下:
[0080] ABS_MT_POSITION_X x[1]
[0081] ABS_MT_POSITION_Yy[1]
[0082] SYN_MT_REPORT
[0083] SYN_REPORT
[0084] 当第二个接触点离开后,事件序列如下:
[0085] SYN_MT_REPORT
[0086] SYN_REPORT
[0087] 与A协议相比,B协议使用了slot的方式,同时增加TRACKING(即轨道),可以理解为在每次触摸的开始就会向Input子系统申请TRACKING ID,先参阅如下整个事件序列:
[0088] ABS_MT_SLOT 0
[0089] ABS_MT_TRACKING_ID 45
[0090] ABS_MT_POSITION_X x[0]
[0091] ABS_MT_POSITION_Yy[0]
[0092] ABS_MT_SLOT 1
[0093] ABS_MT_TRACKING_ID 46
[0094] ABS_MT_POSITION_X x[1]
[0095] ABS_MT_POSITION_Yy[1]
[0096] SYN_REPORT
[0097] ID 45的触控点在x方向移动后的事件序列如下:
[0098] ABS_MT_SLOT 0
[0099] ABS_MT_POSITION_X x[0]
[0100] SYN_REPORT
[0101] SLOT 0对应的接触点离开后,对应的事件序列如下:
[0102] ABS_MT_TRACKING_ID 1
[0103] SYN_REPORT上一个被修改的SLOT也是0,所以ABS_MT_SLOT被省略掉。这一消息移除了ID 45的触控点相关联的SLOT 0,于是ID 45的触控点被销毁,SLOT 0被释放后可以被另一个接触点重新再用。
[0104] 最后,第二个接触点离开后的时间序列如下:
[0105] ABS_MT_SLOT 1
[0106] ABS_MT_TRACKING_ID 1
[0107] SYN_REPORT
[0108] 从上,可以看到对于B协议设备的驱动,在每个数据包的开始,通过调用input_mt_slot()进行分割,同时带入一个参数:SLOT,这会产生一个ABS_MT_SLOT事件,它通知接受者准备更新给定的SLOT的信息,且B协议的传送的结束与A协议一样。SLOT协议需要使用到ABS_MT_TRACKING_ID,其或是由硬件提供,或是通过原始数据进行计算得到。
[0109] 没有SYN_MT_REPORT,则用ABS_MT_TRACKING_ID来跟踪当前点所属于的一条线,当前序列中某点的ID值,如果与前一次序列中某点的ID值相等,那么这两点就属于同一条线。通过上述方式,在android系统中则无需做排序等运算。这里上报的ABS_MT_TRACKING_ID为-1,也只有这里该值才可以小于零,收到该值,系统就会清除对应的ID。
[0110] 通过上述分析,明显可以看出B协议要优于A协议,但B协议需要硬件上的支持,ID值并不是随便赋值的,而是硬件上跟踪了点的轨迹。故在插件工具的界面上,用户可以选择A协议或B协议的一种,并通过选定的将触摸事件数据转化为对应格式的事件数据。
[0111] 可见,系统命令首先会根据不同的协议类型分别进行判断。对于A协议,除了在每一次上报数据时需要SYN_MT_REPORT外,如果打印的日志中down和up信息没有包含有效id则不需要上报,如果为有效id则可以上报,这样可避免Android系统中重新计算id值。而且系统命令还需要判断一组触控是否结束,即不管单击或者多点触摸,从按下到全部触摸离开算是一组有效触控,系统命令需要将每一组有效触控中BTN_TOUCH事件的down和up,还有SYN_REPORT事件写入事件结点。
[0112] 对于B协议,由于增加了SLOT和TRACKING_ID,TRACKING_ID一次点击的生命周期独一的,与SLOT一样,即从触摸到离开只发送一次,而SLOT则在移动过程中除了上报坐标外还需要上报SLOT值,并且在触摸离开时需要将上报TRACKING_ID,将其复制为-1,。其他和A协议一样,同样需要判断什么时候写入结点BTN_TOUCH事件的down和up,还有SYN_REPORT事件。
[0113] 具体参见图4,在一些实施例中,步骤S300可以包括:
[0114] 步骤S301、根据时间范围,定位获取内核日志中与时间范围相对应的内核日志;
[0115] 步骤S302、根据与触摸事件对应的关键词,在与时间范围相对应的内核日志中查找获取触摸事件数据;
[0116] 步骤S303、判断设备使用协议的类型;
[0117] 步骤S304、若设备使用协议为A协议,将触摸事件数据转化为与A协议对应的事件数据,并存储至链表;
[0118] 步骤S305、若设备使用协议为B协议,将触摸事件数据转化为与B协议对应的事件数据,并存储至链表;
[0119] 步骤S306、获取链表中的事件数据,相应增加延时后写入事件结点。
[0120] 其中,当智能终端内与插件工具通讯连接的系统命令接收所导入内核日志时,则根据在插件工具的界面上所设置的时间范围定位获取内核日志中与时间范围相对应的内核日志。之后根据与触摸事件对应的关键词,在与时间范围相对应的内核日志中扫描和获取触摸事件数据。当获取了获取触摸事件数据后根据用户在插件工具的界面上所选中的设备使用协议(A协议或B协议中的一种),将触摸事件数据转化与选中的设备使用协议相对应事件数据,并存储至链表。扫描结束后,再从链表中取出事件数据,将事件数据所包括的多条子数据之间插入相应的延时后再写入事件结点。
[0121] 在另一些实施例中,也可以不通过与插件工具通讯连接的系统命令接收所导入内核日志来执行步骤S301-S306的步骤,可以将所有的实现过程都集中在插件工具上,即系统不提供命令,而是直接安装应用即可使用。Android应用不仅完成了用户交互,即导入kernel_log和其他数据的数据,分析log并且调用原生系统命令sendevent将数据输入到事件结点中。上述方式的好处是完全独立为一个应用使用,并且更加灵活,例如可以在导入kernel_log并且识别和提取触控信息后存储到内存池中,在不断调节时间范围看复现轨迹现象时不需要再去分析kernel_log,直接从内存池获取后执行,可以提高分析速度。
[0122] 具体参见图5,在一些实施例中,步骤S302可以包括:
[0123] 步骤S3021、根据按下的关键词或抬起的关键词,在与时间范围相对应的内核日志中查找所对应事件序列;
[0124] 步骤S3022、获取与按下的关键词对应事件序列中的触摸点坐标、触摸点ID、点击面积及触摸持续时间,组装成与按下的关键词对应的事件序列所对应触摸事件数据;
[0125] 步骤S3023、获取与抬起的关键词对应的事件序列中的触摸点ID,组装成与抬起的关键词对应的事件序列所对应触摸事件数据。
[0126] 其中,与触摸事件对应的关键词为按下的关键词或抬起的关键词,按下的关键词即tp_trace_down,抬起的关键词即tp_trace_up。当在与时间范围相对应的内核日志中检索到包含tp_trace_down或tp_trace_up的日志(也即事件序列)时,则获取每一组触控中的与按下的关键词对应事件序列中的触摸点坐标、触摸点ID、点击面积及触摸持续时间,以及获取与抬起的关键词对应的事件序列中的触摸点ID,与按下的关键词对应的事件序列及与抬起的关键词对应的事件序列分别组装成对应触摸事件数据后,即可根据设备使用协议(A协议或B协议中的一种),将触摸事件数据转化与选中的设备使用协议相对应事件数据,并存储至链表。
[0127] 在判断一组触控是否结束,即不管单击或者多点触摸,从按下到全部触摸离开算是一组有效触控。系统命令需要将每一组有效触控的BTN_TOUCH事件的down和up,还有SYN_REPORT事件写入事件结点。
[0128] 具体参见图6,在一些实施例中,步骤S400可以包括:
[0129] 步骤S401、根据时间顺序依次获取事件结点中的上报数据上报至系统框架层;
[0130] 步骤S402、按时间顺序依次执行系统框架层接收的上报数据得到触控轨迹,并将触控轨迹进行显示。
[0131] 其中,系统命令或者插件工具(插件工具即Android应用)在根据时间顺序依次获取了事件结点中的上报数据后,则根据上报数据被获取的先后顺序依次执行,并在插件工具的界面上进行播放显示(类似于视频播放的原理)。这样,用户就不是直接查看内核日志,而是转化为更直接的触控轨迹复现播放,方便更高效的排查故障。
[0132] 可见,通过本申请所提供的由日志复现触控轨迹的方法,能够在触控出现问题时,特别是对于概率性比较低的问题,如果没有录制视频的情况下可通过内核日志复现触控轨迹,以了解具体问题,例如跳点或漏点等;在滑屏定屏等可能为触控引起或系统引起的问题上,可以通过恢复触控轨迹来查看问题,以更加快速解决触控问题。
[0133] 本发明实施例还提供一种终端,该终端用于执行前述任一项所述的方法的单元。具体地,参见图7,图7是本发明实施例提供的一种终端的示意框图。本实施例的终端包括:
时间转化单元100、获取单元200、扫描单元300以及触控轨迹复现单元400。
[0134] 时间转化单元100,用于获取待复现轨迹的内核日志所对应安卓系统时间。
[0135] 具体地,当用户所使用智能终端出现故障时,为了判断是否为触控问题而导致的故障,可先从智能终端中获取内核日志(具体实施时,内核日志为kernel log),所获取的用于待复现轨迹的内核日志可以是智能终端内的全部内核日志,也可以是指定时间段范围内的内核日志。但为了更全面的获取触控数据,一般是获取智能终端内的全部内核日志。内核日志中除了包括触控日志外,还包括其他系统日志(如系统进程日志、FTP系统日志等)。
[0136] 当将待复现轨迹的内核日志导入智能终端中安装指定的插件工具(也即Android应用)中时,插件工具获取待复现轨迹的内核日志所对应的安卓系统时间(即Android time)。之所以进行上述时间格式的转化,是因为内核日志中采用的是计数时间,若不对应转化为安卓系统时间则用户不能直接看出所复现的内核日志所对应的实际时间段。通过上述时间格式的转化,便于用户选定待复现轨迹的时间段。
[0137] 获取单元200,用于获取安卓系统时间被选定的时间范围,并获取所选定的事件结点和设备使用协议。
[0138] 具体地,当将待复现轨迹的内核日志中计数时间转化为对应安卓系统时间后,用户在插件工具可以选定其中局部的时间段,以对应复现该时间段的触控轨迹。由于内核日志中的触控数据被检索得出后需上报到指定区域,系统框架层可在指定区域获取触控数据,此时用户需在插件工具中直接设置触控数据被提取出后的存储路径,也即在插件工具的界面上选定事件结点。同样的,当置触控数据被提取出后并不是原封不动的存储至事件结点,而是要转化成指定格式后再存储。故用户还需在插件工具的界面上选定设备使用协议,触控数据被提取出后根据所选定设备使用协议组装成指定格式,再存储至事件结点。用于安卓系统时间被选定的时间范围、事件结点和设备使用协议的选定都是在界面上可视化操作,在排除触控问题的过程中更加方便和高效。
[0139] 扫描单元300,用于扫描获取内核日志中与时间范围所对应的触摸事件数据,根据设备使用协议将触摸事件数据转化为对应格式的事件数据,相应增加延时后写入事件结点。
[0140] 具体地,用户在插件工具的界面上选定好时间范围、事件结点和设备使用协议,此时触控数据被提取出后根据所选定设备使用协议组装成指定格式,再存储至事件结点。为了完全还原触控轨迹,还需将事件数据所包括的多条子数据之间插入相应的延时后再写入事件结点。这样通过提取内核日志中的触摸事件数据并插入延时后,就能对应快速的复现触控轨迹,避免了在出现触控问题时需全文分析内核日志逐一排故障的低效方式。
[0141] 触控轨迹复现单元400,用于根据事件结点中的上报数据进行触控轨迹复现。
[0142] 具体地,当将触摸事件数据转化为对应格式的事件数据并存储至事件结点中,此时插件工具能提取事件结点中上报数据,执行所述上报数据以对应得到触控轨迹并在插件工具的UI界面上进行显示。这样,用户在观看触控轨迹就能快速的还原触控过程,并且可以再插件工具的界面上调节到所需想要了解的时间节点,确定是否是触控面板和驱动存在问题,还是系统级别上的问题。
[0143] 具体参见图8,在一些实施例中,所述时间转化单元100可以包括:导入检测单元101、第一判断单元102、第一执行单元103及第二执行单元104。
[0144] 其中,导入检测单元101,用于获取所导入的待复现轨迹的内核日志;
[0145] 第一判断单元102,用于查找并判断内核日志中是否带有安卓系统时间;
[0146] 第一执行单元103,用于若内核日志中未带有安卓系统时间,进行内核日志不符合要求的错误提示;
[0147] 第二执行单元104,用于若内核日志中带有安卓系统时间,获取内核日志的计数时间与安卓系统时间的对应关系,根据对应关系将内核日志的计数时间转化为对应的安卓系统时间。
[0148] 具体地,插件工具中所导入的复现轨迹的内核日志中,其起始点一般带有对应的安卓系统时间起始时间。若当内核日志中未带有安卓系统时间时,则无法确定该内核日志具体对应哪一时间范围的内核日志,故需对用户进行错误提示,即进行内核日志不符合要求的错误提示。当用户看到这一错误提示时,则可点击错误提示页面下方的客服链接,与客服人员沟通如何进行下一步操作。或是点击错误提示页面下方的排障文档链接,自行查看排障步骤。
[0149] 具体参见图9,在一些实施例中,所述获取单元200可以包括:起止时间获取单元201、和事件结点及协议获取单元202。
[0150] 其中,起止时间获取单元201,用于获取安卓系统时间被选定的起始时间和结束时间,根据安卓系统时间被选定的起始时间和结束时间得到时间范围;
[0151] 事件结点及协议获取单元202,用于获取与终端对应的事件结点,及用于确定上报触摸事件数据类型的设备使用协议。
[0152] 其中,所述设备使用协议为Linux Input子系统中的A协议或B协议。Linux Input子系统中的A协议或B协议。A协议是指处理无关联的接触,用于直接发送原始数据;B协议是处理跟踪识别类的接触,通过事件slot发送相关联的独立接触更新。通俗的讲,从设备获取的当前数据与上一个数据相同,如果不管两次数据是否一致都上报,那就是A协议;如果选择不上报,通过event slot将上一次数据保存起来与每一次数据进行比较,这就是B协议。
[0153] 具体参见图10,在一些实施例中,所述扫描单元300可以包括:定位单元301、查找单元302、第二判断单元303、第一转化单元304、第二转化单元305及数据写入单元306。
[0154] 其中,定位单元301,用于根据时间范围,定位获取内核日志中与时间范围相对应的内核日志;
[0155] 查找单元302,用于根据与触摸事件对应的关键词,在与时间范围相对应的内核日志中查找获取触摸事件数据;
[0156] 第二判断单元303,用于判断设备使用协议的类型;
[0157] 第一转化单元304,用于若设备使用协议为A协议,将触摸事件数据转化为与A协议对应的事件数据,并存储至链表;
[0158] 第二转化单元305,用于若设备使用协议为B协议,将触摸事件数据转化为与B协议对应的事件数据,并存储至链表;
[0159] 数据写入单元306,用于获取链表中的事件数据,相应增加延时后写入事件结点。
[0160] 具体地,当智能终端内与插件工具通讯连接的系统命令接收所导入内核日志时,则根据在插件工具的界面上所设置的时间范围定位获取内核日志中与时间范围相对应的内核日志。之后根据与触摸事件对应的关键词,在与时间范围相对应的内核日志中扫描和获取触摸事件数据。当获取了获取触摸事件数据后根据用户在插件工具的界面上所选中的设备使用协议(A协议或B协议中的一种),将触摸事件数据转化与选中的设备使用协议相对应事件数据,并存储至链表。扫描结束后,再从链表中取出事件数据,将事件数据所包括的多条子数据之间插入相应的延时后再写入事件结点。
[0161] 在另一些实施例中,也可以不通过与插件工具通讯连接的系统命令接收所导入内核日志,直接将所有的实现过程都集中在插件工具上,即系统不提供命令,而是直接安装应用即可使用。Android应用不仅完成了用户交互,即导入kernel_log和其他数据的数据,分析log并且调用原生系统命令sendevent将数据输入到事件结点中。上述方式的好处是完全独立为一个应用使用,并且更加灵活,例如可以在导入kernel_log并且识别和提取触控信息后存储到内存池中,在不断调节时间范围看复现轨迹现象时不需要再去分析kernel_log,直接从内存池获取后执行,可以提高分析速度。
[0162] 具体参见图11,在一些实施例中,所述查找单元302可以包括:关键词检索单元3021、第一触摸事件数据单元3202、第二触摸事件数据单元3023。
[0163] 其中,关键词检索单元3021,用于根据按下的关键词或抬起的关键词,在与时间范围相对应的内核日志中查找所对应事件序列;
[0164] 第一触摸事件数据单元3202,用于获取与按下的关键词对应事件序列中的触摸点坐标、触摸点ID、点击面积及触摸持续时间,组装成与按下的关键词对应的事件序列所对应触摸事件数据;
[0165] 第二触摸事件数据单元3023,用于获取与抬起的关键词对应的事件序列中的触摸点ID,组装成与抬起的关键词对应的事件序列所对应触摸事件数据。
[0166] 具体地,与触摸事件对应的关键词为按下的关键词或抬起的关键词,按下的关键词即tp_trace_down,抬起的关键词即tp_trace_up。当在与时间范围相对应的内核日志中检索到包含tp_trace_down或tp_trace_up的日志(也即事件序列)时,则获取每一组触控中的与按下的关键词对应事件序列中的触摸点坐标、触摸点ID、点击面积及触摸持续时间,以及获取与抬起的关键词对应的事件序列中的触摸点ID,与按下的关键词对应的事件序列及与抬起的关键词对应的事件序列分别组装成对应触摸事件数据后,即可根据设备使用协议(A协议或B协议中的一种),将触摸事件数据转化与选中的设备使用协议相对应事件数据,并存储至链表。
[0167] 具体参见图12,在一些实施例中,所述触控轨迹复现单元400可以包括:事件结点扫描单元401、及第三执行单元402。
[0168] 其中,事件结点扫描单元401,用于根据时间顺序依次获取事件结点中的上报数据上报至系统框架层;
[0169] 第三执行单元402,用于按时间顺序依次执行系统框架层接收的上报数据得到触控轨迹,并将触控轨迹进行显示。
[0170] 具体地,系统命令或者插件工具(插件工具即Android应用)在根据时间顺序依次获取了事件结点中的上报数据后,则根据上报数据被获取的先后顺序依次执行,并在插件工具的界面上进行播放显示(类似于视频播放的原理)。这样,用户就不是直接查看内核日志,而是转化为更直接的触控轨迹复现播放,方便更高效的排查故障。
[0171] 综上,本申请所提供的终端,能够在触控出现问题时,特别是对于概率性比较低的问题,如果没有录制视频的情况下可通过内核日志复现触控轨迹,以了解具体问题,例如跳点或漏点等;在滑屏定屏等可能为触控引起或系统引起的问题上,可以通过恢复触控轨迹来查看问题,以更加快速解决触控问题。
[0172] 参见图13,是本发明另一实施例提供的一种终端示意框图。如图所示的本实施例中的终端可以包括:一个或多个处理器1301;一个或多个输入设备1302,一个或多个输出设备1303和存储器1304。上述处理器1301、输入设备1302、输出设备1303和存储器1304通过总线1305连接。存储器1302用于存储计算机程序,所述计算机程序包括程序指令,处理器1301用于执行存储器1302存储的程序指令。其中,处理器1301被配置用于调用所述程序指令以执行:
[0173] 获取待复现轨迹的内核日志所对应安卓系统时间;获取安卓系统时间被选定的时间范围,并获取所选定的事件结点和设备使用协议;扫描获取内核日志中与时间范围所对应的触摸事件数据,根据设备使用协议将触摸事件数据转化为对应格式的事件数据,相应增加延时后写入事件结点;根据事件结点中的上报数据进行触控轨迹复现。
[0174] 在某些实施例,例如本实施例中,所述处理器在实现所述获取待复现轨迹的内核日志所对应安卓系统时间时,具体通过以下方式实现:获取所导入的待复现轨迹的内核日志;查找并判断内核日志中是否带有安卓系统时间;若内核日志中未带有安卓系统时间,进行内核日志不符合要求的错误提示;若内核日志中带有安卓系统时间,获取内核日志的计数时间与安卓系统时间的对应关系,根据对应关系将内核日志的计数时间转化为对应的安卓系统时间。
[0175] 在某些实施例,例如本实施例中,所述处理器在实现所述获取安卓系统时间被选定的时间范围,并获取所选定的事件结点和设备使用协议,具体通过以下方式实现:获取安卓系统时间被选定的起始时间和结束时间,根据安卓系统时间被选定的起始时间和结束时间得到时间范围;获取与终端对应的事件结点,及用于确定上报触摸事件数据类型的设备使用协议;其中,所述设备使用协议为Linux Input子系统中的A协议或B协议。
[0176] 在某些实施例,例如本实施例中,所述处理器在实现所述扫描获取内核日志中与时间范围所对应的触摸事件数据,根据设备使用协议将触摸事件数据转化为对应格式的事件数据,并相应增加延时后写入事件结点,具体通过以下方式实现:根据时间范围,定位获取内核日志中与时间范围相对应的内核日志;根据与触摸事件对应的关键词,在与时间范围相对应的内核日志中查找获取触摸事件数据;判断设备使用协议的类型;若设备使用协议为A协议时,则将触摸事件数据转化为与A协议对应的事件数据,并存储至链表;若设备使用协议为B协议,将触摸事件数据转化为与B协议对应的事件数据,并存储至链表;获取链表中的事件数据,相应增加延时后写入事件结点。
[0177] 在某些实施例,例如本实施例中,所述处理器被配置在实现所述根据与触摸事件对应的关键词,在与时间范围相对应的内核日志中查找获取触摸事件数据,具体通过以下方式实现:根据按下的关键词或抬起的关键词,在与时间范围相对应的内核日志中查找所对应事件序列;获取与按下的关键词对应事件序列中的触摸点坐标、触摸点ID、点击面积及触摸持续时间,组装成与按下的关键词对应的事件序列所对应触摸事件数据;获取与抬起的关键词对应的事件序列中的触摸点ID,组装成与抬起的关键词对应的事件序列所对应触摸事件数据。
[0178] 在某些实施例,例如本实施例中,所述处理器被配置在实现所述根据事件结点中的上报数据进行触控轨迹复现,具体通过以下方式实现:根据时间顺序依次获取事件结点中的上报数据上报至系统框架层;按时间顺序依次执行系统框架层接收的上报数据得到触控轨迹,并将触控轨迹进行显示。
[0179] 应当理解,在本发明实施例中,所称处理器1301可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0180] 输入设备1302可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克等,输出设备1303可以包括显示器(LCD等)、扬声器等。
[0181] 该存储器1304可以包括只读存储器随机存取存储器,并向处理器1301提供指令和数据。存储器1304的一部分还可以包括非易失性随机存取存储器。例如,存储器1304还可以存储设备类型的信息。
[0182] 具体实现中,本发明实施例中所描述的处理器1301、输入设备1302、输出设备1303可执行本发明实施例提供的由日志复现触控轨迹的方法的实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。
[0183] 在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:
[0184] 获取待复现轨迹的内核日志所对应安卓系统时间;获取安卓系统时间被选定的时间范围,并获取所选定的事件结点和设备使用协议;扫描获取内核日志中与时间范围所对应的触摸事件数据,根据设备使用协议将触摸事件数据转化为对应格式的事件数据,相应增加延时后写入事件结点;根据事件结点中的上报数据进行触控轨迹复现。
[0185] 还用于实现获取所导入的待复现轨迹的内核日志;查找并判断内核日志中是否带有安卓系统时间;当内核日志中未带有安卓系统时间时,则进行内核日志不符合要求的错误提示;当内核日志中带有安卓系统时间时,则获取内核日志的计数时间与安卓系统时间的对应关系,根据对应关系将内核日志的计数时间转化为对应的安卓系统时间。
[0186] 还用于实现获取安卓系统时间被选定的起始时间和结束时间,根据安卓系统时间被选定的起始时间和结束时间得到时间范围;获取与终端对应的事件结点,及用于确定上报触摸事件数据类型的设备使用协议;其中,所述设备使用协议为Linux Input子系统中的A协议或B协议。
[0187] 还用于实现根据时间范围,定位获取内核日志中与时间范围相对应的内核日志;根据与触摸事件对应的关键词,在与时间范围相对应的内核日志中查找获取触摸事件数据;判断设备使用协议的类型;当设备使用协议为A协议时,则将触摸事件数据转化为与A协议对应的事件数据,并存储至链表;当设备使用协议为B协议时,则将触摸事件数据转化为与B协议对应的事件数据,并存储至链表;获取链表中的事件数据,相应增加延时后写入事件结点。
[0188] 还用于实现根据按下的关键词或抬起的关键词,在与时间范围相对应的内核日志中查找所对应事件序列;获取与按下的关键词对应事件序列中的触摸点坐标、触摸点ID、点击面积及触摸持续时间,组装成与按下的关键词对应的事件序列所对应触摸事件数据;获取与抬起的关键词对应的事件序列中的触摸点ID,组装成与抬起的关键词对应的事件序列所对应触摸事件数据。
[0189] 还用于实现根据时间顺序依次获取事件结点中的上报数据上报至系统框架层;按时间顺序依次执行系统框架层接收的上报数据得到触控轨迹,并将触控轨迹进行显示。
[0190] 所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0191] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0192] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0193] 在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0194] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0195] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0196] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0197] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈