候选字词显示时间的获取方法、输入法测试方法及装置制造方法

文档序号:6488222阅读:176来源:国知局
候选字词显示时间的获取方法、输入法测试方法及装置制造方法
【专利摘要】本发明公开了一种输入法候选字词显示时间的获取方法、输入法测试方法及装置。其中,输入法候选字词显示时间的获取方法包括:截取输入法完成候选字词显示时向系统发送的即时消息,所述即时消息包括候选字词以及记载完成映射字符候选字词显示时间的时间戳;从所述即时消息中获取时间戳,进而得到候选字词显示时间。通过上述方式,本发明能够获得候选字词显示的时间,时间精度高、操作可靠,并且可以用于各个输入法的回显时间测试。
【专利说明】候选字词显示时间的获取方法、输入法测试方法及装置
【技术领域】
[0001]本发明涉及输入法【技术领域】,特别是涉及一种候选字词显示时间的获取方法、输入法测试方法及装置。
【背景技术】
[0002]目前,业界对于开发输入法的研究,大部分都关注于输入法功能的实现和界面(UI)的设计,而对其性能之一的输入法回显时间关注的较少,更没有可靠的方法去衡量与别的输入法之间的差距。
[0003]一般获取输入法回显时间需要得到输入时的时间以及输入法完成候选字词显示的时间,两个时间差即为回显时间。传统的衡量输入法回显时间的方案主要有如下两种:使用第三方工具辅助判断(比如多次截图进行对比);或使用程序接口钩子(api hook)抓取候选字词窗口。
[0004]对于使用第三方工具辅助判断的方案,由于第三方工具获取到的回显时间粒度偏大,比方说通过分别在输入时以及完成候选词显示时截图进行对比,但是第三方工具获取截图的时间间隔往往比较大,而有些输入法的候选字词显示时间非常短,因此导致获取候选字词显示的时间误差较大,最终造成得到的回显时间不准确。
[0005]对于使用api hook抓取候选字词窗口的方案,由于输入法的UI实现机制不一样,使用api hook抓取候选字词窗口的方式门槛较高,而且对于无即时候选框的输入法,此方法无能为力。

【发明内容】

