发明内容
本发明的实施例提供一种搜索方法及装置,可在多终端互联场景下实现多终端之间的数据共享搜索,提高搜索效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种搜索方法,包括:第一终端获取用户输入的第一关键词,进而,根据该第一关键词在第一终端内查找与第一关键词关联的第一搜索结果;第一终端向第二终端(第二终端为第一终端所属的设备组中的一个)发送第一搜索指令,第一搜索指令中携带有上述第一关键词,从而触发第二终端在自身内查找与第一关键词关联的第二搜索结果;后续,第一终端可从第二终端处获取该第二搜索结果,进而显示设备组内所有终端针对第一关键词的搜索结果,即第一搜索结果和第二搜索结果,使用户能够查找到在设备组内与上述第一关键词关联的所有搜索结果,即实现多终端之间的数据共享搜索,从而提高了搜索效率。
在一种可能的设计方法中,在第一终端内查找与第一关键词关联的第一搜索结果之后,还包括:第一终端向第二终端发送第一搜索结果。也就是说,设备组内的每一个终端都可以将从自身查找到的搜索结果发送给设备组内的其他终端,这样,设备组内的每一个终端都可以获取到与上述第一关键词关联的所有搜索结果,那么,用户在设备组中的任意终端上都可以查看上述搜索结果,避免用户局限于仅在发起搜索操作的终端上查看搜索结果。
在一种可能的设计方法中,在第一终端显示第一搜索结果和第二搜索结果之后,还包括:第一终端获取用户对第二搜索结果中的目标内容触发的操作指令;由于第二搜索结果中的目标内容存储在第二终端内,因此,第一终端可以从第二终端将该目标内容同步至第一终端;进而在第一终端上执行该操作指令,用户无需更换终端。
在一种可能的设计方法中,在第一终端显示第一搜索结果和第二搜索结果之后,还包括:第一终端获取用户对第二搜索结果中的目标内容触发的操作指令;当第一终端此时的能力不支持执行该操作指令时,可提示用户在第二终端内执行该操作指令。
在一种可能的设计方法中,在第一终端获取第二终端发送的第二搜索结果之后,还包括:第一终端获取第二终端发送的第三搜索结果,第三搜索结果为在第二终端内与第一关键词关联的搜索结果,第三搜索结果与第二搜索结果不存在交集。也就是说,第二终端在向第一终端上报在本终端内的搜索结果时,可以在搜索的过程中同时触发搜索结果的上报过程,这样可以降低搜索结果在传输过程中的时延,减少用户等待搜素结果的时间,同时降低设备组内终端在传输搜索结果时的负载压力。
在一种可能的设计方法中,在第一终端显示第一搜索结果和第二搜索结果之后,还包括:第一终端获取用户输入的第二关键词,第二关键词为第一关键词的一个子集;当该设备组中的终端没有变化时,第一终端在第一搜索结果和第二搜索结果中,查找与第二关键词关联的第四搜索结果。
在一种可能的设计方法中,在第一终端获取用户输入的第二关键词之后,还包括:当第二终端退出该设备组时,第一终端在第一搜索结果中查找与第二关键词关联的第五搜索结果。
在一种可能的设计方法中,在第一终端获取用户输入的第二关键词之后,还包括:当第三终端加入该设备组时,第一终端向第三终端发送第二搜索指令,第二搜索指令携带有第二关键词;第一终端获取第三终端发送的第六搜索结果,第六搜索结果为在第三终端内与第二关键词关联的搜索结果。
可以看出,对于用户连续的搜索行为,当在后搜索的第二关键词为在先搜索的第一关键词的子集时,无需在设备组内各个终端上重新发起新的搜索过程,而是根据设备组内终端的变化情况,在第一关键词的搜索结果的基础上确定出第二关键词的搜索结果,从而提高了连续搜索时的搜索效率。
在一种可能的设计方法中,第一终端显示第一搜索结果和第二搜索结果,包括:第一终端在第一显示区域显示第一搜索结果和第一终端的标识,并在第二显示区域显示第二搜索结果和第二终端的标识,该第一显示区域和第二显示区域为显示界面内不交叠的两个区域。
在一种可能的设计方法中,上述设备组包括:登录同一账号的N个终端;和/或,与第一终端已建立连接的N个终端,N为大于1的整数。
第二方面,本发明的实施例提供一种搜索方法,包括:第二终端获取第一终端发送的第一搜索指令,第一搜索指令中携带有用户在第一终端内输入的第一关键词,第二终端为第一终端所属的设备组中的一个;第二终端在第二终端内查找与第一关键词关联的第二搜索结果;第二终端将第二搜索结果发送给第一终端。
在一种可能的设计方法中,在第二终端获取第一终端发送的第一搜索指令之后,还包括:第二终端接收第一终端发送的第一搜索结果,第一搜索结果为在第一终端内与第一关键词关联的搜索结果。
在一种可能的设计方法中,在第二终端接收第一终端发送的第一搜索结果之后,还包括:第二终端显示第一搜索结果和第二搜索结果。
在一种可能的设计方法中,在第二终端在第二终端内查找与第一关键词关联的第二搜索结果之后,还包括:第二终端在第二终端内查找与第一关键词关联的第三搜索结果,第三搜索结果与第二搜索结果不存在交集;第二终端向第一终端发送第三搜索结果。
第三方面,本发明的实施例提供一种终端,包括:获取单元,用于:获取用户输入的第一关键词;搜索单元,用于:根据第一关键词在第一终端内查找与第一关键词关联的第一搜索结果;发送单元,用于:向第二终端发送第一搜索指令,第一搜索指令中携带有第一关键词,第二终端为第一终端所属的设备组中的一个;显示单元,用于:显示第一搜索结果和第二搜索结果。
在一种可能的设计方法中,该发送单元,还用于:向第二终端发送第一搜索结果。
在一种可能的设计方法中,该获取单元,还用于:获取用户对第二搜索结果中的目标内容触发的操作指令;从第二终端将该目标内容同步至第一终端;执行单元,用于:执行该操作指令。
在一种可能的设计方法中,该获取单元,还用于:获取用户对第二搜索结果中的目标内容触发的操作指令;该显示单元,还用于:提示用户在第二终端内执行该操作指令。
在一种可能的设计方法中,该获取单元,还用于:获取第二终端发送的第三搜索结果,第三搜索结果为在第二终端内与第一关键词关联的搜索结果,第三搜索结果与第二搜索结果不存在交集。
在一种可能的设计方法中,该获取单元,还用于:获取用户输入的第二关键词,第二关键词为第一关键词的一个子集;该搜索单元,还用于:当该设备组中的终端没有变化时,在第一搜索结果和第二搜索结果中,查找与第二关键词关联的第四搜索结果。
在一种可能的设计方法中,该搜索单元,还用于:当第二终端退出该设备组时,在第一搜索结果中查找与第二关键词关联的第五搜索结果。
在一种可能的设计方法中,该发送单元,还用于:当第三终端加入该设备组时,向第三终端发送第二搜索指令,第二搜索指令携带有第二关键词;该获取单元,还用于:获取第三终端发送的第六搜索结果,第六搜索结果为在第三终端内与第二关键词关联的搜索结果。
第四方面,本发明的实施例提供一种终端,包括:获取单元,用于:获取第一终端发送的第一搜索指令,第一搜索指令中携带有用户在第一终端内输入的第一关键词,第二终端为第一终端所属的设备组中的一个;搜索单元,用于:在第二终端内查找与第一关键词关联的第二搜索结果;发送单元,用于:将第二搜索结果发送给第一终端。
在一种可能的设计方法中,该获取单元,还用于:接收第一终端发送的第一搜索结果,第一搜索结果为在第一终端内与第一关键词关联的搜索结果。
在一种可能的设计方法中,该终端还包括:显示单元,用于:显示第一搜索结果和第二搜索结果。
在一种可能的设计方法中,该搜索单元,还用于:在第二终端内查找与第一关键词关联的第三搜索结果,第三搜索结果与第二搜索结果不存在交集;该发送单元,还用于:向第一终端发送第三搜索结果。
第五方面,本发明的实施例提供一种终端,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当终端运行时,该处理器执行该存储器存储的该计算机执行指令,以使终端执行上述任一项搜索方法。
第六方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在上述任一项终端上运行时,使得终端执行上述任一项搜索方法。
第七方面,本发明实施例提供一种包含指令的计算机程序产品,当其在上述任一项终端上运行时,使得终端执行上述任一项搜索方法。
本发明的实施例中,上述终端的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本发明的实施例类似,即属于本发明权利要求及其等同技术的范围之内。
另外,第二方面至第七方面中任一种设计方式所带来的技术效果可参见上述第一方面中不同设计方法所带来的技术效果,此处不再赘述。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明实施例提供一种搜索方法,该方法可应用于手机、可穿戴设备、AR(增强现实)\VR(虚拟现实)设备、平板电脑、笔记本电脑、UMPC(超级移动个人计算机)、上网本、PDA(个人数字助理)等任意终端,本发明实施例对此不作任何限制。
如图2所示,本申请实施例中的终端可以为手机100。下面以手机100为例对实施例进行具体说明。应该理解的是,图示手机100仅是终端的一个范例,并且手机100可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。
如图2所示,手机100具体可以包括:处理器101、射频(RF)电路102、存储器103、触摸屏104、蓝牙装置105、一个或多个传感器106、Wi-Fi装置107、定位装置108、音频电路109、外设接口110以及电源***111等部件。这些部件可通过一根或多根通信总线或信号线(图2中未示出)进行通信。本领域技术人员可以理解,图2中示出的硬件结构并不构成对手机的限定,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图2对手机100的各个部件进行具体的介绍:
处理器101是手机100的控制中心,利用各种接口和线路连接手机100的各个部分,通过运行或执行存储在存储器103内的应用程序(以下可以简称App),以及调用存储在存储器103内的数据,执行手机100的各种功能和处理数据。在一些实施例中,处理器101可包括一个或多个处理单元;举例来说,处理器101可以是华为技术有限公司制造的麒麟960芯片。在本发明实施例中,处理器101可以结合手机100的其他部件,一起执行本发明下述实施例中的搜索方法,例如图4所示的相关方法。可以理解的是,处理器调用存储在存储器内的数据执行显示功能,如显示搜索结果,是处理器控制显示模块/显示屏来实现;处理器接收或发送网络消息是通过通信模块来实现;等等,对此本发明实施例不做具体限定。
射频电路102可用于在收发信息或通话过程中,无线信号的接收和发送。特别地,射频电路102可以将基站的下行数据接收后,给处理器101处理;另外,将涉及上行的数据发送给基站。通常,射频电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频电路102还可以通过无线通信和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短消息服务等。
存储器103用于存储应用程序以及数据,处理器101通过运行存储在存储器103的应用程序以及数据,执行手机100的各种功能以及数据处理。存储器103主要包括存储程序区以及存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等);存储数据区可以存储根据使用手机100时所创建的数据(比如音频数据、电话本等)。此外,存储器103可以包括高速随机存取存储器,还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他易失性固态存储器件等。存储器103可以存储各种操作***,例如,苹果公司所开发的iOS操作***,谷歌公司所开发的Android操作***等。
触摸屏104可以包括触控板104-1和显示器104-2。其中,触控板104-1可采集手机100的用户在其上或附近的触摸事件(比如用户使用手指、触控笔等任何适合的物体在触控板104-1上或在触控板104-1附近的操作),并将采集到的触摸信息发送给其他器件例如处理器101。其中,用户在触控板104-1附近的触摸事件可以称之为悬浮触控;悬浮触控可以是指,用户无需为了选择、移动或拖动目标(例如图标等)而直接接触触控板,而只需用户位于终端附近以便执行所想要的功能。在悬浮触控的应用场景下,术语“触摸”、“接触”等不会暗示用于直接接触触摸屏,而是附近或接近的接触。能够进行悬浮触控的触控板104-1可以采用电容式、红外光感以及超声波等实现。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型来实现触控板104-1。显示器(也称为显示屏)104-2可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单。可以采用液晶显示器、有机发光二极管等形式来配置显示器104-2。触控板104-1可以覆盖在显示器104-2之上,当触控板104-1检测到在其上或附近的触摸事件后,传送给处理器101以确定触摸事件的类型,随后处理器101可以根据触摸事件的类型在显示器104-2上提供相应的视觉输出。虽然在图2中,触控板104-1与显示屏104-2是作为两个独立的部件来实现手机100的输入和输出功能,但是在某些实施例中,可以将触控板104-1与显示屏104-2集成而实现手机100的输入和输出功能。可以理解的是,触摸屏104是由多层的材料堆叠而成,本申请实施例中只展示出了触控板(层)和显示屏(层),其他层在本申请实施例中不予记载。另外,在本申请其他一些实施例中,触控板104-1可以覆盖在显示器104-2之上,并且触控板104-1的尺寸大于显示屏104-2的尺寸,使得显示屏104-2全部覆盖在触控板104-1下面,或者,上述触控板104-1可以以全面板的形式配置在手机100的正面,也即用户在手机100正面的触摸均能被手机感知,这样就可以实现手机正面的全触控体验。在其他一些实施例中,触控板104-1以全面板的形式配置在手机100的正面,显示屏104-2也可以以全面板的形式配置在手机100的正面,这样在手机的正面就能够实现无边框(Bezel)的结构。
在本申请实施例中,手机100还可以具有指纹识别功能。例如,可以在触摸屏104中配置指纹采集器件112来实现指纹识别功能,即指纹采集器件112可以与触摸屏104集成在一起来实现手机100的指纹识别功能。本申请实施例中的指纹采集器件112的主要部件是指纹传感器,该指纹传感器可以采用任何类型的感测技术,包括但不限于光学式、电容式、压电式或超声波传感技术等。
手机100还可以包括蓝牙装置105,用于实现手机100与其他短距离的终端(例如手机、智能手表等)之间的数据交换。本申请实施例中的蓝牙装置可以是集成电路或者蓝牙芯片等。
手机100还可以包括至少一种传感器106,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节触摸屏104的显示器的亮度,接近传感器可在手机100移动到耳边时,关闭显示器的电源。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
Wi-Fi装置107,用于为手机100提供遵循Wi-Fi相关标准协议的网络接入,手机100可以通过Wi-Fi装置107接入到Wi-Fi接入点,进而帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。在其他一些实施例中,该Wi-Fi装置107也可以作为Wi-Fi无线接入点,可以为其他终端提供Wi-Fi网络接入。
定位装置108,用于为手机100提供地理位置。可以理解的是,该定位装置108具体可以是全球定位***(GPS)或北斗卫星导航***、俄罗斯GLONASS等定位***的接收器。定位装置108在接收到上述定位***发送的地理位置后,将该信息发送给处理器101进行处理,或者发送给存储器103进行保存。在另外的一些实施例中,该定位装置108还可以是辅助全球卫星定位***(AGPS)的接收器,AGPS***通过作为辅助服务器来协助定位装置108完成测距和定位服务,在这种情况下,辅助定位服务器通过无线通信网络与终端例如手机100的定位装置108(即GPS接收器)通信而提供定位协助。在另外的一些实施例中,该定位装置108也可以是基于Wi-Fi接入点的定位技术。由于每一个Wi-Fi接入点都有一个全球唯一的MAC地址,终端在开启Wi-Fi的情况下即可扫描并收集周围的Wi-Fi接入点的广播信号,因此可以获取到Wi-Fi接入点广播出来的MAC地址;终端将这些能够标示Wi-Fi接入点的数据(例如MAC地址)通过无线通信网络发送给位置服务器,由位置服务器检索出每一个Wi-Fi接入点的地理位置,并结合Wi-Fi广播信号的强弱程度,计算出该终端的地理位置并发送到该终端的定位装置108中。
音频电路109、扬声器113、麦克风114可提供用户与手机100之间的音频接口。音频电路109可将接收到的音频数据转换后的电信号,传输到扬声器113,由扬声器113转换为声音信号输出;另一方面,麦克风114将收集的声音信号转换为电信号,由音频电路109接收后转换为音频数据,再将音频数据输出至RF电路102以发送给比如另一手机,或者将音频数据输出至存储器103以便进一步处理。
外设接口110,用于为外部的输入/输出设备(例如键盘、鼠标、外接显示器、外部存储器、用户识别模块卡等)提供各种接口。例如通过通用串行总线(USB)接口与鼠标连接,通过用户识别模块卡卡槽上的金属触点与电信运营商提供的用户识别模块卡(SIM)卡进行连接。外设接口110可以被用来将上述外部的输入/输出***设备耦接到处理器101和存储器103。
手机100还可以包括给各个部件供电的电源装置111(比如电池和电源管理芯片),电池可以通过电源管理芯片与处理器101逻辑相连,从而通过电源装置111实现管理充电、放电、以及功耗管理等功能。
尽管图2未示出,手机100还可以包括摄像头(前置摄像头和/或后置摄像头)、闪光灯、微型投影装置、近场通信(NFC)装置等,在此不再赘述。
在本发明实施例提供的搜索方法中,可以将多个终端设置为一个设备组,设备组内的各个终端之间均可以实现通信。例如,将用户的手机、可穿戴设备以及笔记本电脑作为一个设备组,当用户使用同一个账号登录该手机、可穿戴设备以及笔记本电脑时,该手机、可穿戴设备以及笔记本电脑组成一个局域网(LAN),局域网内的各终端之间均可以互相通信。
又例如,发起搜索的终端(例如,第一终端)可以将已经与其建立通信连接(例如,蓝牙连接和/或Wi-Fi连接)的一个或多个终端设置为一个设备组。
当然,用户也可以手动设置设备组中的成员,例如,用户A将其使用同一个账号登录的手机和可穿戴手表,以及当前通过蓝牙连接的用户B的手机设置为一个设备组,设备组内的各个终端之间均可以实现通信,本发明实施例对此不作任何限制。
那么,当用户在设备组中的第一终端上输入一个关键词触发本地搜索功能时,第一终端除了在第一终端本地中查找与该关键词关联的第一搜索结果之外,还可向设备组内的其他终端发送携带有上述关键词的搜索指令。这样,接收到该搜索指令的终端可以在其本地查找与该关键词关联的第二搜索结果,并将得到的第二搜索结果发送给第一终端。这样,第一终端可以获取到设备组内所有终端中与上述关键词关联的搜索结果的集合(包括上述第一搜索结果和第二搜索结果),从而将该搜索结果的集合呈现给用户,使用户能够查找到在设备组内与上述关键词关联的所有搜索结果,即实现多终端之间的数据共享搜索,从而提高了搜索效率。
进一步地,设备组内的每一个终端都可以将从自身查找到的搜索结果发送给设备组内的其他终端,这样,设备组内的每一个终端都可以获取到上述搜索结果的集合,那么,用户在设备组中的任意终端上都可以查看上述搜索结果,避免用户局限于仅在发起搜索操作的终端上查看搜索结果。
示例性的,上述设备组中的各个终端可以组成一个局域网,该局域网内终端之间实现互联互通的组网方式可以为星状组网方式,也可以为MESH(无线网格网络)组网方式等,本发明实施例对此不作任何限制。
如图3中的(a)所示,在星状组网方式中,网络中的每一个终端都以中心节点(图3(a)中的手机)为中心,通过连接线与该中心节点相连。那么,如果一个终端需要向另一个终端传输数据,该终端首先将数据传输给中心节点,再由中心节点将该数据发送给另一个终端。如图3中的(b)所示,在MESH组网方式中,网络中的每一个终端都可以点对点的直接和其他终端进行通信。
又或者,如图3中的(c)所示,设备组内的每个终端可以通过云备份的方式,将本地存储的各项数据备份在网络侧的服务器中。其中,设备组中的各个终端之间具体可以通过Wi-Fi、蓝牙等无线通信方式实现互联互通,也可以通过蜂窝移动网络等方式实现互联互通,例如,手机与笔记本电脑通信时,可先将相关的指令或数据发送给服务器或基站,再由服务器或基站将手机发送的指令或数据传输给笔记本电脑,本发明实施例对此不作任何限制。
以下,将结合具体实施例详细阐述本发明实施例提供的一种搜索方法,如图4所示,该方法包括:
401、第一终端获取用户输入的第一关键词。
具体的,用户启用搜索功能时在搜索框内输入的信息可作为第一关键词。一般,用户在搜索框输入第一关键词后点击确认或回车按键,此时,第一终端可获取到用户在搜索框中输入的第一关键词,例如,“大海”。
需要说明的是,上述第一关键词可以是用户在搜索框内输入的字、词、短语、句子以及符号中的至少一项,本发明实施例对此不作任何限制。
402、第一终端根据上述第一关键词,在第一终端内查找与第一关键词关联的第一搜索结果。
在获取到第一关键词后,第一终端可在本地,即第一终端内,查找与第一关键词关联的第一搜索结果,例如,包含该第一关键词的短信、文本、视频、音频、应用或者联系人等,本发明实施例对此不作任何限制。
另外,在获取到第一关键词之后,即执行步骤401之后,第一终端还可以执行下述步骤403,也就是说,本发明实施例并不限定步骤402与步骤403之间的时序关系,第一终端可以先执行步骤402再执行步骤403,或者先执行步骤403再执行步骤402,或者,同时执行步骤402和403,本发明实施例对此不作任何限制。
403、第一终端向设备组内的第二终端发送第一搜索指令,该第一搜索指令中携带有上述第一关键词。
具体的,在获取到上述第一关键词后,第一终端可以以组播的形式,将上述第一关键词发送给设备组内除第一终端外的每一个终端,例如,第二终端,以触发设备组内的其他终端在本地搜索与上述第一关键词关联的搜索结果。
以上述设备组包括第一终端和第二终端为例,可以为该设备组分配一个组播地址(Multicast Address),第一终端可以按照该组播地址,将携带有上述第一关键词的第一搜索指令发送给第二终端。
其中,在使用组播这种传输方式时,数据包的目的地址不是一个,而是一组。所有的信息接收者(即设备组内的每个终端)都加入到一个组内,一旦加入之后,流向组播地址的数据立即开始向接收者传输,设备组中的所有成员都能接收到数据包。另外,在组播这种传输方式中,设备组中的成员是动态的,终端可以在任何时刻加入和离开设备组。
可以看出,在以组播的形式传输时,如果设备组内的一个终端同时给多个接收者传输相同的数据,只需复制一份数据包按照组播地址发送给接收者即可,从而提高了数据传送效率,减少了数据传输过程中出现拥塞的可能性。
另外,当上述设备组中还包括除上述第一终端和第二终端外的其他终端时,第二终端还可以将上述第一搜索指令发送给设备组中的其他终端。
其中,第一终端可以使用不同的方式向设备组中的各个终端发送上述第一搜索指令。例如,当第一终端与设备组内的第二终端之间通过蓝牙连接时,第一终端可以通过蓝牙信号向第二终端发送上述第一搜索指令;当第一终端与设备组内的第三终端之间通过Wi-Fi连接时,第一终端可以通过Wi-Fi信号向第三终端发送上述第一搜索指令。
404、响应于上述第一搜索指令,第二终端在第二终端内查找与上述第一关键词关联的第二搜索结果。
第二终端接收到上述第一搜索指令后,与步骤402类似的,可在第二终端本地内查找与上述第一关键词关联的第二搜索结果。
其中,该第二搜索结果可以是一个文件,也可能是通讯录名片,也可能是短信、邮件或者包含上述第一关键词的描述信息等。例如,第二终端在第二终端内查找到与第一关键词“大海”关联的音频文件,此时,第二搜索结果可以为该音频文件本身,也可以为该音频文件的名称、演唱者等描述信息,本发明实施例对此不作任何限制。
进一步地,第二终端可以在后台查找与上述第一关键词关联的第二搜索结果,这样,不会影响第二终端正在前台运行的应用的显示界面,从而避免打断用户在第二终端上正在执行的操作。
405、第二终端将上述第二搜索结果发送给第一终端。
类似的,第二终端可以以组播的形式,将上述第二搜索结果发送给第一终端。
另外,当上述设备组中还包括除上述第一终端和第二终端外的其他终端时,第二终端还可以将上述第二搜索结果发送给设备组中的其他终端,使得设备组的每个终端均获取到第二终端内与第一关键词关联的第二搜索结果。其中,与步骤403类似的,第二终端也可以使用不同的方式向设备组中的各个终端发送上述第二搜索结果。
在一种可能的设计方法中,第二终端在本地内搜索与第一关键词关联的搜索结果时,可以按照一个固定的搜索周期进行增量式的的搜索。例如,在接收到上述第一搜索指令后,以2秒为搜索周期,将2秒内查找到的搜索结果作为上述第二搜索结果发送给第一终端,进而,循环在下一个2秒内在本地内搜索与第一关键词关联的搜索结果,将这2秒内查找到的搜索结果作为第三搜索结果(第三搜索结果的内容与第二搜索结果的内容不存在交集)发送给第一终端,直至第二终端搜索到所有与第一关键词关联的搜索结果为止。
在另一种可能的设计方法中,第二终端在本地内搜索与第一关键词关联的搜索结果时,可以按照一个固定的搜索条目数进行增量式的的搜索。例如,在接收到上述第一搜索指令后,以5条搜索结果为搜索条目数,当第二终端搜索到5条与上述第一关键词关联的搜索结果后,可将这5条搜索结果作为上述第二搜索结果发送给第一终端,进而,当第二终端再次搜索到5条与上述第一关键词关联的搜索结果后,再将这5条搜索结果作为第三搜索结果(第三搜索结果的内容与第二搜索结果的内容不存在交集)发送给第一终端,直至第二终端搜索到所有与第一关键词关联的搜索结果为止。
也就是说,设备组内的任意终端在向发起搜索功能的终端(例如,上述第一终端)上报在本终端内的搜索结果时,可以在搜索的过程中同时触发搜索结果的上报过程,这样可以降低搜索结果在传输过程中的时延,减少用户等待搜素结果的时间,同时降低设备组内终端在传输搜索结果时的负载压力。
406、第一终端显示上述第一搜索结果和第二搜索结果。
示例性的,如图5所示,当用户在搜索框中输入第一关键词“大海”后,在手机100(第一终端)内的第一搜索结果包括一条短信内容和一条微信内容,在笔记本电脑(第二终端)内的第二搜索结果包括一个音频文件。那么,手机100可以按照搜索结果所归属的终端,将属于手机100的第一搜索结果和属于笔记本电脑的第二搜索结果分别在不同的区域展示给用户,这样,用户可以明确的获知设备组内不同终端对“大海”的搜索结果。
其中,当搜索结果为媒体文件,文本文件,数据文件或邮件等文件时,由于这类文件占用的内存通常较大,因此,可以仅显示该文件的描述信息,例如,文件名称,文件大小,文件类型,创建时间以及标题等;当搜索结果为通讯录名片或联系人信息时,可显示完整的通讯录名片或联系人信息;当搜索结果为短信或APP数据时,可显示应用名称、生成时间以及包含上述第一关键词的上下文内容等。
407、第一终端将上述第一搜索结果发送给第二终端。
可选的,在在第一终端查找到与第一关键词关联的第一搜索结果(步骤402)之后,第一终端也可以以组播的形式,将上述第一搜索结果发送给设备组中的其他终端,例如,上述第二终端。那么,设备组的每个终端均可获取到第一终端内与第一关键词关联的第一搜索结果。这样,设备组内的每个终端均可以得到如图5所示的第一关键词在每个终端上的搜索结果,用户可以在设备组的任意终端上查看上述第一关键词的搜索结果。
408、第一终端获取用户对第二搜索结果中的目标内容触发的操作指令。
示例性的,如图6所示,当第一终端将所有的搜索结果,即第一搜索结果和第二搜索结果呈现给用户后,如果用户对第二搜索结果中的目标内容触发一个操作指令,例如,在图6中,用户点击第二搜索结果中的查找到的音频文件(即目标内容)后,触发音乐播放指令。
此时,可以由第一终端执行该操作指令(如下述步骤409a-410a中所述),也可以由第二终端执行该操作指令(如下述步骤409b中所述)。
409a、第一终端从第二终端将目标内容同步至第一终端。
410a、在第一终端内执行上述操作指令。
在步骤409a中,由于第二搜索结果中的目标内容存储在第二终端中,因此,如图7所示,第一终端可以通过一个显示界面提示用户是否将上述目标内容同步至第一终端,当用户确认将目标内容同步至第一终端后,第一终端可从第二终端中获取该目标内容,例如,图7中所示的《大海》音频文件。
这样,在步骤410a中,由于上述目标内容已经同步至第一终端,那么,可以直接在第一终端上播放名称为《大海》音频文件,即执行上述操作指令。
409b、第一终端提示用户在第二终端内执行上述操作指令。
在步骤409b中,当用户对第二搜索结果中的目标内容触发操作指令时,第一终端还可以根据当前第一终端的运行状况和/或目标内容的规格,确定当前第一终端是否有能力执行上述操作指令。如果当前第一终端没有能力执行上述操作指令时,第一终端可提示用户在目标内容所属的第二终端内执行上述操作指令。
例如,上述目标内容是一张EXIF(可交换图像文件)格式的图片,但第一终端并不支持查看这一类型的图片,那么,第一终端可提示用户在目标内容所属的第二终端内执行打开该EXIF格式图片的操作指令。
又例如,如图8所示,上述目标内容是一部名为《大海的传说》的电影,该电影的大小约为2G。那么,如果第一终端当前的电量不足,或者,当前第一终端与第二终端之间的传输带宽小于阈值时,第一终端可能无法同步该电影,或者正常的播放该电影,那么,第一终端可以提示用户在目标内容所属的第二终端内执行播放上述电影的操作指令。
又例如,上述目标内容是手机上的一张高清图片,第一终端为智能手表。由于智能手表的屏幕较小,不利于展现上述高清图片,因此,智能手表(第一终端)可以提示用户在目标内容所属的手机(第二终端)内执行打开上述高清图片的操作指令。
进一步地,当用户触发第二终端的搜索功能,或者启动第二终端时,如图9所示,该第二终端为一个笔记本电脑,该笔记本电脑可以提示用户是否在第二终端上显示上述第一关键词的所有搜索结果。那么,如果用户确认显示上述第一关键词的所有搜索结果,由于第一终端已经将自身的第一搜索结果发送给第二终端,即第二终端此时已得到上述第一搜索结果和第二搜索结果,因此,如图10所示,第二终端可以在第二终端的显示屏上显示上述第一搜索结果和第二搜索结果。这样,用户可以直接对第二搜索结果中的目标内容触发相应的操作指令。在这种实现方式中,用户在没有在第二终端上查看所有搜索结果之前,第二终端上不会直接显示上述第一搜索结果和第二搜索结果,从而不会打断当前第二终端正在进行的应用。
当然,当第一终端提示用户在第二终端内执行上述操作指令之后,也可以向第二终端发送一个指示消息,从而触发第二终端直接执行上述操作指令,本发明实施例对此不作任何限制。
另外,如果用户对上述第一搜索结果中的目标内容触发一个操作指令,例如,用户点击图11中在第一终端内的微信应用的搜索结果时,触发第一终端打开微信应用的操作指令。此时,第一终端也可以根据当前第一终端的运行状况和/或目标内容的规格,确定当前第一终端是否有能力执行上述操作指令。
如果确定当前第一终端没有能力执行上述操作指令,例如,当前第一终端的CPU占用率高于90%,若继续在第一终端上执行上述操作指令时会导致第一终端的运行卡顿。因此,可确定当前第一终端没有能力执行上述操作指令。此时,第一终端可以根据设备组内各个设备的运行状况、设备规格以及设备组组成的局域网中网络的性能指标等参数,确定可执行上述操作指令的至少一个终端,并提示用户在该终端内执行上述操作指令。
如图12所示,如果设备组内除第一终端外只有平板电脑上安装有微信应用,那么,第一终端可以提示用户在平板电脑上执行打开微信应用的操作指令。
这样一来,当用户需要打开某个搜索结果时,设备组内的终端可以根据终端的实际能力,灵活的为用户推荐在体验较优的终端上执行与搜索结果对应的操作指令,从而最大程度的满足用户的搜索需求,并提高了人机交互的智能性。
当然,在一种可能的设计方法中,当用户在第一终端内对上述第二搜索结果中的目标内容触发操作指令时,第一终端可以通过一个提示框提示用户选择在第一终端上执行该操作指令或者在第二终端上执行该操作指令。此时,如果用户选择在第一终端上执行该操作指令,则第一终端执行上述步骤409a-410a,如果用户选择在第二终端上执行该操作指令,则第一终端执行上述步骤409b,本发明实施例对此不作详细赘述。
进一步地,在执行上述步骤401-406之后,如果用户对当前的搜索结果不满意,例如,得到的搜索结果太多时,用户可以再次发起新一次的搜索。
此时,如图13所示,本发明实施例提供的搜索方法还包括下述步骤501-507。
501、第一终端获取用户输入的第二关键词,该第二关键词为上述第一关键词的一个子集。
示例性的,上一次用户在第一终端内搜索了第一关键词“大海”,通过执行上述步骤401-406后得到了80条搜索结果(即第一搜索结果和第二搜索结果),面对数目较多的搜索结果,用户将第一关键词“大海”修改为第二关键词“大海MP3”。此时,第二关键词“大海MP3”中包含第一关键词“大海”,因此,可以将第二关键词作为上述第一关键词的一个子集。
可选的,第一终端可以沿用上述步骤401-406的搜索方法,将用户输入的第二关键词作为一次新的搜索请求进行搜索。又或者,由于第二关键词为上述第一关键词的一个子集,因此,针对第二关键词的搜索结果与上述第一关键词的搜索结果也是具有关联性的,那么,第一终端可以根据设备组内设备的变化情况,在上述第一关键词的搜索结果(即第一搜索结果和第二搜索结果)的基础上为用户筛选与第二关键词关联的搜索结果。具体的,可参见下述步骤502-507的相关描述。
502、当设备组中的终端没有变化时,第一终端在上述第一搜索结果和第二搜索结果中,查找与第二关键词关联的第四搜索结果。
示例性的,在搜索上述第一关键词时,上述设备组中的终端包括第一终端和第二终端,那么,当第一终端获取用户输入的第二关键词时,上述设备组中的终端仍为第一终端和第二终端,则说明设备组中的终端没有变化。
此时,由于用户输入的第二关键词是上述第一关键词的一个子集,那么,该第二关键词的搜索结果也应该为第一关键词的搜索结果中的一个子集,因此,第一终端可以直接在上述第一关键词的搜索结果(即第一搜索结果和第二搜索结果)中,查找与第二关键词关联的第四搜索结果。
例如,第一终端可以直接在第一关键词“大海”的所有搜索结果中查找与第二关键词“大海MP3”关联的搜索结果,即第四搜索结果。
503、当第二终端退出设备组时,第一终端在上述第一搜索结果中查找与第二关键词关联的第五搜索结果。
示例性的,在搜索上述第一关键词时,上述设备组中的终端包括第一终端和第二终端,那么,当第一终端获取用户输入的第二关键词时,如果上述设备组中只剩下第一终端时,则说明此时第二终端已从设备组退出。
那么,第一终端可以在上述第一搜索结果和第二搜索结果中,将已退出的第二终端的第二搜索结果删除,保留仍在设备组中的第一终端的第一搜索结果,进而,在上述第一搜索结果中查找与第二关键词“大海MP3”关联的第五搜索结果。
类似的,当第一终端退出设备组时,第一终端可将已退出的第一终端的第一搜索结果删除,进而,在保留的第二搜索结果中查找与第二关键词“大海MP3”关联的搜索结果。
504、当第三终端加入设备组时,第一终端向第三终端发送第二搜索指令,该第二搜索指令携带有上述第二关键词。
505、响应于上述第二搜索指令,第三终端在第三终端内查找与上述第二关键词关联的第六搜索结果。
506、第三终端将上述第六搜索结果发送给第一终端。
507、第一终端将上述第六搜索结果,以及上述第一搜索结果和第二搜索结果中与第二关键词关联的搜索结果呈现给用户。
示例性的,在搜索上述第一关键词时,上述设备组中的终端包括第一终端和第二终端,那么,当第一终端获取用户输入的第二关键词时,如果上述设备组中除第一终端和第二终端外,还加入了新的第三终端,则说明此时第三终端加入了设备组。
那么,由于第三终端没有参与上一次对第一关键词的搜索过程,因此,在步骤504中,第一终端可向第三终端发送第二搜索指令,该第二搜索指令携带有上述第二关键词“大海MP3”。
进而,在步骤505-506中,第三终端根据第二搜索指令中携带的第二关键词,在第三终端本地查找与上述第二关键词关联的第六搜索结果。后续,第三终端也可以以组播的形式,将该第六搜索结果发送给第一终端以及设备组内除第三终端外的每个终端。
这样,在步骤507中,第一终端仍然可以在上述第一搜索结果和第二搜索结果中,查找与第二关键词“大海MP3”关联的搜索结果,并将该搜索结果与上述第六搜索结果合并,将合并后的搜索结果呈现给用户。
当然,第一终端除了向第三终端发送上述第二搜索指令外,还可以将上述第一搜索结果和第二搜索结果中与第二关键词关联的搜索结果发送给第三终端,这样,第三终端也可得到整个设备组内与第二关键词关联的完整的搜索结果,用户在设备组的任意终端上都可以查看上述第二关键词的搜索结果。
通过上述步骤501-507可以看出,对于用户连续的搜索行为,当在后搜索的第二关键词为在先搜索的第一关键词的子集时,无需在设备组内各个终端上重新发起新的搜索过程,而是根据设备组内终端的变化情况,在第一关键词的搜索结果的基础上确定出第二关键词的搜索结果,从而提高了连续搜索时的搜索效率。
另外,如图14所示,用户还可以通过设置界面管理上述共享搜索功能。例如,手动设置是否开启上述共享搜索功能。又例如,手动添加或删除设备组中的终端。
又例如,还可以为设备组内的每个终端开放不同的权限,例如,仅允许设备组中的手机读取短信信息的权限,允许设备组中的手机的手表读取照片信息的权限。这样,设备组内的不同终端在搜索与关键词关联的搜索结果时,会按照已经为其开放的权限搜索开放权限的相应内容,从降低设备组内的终端之间在互联互通的同时导致用户隐私被泄露的风险。
进一步地,如果用户没有开启上述共享搜索功能,那么,在用户使用第一终端搜索第一关键词“大海”时,如图15所示,第一终端显示的搜索结果中仅包括第一终端内与第一关键词关联的第一搜索结果。此时,如图15所示,可以在当前的显示界面上设置一个触发共享搜索的按键200,那么,当用户点击图15中“搜索关联设备”的按键时,触发第一终端开启上述共享搜索功能。
此时,如果第一终端已经和一个或多个终端建立了连接,例如,第一终端手机与第二终端已经建立蓝牙连接,或者,用户在第一终端和第二终端上均使用同一账号登录时,那么,第一终端可默认将这些建立连接终端作为一个设备组,并执行上述实施例中的步骤401-410a(或409b)以及步骤501-507。
或者,第一终端可以跳转至如图14所示的设置界面,使得用户可以手动设置或添加设备组中的终端,并建立设备组内各个终端之间的通信连接。
又或者,第一终端可以将当前通过蓝牙和/或Wi-Fi搜索到的一个或多个设备作为候选终端推荐给用户,那么,如图16所示,用户可以从上述候选终端中选择一个或多个终端组成设备组,进而建立该设备组内各个终端之间的通信连接,本发明实施例对此不作任何限制。
示例性的,用户触发图15中共享搜索的按键200后,如图17所示,第一终端100可以将当前搜索到的蓝牙设备(例如,图17中的设备1和设备2)、已经与第一终端100建立连接的设备(例如,图17中的设备3)以及与第一终端100使用同一账号登录的设备(例如,图17中我的手环和我的PC)均作为候选终端推荐给用户。这样,用户可以从上述候选终端中选择一个或多个终端组成设备组。例如,用户选择设备1、设备3以及我的PC后点击确认按键,也就是说,此时设备组中的成员包括第一终端100、设备1、设备3以及我的PC共4个终端。由于第一终端100与设备3之间已经建立了连接,那么,可进一步建立该设备组内其他终端之间的连接关系,使得设备组中的任意两个终端之间可以实现互联互通。可选的,在一种具体的实现方式中,若用户选择了设备1建立设备组,那么该搜索操作也可一并触发与设备1之间的通信连接的建立,而不需要单独的连接建立的操作。
后续,第一终端100可按照上述实施例中步骤401--410a(或409b)以及步骤501-507中提供的搜索方法,实现多终端之间的数据共享搜索,以提高搜索效率。
在一种可选的实施方式中,不同设备间的搜索权限可以不同。例如,对于我的设备,如登录同一个账号的设备或其他已建立信任关系的设备,触发搜索时可以搜到隐私级别比较高的信息,例如,邮件、短信、账单等;而对于一般的已建立连接的设备,触发搜索时可能只能搜索一般的信息,例如图片、音乐等隐私级别较低的信息。这样可以通过权限的设置,进一步提高安全性。
可以理解的是,上述终端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
本发明实施例可以根据上述方法示例对上述终端等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图18示出了上述实施例中所涉及的终端(例如,上述第一终端或第二终端)的一种可能的结构示意图,该终端包括:获取单元1101、发送单元1102、搜索单元1103、执行单元1104以及显示单元1105。
获取单元1101用于支持终端执行图4中的过程401和408,图13中的过程501;发送单元1102用于支持终端执行图4中的过程403、405、407以及409a,图13中的过程504和506;搜索单元1103用于支持终端执行图4中的过程402和404,图13中的过程502-503以及505;执行单元1104用于支持终端执行图4中的过程410a;显示单元1105用于支持终端执行图4中的过程406和409b,图13中的过程507。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图19示出了上述实施例中所涉及的终端(例如,上述第一终端或第二终端)的一种可能的结构示意图。该终端包括:处理模块1302和通信模块1303。处理模块1302用于对终端的动作进行控制管理。通信模块1303用于支持UE与其他网络实体的通信。该终端还可以包括存储模块1301,用于存终端的程序代码和数据。
其中,处理模块1302可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1303可以是收发器、收发电路或通信接口等。存储模块1301可以是存储器。
当处理模块1302为处理器,通信模块1303为RF收发电路,存储模块1301为存储器时,本发明实施例所提供的终端可以为图2所示的手机100。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。