[0006]本发明主要解决的技术问题是提供一种候选字词显示时间的获取方法、输入法测试方法及装置,不需要知道各个输入法的UI实现机制,也不必关心各个输入法功能的展现,就能够获取输入法候选字词的显示时间,从而实现输入法回显时间的测试,时间精度高、操作可靠,并且可以用于各个输入法的回显时间测试。
[0007]为了解决上述技术问题,本发明采用的一个技术方案是:提供一种输入法候选字词显示时间的获取方法,包括:截取输入法完成候选字词显示时向系统发送的即时消息,所述即时消息包括候选字词以及记载完成映射字符候选字词显示时间的时间戳;从所述即时消息中获取时间戳,进而得到候选字词显示时间。
[0008]其中,所述截取输入法完成候选字词显示时向系统发生的即时消息的步骤包括:在自定义文本编辑器中截取输入法完成映射字符候选字词显示时向系统发送的即时消息。
[0009]其中,所述截取输入法完成候选字词显示时向系统发送的即时消息的步骤之后,还包括:以系统日志的形式将所述即时消息保存在系统的共享内存映射文件中;所述从即时消息中获取时间戳的步骤包括:从所述共享内存映射文件中读取出即时消息,并从所述即时消息中获取时间戳。
[0010]为解决上述技术问题,本发明采用的一个技术方案是:提供一种输入法测试方法,包括:接收利用所述输入法输入的字符,并获取所述输入前一刻的第一当前时间Tl;获取所述输入法完成字符的映射字符候选字词显示的第二当前时间T2,所述第二当前时间T2由截取输入法完成映射字符候选字词显示时向系统发送的即时消息而得到;结合第一当前时间Tl以及第二当前时间T2进而得到所述输入法本次的回显时间T。
[0011]其中,所述获取输入法完成所述字符的映射字符候选字词显示的第二当前时间T2的步骤包括:截取所述输入法完成映射字符候选字词显示时向系统发送的即时消息;从所述即时消息中获取时间戳,所述时间戳记载完成映射字符候选字词显示时间,进而得到所述第二当前时间T2。
[0012]其中,所述截取输入法完成映射字符候选字词显示时向系统发送的即时消息的步骤之后,包括:以系统日志的形式将所述即时消息保存在系统的共享内存映射文件中;所述从即时消息中获取时间戳的步骤包括:从所述共享内存映射文件中读取出即时消息,并从所述即时消息中获取时间戳。
[0013]其中,所述获取输入前一刻的第一当前时间Tl的步骤之后包括:以系统日志的形式将所述第一当前时间Tl保存在系统的共享内存映射文件中。
[0014]其中,所述接收利用输入法输入的字符的步骤包括:接收利用所述输入法在自定义文本编辑器内进行模拟按键或手写输入的字符。
[0015]其中,所述第二当前时间T2由截取输入法完成映射字符候选字词显示时向系统发送的即时消息而得到的步骤包括:所述第二当前时间T2是在自定义文本编辑器中截取输入法完成映射字符候选字词显示时向系统发送的即时消息而得到。
[0016]为解决上述技术问题,本发明采用的另一个技术方案是:提供一种获取输入法候选字词显示时间的装置,包括消息截取模块以及时间获取模块,其中:所述消息截取模块用于截取输入法完成候选字词显示时向系统发送的即时消息,并将所述即时消息发送给时间获取模块,所述即时消息包括候选字词以及记载完成映射字符候选字词显示时间的时间戳;所述时间获取模块,用于接收来自所述消息截取模块的所述即时消息,并从所述即时消息中获取时间戳,进而得到候选字词显示时间。
[0017]其中,所述消息截取模块具体用于在自定义文本编辑器中截取输入法完成映射字符候选字词显示时向系统发送的即时消息。
[0018]其中,所述装置还包括:保存模块,用于以系统日志的形式保存所述即时消息;所述时间获取模块具体用于从所述保存模块中读取出即时消息,并从所述即时消息中获取时间戳进而得到候选字词显示时间。
[0019]为解决上述技术问题,本发明采用的另一个技术方案是:提供一种输入法测试装置,包括第一获取模块、第二获取模块以及第三获取模块,其中:第一获取模块,用于接收利用所述输入法输入的字符,并获取所述输入前一刻的第一当前时间Tl,并将获取的所述第一当前时间Tl输出给所述第三获取模块;第二获取模块,用于获取所述输入法完成所述字符的映射字符候选字词显示的第二当前时间T2,并将获取的所述第二当前时间T2输出给所述第三获取模块,所述第二当前时间T2由截取输入法完成映射字符候选字词显示时向系统发送的即时消息而得到;第三获取模块,用于结合所述第一当前时间Tl以及所述第二当前时间T2得到输入法本次的回显时间T。
[0020]其中,所述第二获取模块具体用于通过截取所述输入法完成映射字符候选字词显示时向系统发送的即时消息,从所述即时消息中获取时间戳,所述时间戳记载完成映射字符候选字词显示时间,进而得到所述第二当前时间T2。
[0021]其中,保存模块,用于以系统日志的形式保存所述第一当前时间Tl以及所述即时消息保存。
[0022]其中,所述第一获取模块具体用于接收利用所述输入法在自定义文本编辑器内进行模拟按键或手写输入的字符,并获取所述模拟按键或手写输入前一刻的第一当前时间Tl。
[0023]本发明的有益效果是:区别于现有技术的情况,本发明通过捕获输入法发送的即时消息,就能够获取输入法候选字词的显示时间,由于是通过捕获输入法发送的即时消息而获得,避免了现有技术中获取输入法候选字词显示时间时的误差较大的缺陷。从即时消息中获取候选字词显示的时间结合获取的按键输入前一刻的时间,进而得到输入法本次的回显时间。由于即时消息的传递流程是基于输入法的工作机制实现的,本发明的输入法测试方法通过捕获即时消息来实现输入法回显时间的测试,因此不需要知道各个输入法的UI实现机制,也不必关心各个输入法功能的展现就能实现。基于此,本发明方法可以用于各个输入法的回显时间测试,为各个输入法性能比较提供一定的依据。而且由于该方法是基于即时消息的捕获,因此时间精度闻。
【专利附图】

【附图说明】
[0024]图1是本发明输入法候选字词显示时间的获取方法一实施方式的流程图;
[0025]图2是本发明输入法测试方法一实施方式的流程图;
[0026]图3是本发明输入法测试方法一实施方式中获取第二当前时间T2的流程图;
[0027]图4是本发明获取输入法候选字词显示时间的装置一实施方式的结构示意图;
[0028]图5是本发明输入法测试装置一实施方式的结构示意图。
【具体实施方式】
[0029]请参阅图1,本发明输入法候选字词显示时间的获取方法一实施方式包括:
[0030]SlOl:截取输入法完成候选字词显示时向系统发送的即时消息;
[0031]—般输入法接收客户端发送的字符后,会找到相应的映射字符并输出映射字符候选字词。输入法完成字符的映射字符候选字词显不后,会向系统发送一即时消息,具体而言是向系统的输入法管理器发送一即时消息。即时消息包括候选字词以及记载完成映射字符候选字词显示时间的时间戳。通过在自定义文本编辑器中截取输入法完成映射字符候选字词显示时向系统发送的即时消息。在实际应用中,可以把获取到的即时消息以系统日志的形式保存在共享内存映射文件中,而不会影响测试的效率,也避免影响系统性能。
[0032]S102:从即时消息中获取时间戳,进而得到候选字词显示时间;
[0033]从即时消息中获取记载完成映射字符候选字词显示时间的时间戳,这个时间戳的时间跟完成映射字符候选字词显示的瞬间时间一致,作为输入法完成候选字词显示时间。
[0034]通过上述实施方式的描述,可以理解,本发明通过捕获输入法完成候选字词显示时向系统发送的即时消息,就能够从即时消息中获取输入法完成候选字词的显示时间,由于是通过捕获输入法发送的即时消息而获得,获取的输入法候选字词的显示时间精度大,避免了现有技术中获取输入法候选字词显示时间时的误差较大的缺陷。另外,由于即时消息的传递流程是基于输入法的工作机制实现的,因此本发明不需要知道各个输入法的UI实现机制,也不必关心各个输入法功能的展现就能实现候选字词显示时间的获取。
[0035]请参阅图2,本发明输入法测试方法一实施方式包括:
[0036]步骤S201:接收利用输入法输入的字符,并获取输入前一刻的第一当前时间Tl ;
[0037]本发明实施方式中,输入法是指为了将各种符号输入计算机或其他设备(如手机)而采用的编码方法。比如百度输入法、搜狗输入法、谷歌输入法等等。输入法测试是指通过一定的输入法测试方法或手段对输入法的各项性能进行评估。输入是指通过按下键盘上的键或者手写的方式向设备发送字符。比如按下键盘上的字母“d”向设备发送字符“d”,又比如通过在触摸屏上画“)”向设备发送字符“)”。字符是指计算机中使用的字母、数字、字和符号,比如1、2、3、A、B、C、!、?等等。
[0038]本发明实施方式提供的输入法测试方法用于对输入法的性能之一一回显时间进行测试,首先在自定义的文本编辑器中利用输入法模拟用户按键或手写输入,向系统发送输入的字符,系统接收字符,并获取输入字符前一刻的第一当前时间Tl。获取的第一当前时间以系统日志的形式保存在系统的共享内存映射文件中。采用这种缓存式输出,可以避免单条日志形式直接输出而影响系统性能。本发明所说的系统可以是针对计算机上的操作系统,比如但不限于是Windows、Mac、Linux、Unix操作系统等。也可以是针对移动设备的操作系统,比如但不限于是Meego、Android操作系统等。
[0039]系统日志是指用于记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件的文件。可以通过以下方式查看系统日志:开始一设置一控制面板一管理工具中找到的“事件查看器”,或者在【开始】一【运行】一输入eventvwr.msc也可以直接进入“事件查看器”。例如可以利用eventlog事件来记录计算机开关机的记录:在【事件查看器】窗口,在左侧的窗格当中选择【系统】选项,单击右键【属性】菜单项,之后在弹出来的【属性】对话框当中切换到【筛选】选项卡,在【事件来源】下拉列表框中找到“evenlog之后【确定】,此时就可以看见该事件的日志`信息了。其中事件ID6006、ID6005、ID6009就表示不同状态的机器的情况(开关机)。6005信息EventLog事件日志表示服务已启动(开机);6006信息EventLog事件日志表示服务已停止(关机);6009信息EventLog表示按ctrl、alt、delete键(非正常)关机。因此本发明实施方式也可以通过系统日志的形式保存获取的第一当前时间Tl以及第二当前时间T2等。
[0040]由于系统无法准确获取输入字符的瞬间时间,而这里所说的输入字符前一刻的第一当前时间Tl,是系统在获悉有输入字符此事件后自动记录的输入字符前一刻时间。系统虽然不能获取输入的瞬时时间,但其知道每次输入字符前那一刻时间,而且均会自动记录下来。该输入字符前那一刻时间与输入字符的瞬时时间非常接近,因此这里的第一当前时间Tl可以作为是输入字符的瞬间时间。利用上述系统对输入时间的记录处理机制,可以获得近似于输入的瞬时时间的第一当前时间Tl。
[0041]步骤S202:输入法完成字符的映射字符候选字词显示的第二当前时间T2 ;
[0042]这里所说的映射字符是指系统中与输入法输入的字符相对应的字符。比如输入字符“ da”,则其系统中的映射字符为“大”等同音字。映射字符候选字词是指跟输入字符的映射字符对应的可供选择的字、词或者符号等。比如与输入字符“d”,系统找到其对应的映射字符,映射字符候选字词可以是“1.的2.都3.对4.到5........”等,这些映射字符候选
字词会在输入字符“d”后经过“回显时间”而显示出来。
[0043]这里的第二当前时间T2是指输入法完成候选字词显示的当前时间,主要是通过在自定义文本编辑器中截取输入法完成映射字符候选字词显示时向系统发送的即时消息而得到。
[0044]其中,请参阅图3,获取第二当前时间T2包括以下子步骤:
[0045]子步骤S301:截取输入法完成映射字符候选字词显示时向系统发送的即时消息;
[0046]输入法完成字符的映射字符候选字词显不后,会向系统发送一即时消息,具体而言是向系统的输入法管理器发送一即时消息。所述即时消息包括候选字词以及记载完成映射字符候选字词显示时间的时间戳。在实际应用中,可以把获取到的即时消息以系统日志的形式保存在共享内存映射文件中,而不会影响测试的效率,也避免影响系统性能。
[0047]子步骤S302:从即时消息中获取时间戳,进而得到第二当前时间T2 ;
[0048]从即时消息中获取记载完成映射字符候选字词显示时间的时间戳,这个时间戳的时间跟完成映射字符候选字词显示的瞬间时间一致,作为完成映射字符候选字词显示的第二当前时间T2。
[0049]步骤S203:结合第一当前时间Tl以及第二当前时间T2得到输入法本次的回显时间T;
[0050]本发明实施方式所说的回显时间是指开始接收按键字符输入到输入法完成相应候选字词显示的时间间隔。比如需要输入“大海”,其中的一个回显时间是指按键字符输入“d”到输入法完成跟“d”对应的候选字词比如“1.的2.都3.对4.到5.?”等显示的时间间隔。另一个回显时间是指完成按键字符输入“d”后,输入字符“a”到输入法完成跟“da”对应的候选字词比如“1.打2.大3.答4.搭5.达”等显示的时间间隔,以此类推。因此,每输入一个字符都会出现相应的候选字词,也就产生相应的回显时间。可以以这个回显时间来作为输入法性能评估的一个参考依据。在本实施方式中,回显时间T=T2-T1。比方说获取的 Tl 为 0.12s,获取的 T2 为 0.23s,则 T=0.23s-0.12s=0.11s。
[0051]实际应用中,需要对输入法回显时间进行测试时,可以获取多个不同输入产生的相应的Tl以及T2,并以系统日志的形式保存在系统内存映射文件中。然后从内存映射中获取这些数据进行批量处理,比方利用一些数据处理软件或者统计软件等处理,而得到不同输入的回显时间。可以对这些不同的回显时间进行统计分析,对超出正常范围的字符回显时间进行重新测试或查看是否是输入法本身的原因并进行改善,从而进一步提升输入法性能。如下表1,是其中一组输入不同字符的回显时间测试数据。如果正常的回显时间是
0.1-0.2s,那么可以看到字符“)”、“丨”对应的回显时间明显超出正常范围,这时可以检查是否是测试时出现问题,比如触摸屏感应不灵敏或是别的原因。如果是测试本身的问题,可以重新测试等。又或者检查是否是输入法本身的问题,比如对部首的输入无法正常响应或与系统内的字符映射关系不对应等等,这时可以对输入法进行修改或别的方式来改善等
坐寸ο
[0052]表1输入不同字符的回显时间测试
[0053]
【权利要求】
1.一种输入法候选字词显示时间的获取方法,其特征在于,包括: 截取输入法完成候选字词显示时向系统发送的即时消息,所述即时消息包括候选字词以及记载完成映射字符候选字词显示时间的时间戳; 从所述即时消息中获取时间戳,进而得到候选字词显示时间。
2.根据权利要求1所述的方法,其特征在于,所述截取输入法完成候选字词显示时向系统发生的即时消息的步骤包括:在自定义文本编辑器中截取输入法完成映射字符候选字词显示时向系统发送的即时消息。
3.根据权利要求1所述的方法,其特征在于,所述截取输入法完成候选字词显示时向系统发送的即时消息的步骤之后,还包括: 以系统日志的形式将所述即时消息保存在系统的共享内存映射文件中; 所述从即时消息中获取时间戳的步骤包括:从所述共享内存映射文件中读取出即时消息,并从所述即时消息中获取时间戳。
4.一种输入法测试方法,其特征在于,包括: 接收利用所述输入法输入的字符,并获取所述输入前一刻的第一当前时间Tl ; 获取所述输入法完成所述字符的映射字符候选字词显示的第二当前时间T2,所述第二当前时间T2由截取输入法完成映射字符候选字词显示时向系统发送的即时消息而得到; 结合所述第一当前时间Tl以及所述第二当前时间T2得到所述输入法本次的回显时间T。
5.根据权利要求4所述的方法,其特征在于,所述获取输入法完成字符的映射字符候选字词显示的第二当前时间T2的步骤包括: 截取所述输入法完成映射字符候选字词显示时向系统发送的即时消息; 从所述即时消息中获取时间戳,所述时间戳记载完成映射字符候选字词显示时间,进而得到所述第二当前时间T2。
6.根据权利要求5所述的方法,其特征在于,所述截取输入法完成映射字符候选字词显示时向系统发送的即时消息的步骤之后,包括: 以系统日志的形式将所述即时消息保存在系统的共享内存映射文件中; 所述从即时消息中获取时间戳的步骤包括:从所述共享内存映射文件中读取出即时消息,并从所述即时消息中获取时间戳。
7.根据权利要求5所述的方法,其特征在于,所述获取输入前一刻的第一当前时间Tl的步骤之后包括: 以系统日志的形式将所述第一当前时间Tl保存在系统的共享内存映射文件中。
8.根据权利要求4至7任一项所述的方法,其特征在于,所述接收利用输入法输入的字符的步骤包括: 接收利用所述输入法在自定义文本编辑器内进行模拟按键或手写输入的字符。
9.根据权利要求5所述的方法,其特征在于,所述第二当前时间T2由截取输入法完成映射字符候选字词显示时向系统发送的即时消息而得到的步骤包括: 所述第二当前时间T2是在自定义文本编辑器中截取输入法完成映射字符候选字词显示时向系统发送的即时消息而得到。
10.一种获取输入法候选字词显示时间的装置,其特征在于,包括消息截取模块以及时间获取模块,其中: 所述消息截取模块用于截取输入法完成候选字词显示时向系统发送的即时消息,并将所述即时消息发送给时间获取模块,所述即时消息包括候选字词以及记载完成映射字符候选字词显示时间的时间戳; 所述时间获取模块用于接收来自所述消息截取模块的所述即时消息,并从所述即时消息中获取时间戳,进而得到候选字词显示时间。
11.根据权利要求10所述的装置,其特征在于,所述消息截取模块具体用于在自定义文本编辑器中截取输入法完成映射字符候选字词显示时向系统发送的即时消息。
12.根据权利要求10所述的装置,其特征在于: 所述装置还包括保存模块,用于以系统日志的形式保存所述即时消息; 其中,所述时间获取模块具体用于从所述保存模块中读取出即时消息,并从所述即时消息中获取时间戳进而得到候选字词显示时间。
13.一种输入法测试装置,其特征在于,包括第一获取模块、第二获取模块以及第三获取丰吴块: 第一获取模块,用于接收利用所述输入法输入的字符,并获取所述输入前一刻的第一当前时间Tl,将获取的所述第一当前时间Tl输出给所述第三获取模块; 第二获取模块,用于获取所述输入法完成所述字符的映射字符候选字词显示的第二当前时间T2,并将获取的所述第二当前时间T2输出给所述第三获取模块,所述第二当前时间T2由截取输入法完成映射字符候选字词显示时向系统发送的即时消息而得到; 第三获取模块,用于结合所述第一当前时间Tl以及所述第二当前时间T2得到输入法本次的回显时间T。
14.根据权利要求13所述的装置,其特征在于,所述第二获取模块具体用于通过截取所述输入法完成映射字符候选字词显示时向系统发送的即时消息,从所述即时消息中获取时间戳,所述时间戳记载完成映射字符候选字词显示时间,进而得到所述第二当前时间T2。
15.根据权利要求13所述的装置,其特征在于: 所述装置还包括保存模块,用于以系统日志的形式保存所述第一当前时间Tl以及所述即时消息; 其中,所述第三获取模块具体用于从所述保存模块获取所述第一当前时间Tl以及从所述即时消息中获取所述第二当前时间T2,结合Tl以及T2得到输入法本次的回显时间T。
【文档编号】G06F3/023GK103631387SQ201210309497
【公开日】2014年3月12日 申请日期:2012年8月27日 优先权日:2012年8月27日
【发明者】肖迪 申请人:百度国际科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1