一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于设备交互的方法、装置和介质与流程

2022-02-21 03:26:00 来源:中国专利 TAG:


1.本公开的实施例总体涉及设备交互领域,更具体地,涉及一种用于设备交互的方法、装置和介质。


背景技术:

2.在包括多个设备的分布式环境中,多个设备间的分布式相互协同是一项重要的功能。利用分布式相互协同,用户期望在不改变位置的情况下能获取其他设备上的信息。同时,诸如手机、平板电脑、电视机、车载终端(又可以称为车机)等各种设备各有优势,用户还期望在操作某一设备时,能在其他更便捷的设备上实现同样的功能。也即,用户期望将由某一设备提供的服务迁移至另一设备,从而由另一设备代替该设备来提供服务或者两个设备同时提供该服务。例如,用户在进入车辆后,可能期望将手机上的导航服务迁移至车机,由车机继续导航。又如,用户在回家后,可能期望将手机上正在播放的音乐迁移至家中的智能音箱,由智能音箱继续播放音乐。
3.然而,当前用于在设备间进行迁移的技术需要用户预先配置或触发。另外,在用户触发后,存在设备不匹配而无法迁移的情况,这降低了用户体验和相互协同的效率。因此,如何自动识别服务可迁移对于完善分布式协同而言是重要的。


技术实现要素:

4.本公开的实施例提供了一种用于设备交互的方案。
5.在本公开的第一方面,提供了一种设备交互的方法。该方法包括:第一设备与第二设备建立通信连接;第一设备获取所述第二设备的设备信息;基于所述设备信息,所述第一设备确定是否适于在所述第一设备与所述第二设备之间共享应用数据,所述应用数据由所述第一设备或所述第二设备使用来提供服务;以及如果确定适于在所述第一设备与所述第二设备之间共享所述应用数据,所述第一设备在所述第一设备与所述第二设备之间,自动发起所述应用数据的传输。在此描述的“应用数据”是指应用为了提供服务或实现预设功能而生成和使用的数据。例如,导航应用的应用数据可以包括所规划的导航路线,诸如起点、终点、中途点等。又如,音频播放应用的应用数据可以包括指示要播放的一个或多个音频的播放列表。
6.以此方式,可以通过应用数据的共享在尽可能少的用户干预的情况下,自动实现服务从一个设备迁移到另一设备。在包括多个设备的分布式环境中,能够利用适当的设备来为用户提供服务,从而提升用户体验。这还有助于提高分布式环境中设备的利用效率。
7.在一些实施例中,自动发起所述应用数据的传输包括:所述第一设备确定所述应用数据将要被共享的可能性;以及如果所述可能性超过阈值,所述第一设备自动发起所述应用数据的传输。在这种实施例中,预测共享的可能性,仅在可能性超过阈值的情况下才触发应用数据的传输。以此方式,有助于实现更准确的服务迁移。
8.在一些实施例中,确定所述应用数据将要被共享的可能性包括:所述第一设备获
取与使用所述应用数据的应用有关的使用信息和所述第一设备的状态信息;所述第一设备获取与所述应用相关联的预测模型;以及所述第一设备至少以所述使用信息和所述状态信息作为输入,根据所述预测模型,确定所述可能性。在一些实施例中,获取所述预测模型包括:所述第一设备获取与所述应用有关的历史使用信息、所述第一设备的历史状态信息以及关于是否迁移所述服务的历史用户选择;以及所述第一设备通过将所述历史使用信息、所述历史状态信息作为输入并且将所述历史用户选择作为输出,训练所述预测模型。在这种实施例中,利用经训练的预测模型可以更准确地预测共享的可能性。此外,由于模型训练中使用了历史用户选择,所确定的可能性可以反映关于服务迁移的用户意图。以此方式,可以针对特定用户提供精准的服务迁移。
9.在一些实施例中,自动发起所述应用数据的传输包括:所述第一设备自动提供与是否在所述第一设备与所述第二设备之间共享所述应用数据有关的提示;所述第一设备接收针对所述提示的用户输入;以及如果所述用户输入指示在所述第一设备与所述第二设备之间共享所述应用数据,所述第一设备自动发起所述应用数据的传输。在这种实施例中,仅在适于共享应用数据的情况下,才向用户提供有关提示。以此方式,可以避免用户选择迁移服务但由于两个设备间不适于共享应用数据而迁移不成功的情况,从而避免带来不良用户体验。
10.在一些实施例中,确定是否适于在所述第一设备与所述第二设备之间共享所述应用数据包括:响应于在所述第一设备处运行的第一应用正在使用所述应用数据来提供所述服务,所述第一设备确定所述第二设备的设备类型是否属于与所述服务相对应的预设设备类型;如果确定所述第二设备的设备类型属于所述预设设备类型,所述第一设备确定所述第二设备是否具有与所述第一应用相同类型的第二应用;以及如果确定所述第二设备具有所述第二应用,所述第一设备确定适于将所述应用数据共享给所述第二设备。以此方式,在向对端设备共享本地设备的应用数据的场景中,可以自动确定应用数据是否适于共享给对端设备。
11.在一些实施例中,确定是否适于在所述第一设备与所述第二设备之间共享所述应用数据包括:响应于用于提供所述服务的第三应用在所述第一设备处被启用,所述第一设备确定所述第二设备的设备类型是否属于与所述服务相对应的预设设备类型;如果确定所述第二设备的设备类型属于所述预设设备类型,所述第一设备确定所述第二设备处与所述第三应用相同类型的第四应用是否正在使用所述应用数据来提供所述服务;以及如果确定所述第四应用正在使用所述应用数据来提供所述服务,所述第一设备确定适于将所述应用数据从所述第二设备共享给所述第一设备。以此方式,在将对端设备的应用数据共享给本地设备的场景中,可以自动确定应用数据是否适于共享给本地设备。
12.在一些实施例中,在所述共享前所述应用数据由所述第一设备使用来提供服务,并且自动发起所述应用数据的传输包括:所述第一设备自动向所述第二设备发送所述应用数据,以使所述第二设备能够使用所述应用数据来提供所述服务。以此方式,可以通过应用数据的共享实现服务从本地设备的迁出。
13.在一些实施例中,第一方面的方法还包括:如果确定所述应用数据被成功发送,所述第一设备停止使用所述应用数据来提供所述服务。以此方式,在完成应用数据的共享后,第一设备可以用于提供其他服务,或者处于锁屏状态以节省电能。这进一步有助于提高分
布式环境中设备的利用效率。
14.在一些实施例中,在所述共享前所述应用数据由所述第二设备使用来提供服务,并且自动发起所述应用数据的传输包括:所述第一设备自动向所述第二设备发送针对所述应用数据的请求;所述第一设备从所述第二设备接收所述应用数据;以及所述第一设备自动使用所述应用数据来提供所述服务。以此方式,可以通过应用数据的共享实现服务向本地设备的迁入。
15.在一些实施例中,所述服务包括以下至少一项:导航服务,音频播放服务,视频播放服务,文本编辑服务,文档浏览服务,音频通话服务,或,视频通话服务。根据本公开的方案通过应用数据的共享来迁移服务,因而可以适用于各种服务的迁移,而不受限于特定类型的服务。
16.在本公开的第二方面,提供了一种用于设备迁移的装置。该装置包括:连接建立单元,被配置为在第一设备处与第二设备建立通信连接;信息获取单元,被配置为获取所述第二设备的设备信息;共享判断单元,被配置为基于所述设备信息,确定是否适于在所述第一设备与所述第二设备之间共享应用数据,所述应用数据由所述第一设备或所述第二设备使用来提供服务;以及传输发起单元,被配置为如果确定适于在所述第一设备与所述第二设备之间共享所述应用数据,在所述第一设备与所述第二设备之间,自动发起所述应用数据的传输。
17.在一些实施例中,所述传输发起单元包括:可能性确定单元,被配置为确定所述应用数据将要被共享的可能性;以及可能性判断单元,被配置为如果所述可能性超过阈值,自动发起所述应用数据的传输。
18.在一些实施例中,所述可能性确定单元包括:输入信息获取单元,被配置为获取与使用所述应用数据的应用有关的使用信息和所述第一设备的状态信息;模型获取单元,被配置为获取与所述应用相关联的预测模型;以及模型利用单元,被配置为至少以所述使用信息和所述状态信息作为输入,根据所述预测模型,确定所述可能性。
19.在一些实施例中,所述模型获取单元包括:历史信息获取单元,被配置为获取与所述应用有关的历史使用信息、所述第一设备的历史状态信息以及关于是否共享所述应用数据的历史用户选择;以及模型训练单元,被配置为通过将所述历史使用信息、所述历史状态信息作为输入并且将所述历史用户选择作为输出,训练所述预测模型。
20.在一些实施例中,所述传输发起单元包括:提示提供单元,被配置为提供与是否在所述第一设备与所述第二设备之间共享所述应用数据有关的提示;输入接收单元,被配置为接收针对所述提示的用户输入;以及输入判断单元,被配置为如果所述用户输入指示在所述第一设备与所述第二设备之间共享所述应用数据,自动发起所述应用数据的传输。
21.在一些实施例中,所述共享判断单元包括:第一判断单元,被配置为响应于在所述第一设备处运行的第一应用正在使用所述应用数据来提供所述服务,确定所述第二设备的设备类型是否属于与所述服务相对应的预设设备类型;第二判断单元,被配置为如果确定所述第二设备的设备类型属于所述预设设备类型,确定所述第二设备是否具有与所述第一应用相同类型的第二应用;以及第三判断单元,被配置为如果确定所述第二设备具有所述第二应用,确定适于将所述应用数据共享给所述第二设备。
22.在一些实施例中,所述共享判断单元包括:第四判断单元,被配置为响应于用于提
供所述服务的第三应用在所述第一设备处被启用,确定所述第二设备的设备类型是否属于与所述服务相对应的预设设备类型;第五判断单元,被配置为如果确定所述第二设备的设备类型属于所述预设设备类型,确定所述第二设备处与所述第三应用相同类型的第四应用是否正在使用所述应用数据来提供所述服务;以及第六判断单元,被配置为如果确定所述第四应用正在使用所述应用数据,确定适于将所述应用数据从所述第二设备共享给所述第一设备。
23.在一些实施例中,在所述共享前所述应用数据由所述第一设备使用来提供所述服务,并且所述传输发起单元包括:应用数据发送单元,被配置为自动向所述第二设备发送所述应用数据,以使所述第二设备能够使用所述应用数据来提供所述服务。
24.在一些实施例中,第二方面的装置还包括:服务停止单元,被配置为如果确定所述应用数据被成功发送,停止使用所述应用数据来提供所述服务。
25.在一些实施例中,在所述共享前所述应用数据由所述第二设备使用来提供所述服务,并且所述传输发起单元包括:请求发送单元,被配置为向所述第二设备发送针对所述应用数据的请求;数据接收单元,被配置为从所述第二设备接收所述应用数据;以及服务提供单元,被配置为使用所述应用数据来提供所述服务。
26.在一些实施例中,所述服务包括以下至少一项:导航服务,音频播放服务,视频播放服务,文本编辑服务,文档浏览服务,音频通话服务,或,视频通话服务。
27.在第三方面,提供了一种电子设备。该电子设备包括:一个或多个处理器;一个或多个存储器;以及一个或多个计算机程序。所述一个或多个计算机程序被存储在所述一个或多个存储器中,所述一个或多个计算机程序包括指令。当所述指令被所述电子设备执行时,使得所述电子设备执行第一方面的方法。
28.在第四方面,提供了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的方法。
29.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
30.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
31.图1示出了本公开的实施例能够实现于其中的示例环境的示意图;
32.图2示出了根据本公开的实施例的示例系统的示意性框图;
33.图3示出了根据本公开的一些实施例的示例系统的示意性架构图;
34.图4示出了根据本公开的一些实施例的迁出过程的示意性框图;
35.图5示出了根据本公开的一些实施例的决策过程的流程图;
36.图6示出了根据本公开的一些实施例的预测用户意图的示意性框图;
37.图7示出了根据本公开的另一些实施例的迁出过程的示意性框图;
38.图8示出了根据本公开的一些实施例的迁入过程的示意性框图;
39.图9示出了根据本公开的一些实施例的决策过程的流程图;
40.图10示出了根据本公开的另一些实施例的迁入过程的示意性框图;
41.图11示出了根据本公开的实施例的设备交互的示例方法的流程图;
42.图12示出了根据本公开的实施例的示例装置的框图;以及
43.图13示出了适合实现本公开的实施例的示例设备的框图。
具体实施方式
44.现在将参考一些示例实施例描述本公开的原理。应当理解,这些实施例仅出于说明的目的进行描述,并且帮助本领域技术人员理解和实现本公开,而不暗示对本公开的范围的任何限制。除了下面描述的方式以外,本文中描述的公开内容可以以各种方式来实现。
45.在以下描述和权利要求中,除非另有定义,否则本文中使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的相同的含义。
46.如本文中使用的,除非上下文另外明确指出,否则单数形式“一”、“一个”和“该”也意图包括复数形式。术语“包括”及其变体应当被解读为开放式术语,意指“包括但不限于”。术语“基于”应当被解读为“至少部分基于”。术语“一个实施例”和“实施例”应当被解读为“至少一个实施例”。术语“另一实施例”应当被理解为“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同或相同的对象。下面可以包括其他定义(明确的和隐含的)。
47.如本文中所使用的,术语“服务”是指移动设备利用视觉输出手段、听觉输出手段、其组合或其他合适的方式实现的功能。“服务”可以包括但不限于导航服务、音频播放服务、视频播放服务、文本编辑服务、视频通话服务、文档浏览服务、网页浏览服务、社交媒体浏览和发布服务、音频通话服务等。“服务”可以由移动设备处的应用来提供。
48.如本文中所使用的,术语“应用数据”是指应用为了提供服务或实现预设功能而生成和使用的数据。例如,导航应用的应用数据可以包括所规划的导航路线,诸如起点、终点、中途点等。又如,音频播放应用的应用数据可以包括指示要播放的一个或多个音频的播放列表。
49.如上文简述的,当前用于在设备间迁移服务的方案需要用户预先配置或触发,而且在用户触发后,存在设备不匹配而无法迁移的情况。一种常见的分布式迁移技术是基于数字生活网络联盟(dlna)协议的方案,以下称为dlna方案。在这种方案中,通过诸如无线保真(wi-fi)的网络连接,在不同移动设备之间进行多媒体内容的解析、展示等一系列操作,从而可以在不同移动设备间迁移多媒体内容服务。在dlna方案中,本地设备将多媒体内容的统一资源定位符(url)发送给目标设备,目标设备通过该url接续多媒体内容的呈现。
50.可见,dlna方案基于互联系统,其本质是url的传输。这限制了dlna方案的使用场景。一般而言,dlna方案只能支持提供视频、音频等多媒体内容服务的迁移,而无法迁移备忘录、文档编辑、浏览器等服务,因为这些服务的迁移不是简单地通过url就可以实现的。
51.此外,在dlna方案中,多个移动设备在组网之后,用户需要在本地的移动设备处点击应用中的定制选项(例如,虚拟按钮)才能开始迁移。另外,如果对侧的移动设备不支持所迁移的多媒体内容的格式,则无法成功迁移多媒体内容服务。
52.另一种常见的分布式迁移技术是手机屏幕的投射。例如,用高清多媒体接口(hdmi)线连接手机和目标设备(例如,电视机),可以将手机的屏幕按照完全一致的投射到目标设备上。
53.在这种方案中,迁移的触发条件是两个设备通过hdmi线而连接在一起。这需要用户主动发起,而不能实现自动的服务迁移。此外,这种方案所实现的仅是使目标设备显示与手机屏幕相同的内容。因而在迁移成功后,手机也需要继续显示相关内容,而不能待机或用于其他目的。
54.为了至少部分地解决上述问题以及其他潜在问题,本技术提供了一种用于设备交互的方案。总体而言,根据在此描述的各种实施例,在第一设备与第二设备建立通信连接后,第一设备基于第二设备的设备信息,确定是否适于在第一设备与第二设备之间共享应用数据。在共享前,该应用数据由第一设备或第二设备使用来提供服务。如果适于在第一设备与第二设备之间共享应用数据,第一设备在第一设备与第二设备之间,自动发起应用数据的传输。
55.根据本公开实施例的方案可以通过应用数据的共享在尽可能少的用户干预的情况下,自动实现服务从一个设备迁移到另一设备的设备交互。以此方式,在包括多个设备的分布式环境中,能够利用适当的设备来为用户提供服务。这有助于提升用户体验和分布式环境中设备的利用效率。此外,由于服务的迁移是通过应用数据的共享实现的,该方案适用于迁移各种类型的服务,例如导航服务、视频播放服务、音频播放服务、文本编辑服务、视频通话服务、文档浏览服务等。
56.下面将结合附图描述本公开的各种示例实施例。
57.图1示出了本公开的实施例能够实现于其中的示例环境100的示意图。如图所示,示例环境100包括移动设备110(其在本文中也可以被称为第一设备)。尽管将移动设备110示出为移动电话,但是应当理解,这仅是示例性而无意限制本公开的范围。在此描述的移动设备110可以是任何合适类型的设备。
58.示例环境100还包括设备120-1、120-2、120-3和120-4,其在下文中也被统称为设备120(其在本文中也可以被称为第二设备)。设备120-1被示出为安装在车辆130上的车载终端(例如,车机),设备120-2被示出为便携式计算机,设备120-3被示出为显示设备(例如,电视),设备120-4被示出为音箱。应当理解,图1中所示的设备120仅是示例性的而无意限制本公开的范围。设备120还可以包括任何合适类型的设备,例如机顶盒、投影仪、娱乐单元、导航设备、通信设备、移动电话、平板电脑、计算机、便携式计算机、台式计算机、个人数字助理(pda)、监视器、收音机、卫星收音机、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(dvd)播放器、便携式数字视频播放器等。
59.移动设备110可以与一个或多个设备120建立通信连接。移动设备110和设备120之间建立通信连接的过程也可以被称为组网过程。该通信连接可以基于任何合适的形式,包括但不限于广域网(例如,互联网)、局域网、专用网络、公共网络、分组网络、有线网络或无线网络(例如,通过蓝牙,nfc,wi-fi,红外,或,2g/3g/4g/5g的建立的连接)等。
60.在一种场景中,移动设备110处的应用可能正在提供服务(例如,地图或导航应用在导航或音频播放应用在播放音乐等)。在移动设备110与设备120建立连接后,移动设备110的用户可能期望将该服务迁移至设备120,由设备120继续提供服务。相应地,移动设备110处用于提供该服务的应用数据需要被共享给设备120。在本文中,这种场景可以被称为迁出场景。例如,移动设备110由用户随身携带,并且移动设备110中运行的地图或导航应用按照所规划的导航路线进行导航。用户在进入车辆130后,可能期望由设备120-1继续按该
导航路线进行导航。
61.在另一种场景中,设备120处的应用可能正在提供服务。在移动设备110与设备120建立连接后,移动设备110的用户可能期望将由设备120提供的服务迁移至移动设备110,由移动设备110继续提供该服务。相应地,设备120处用于提供该服务的应用数据需要被共享给移动设备110。在本文中,这种场景可以被称为迁入场景。例如,放置在家中的设备120-4在播放列表中的音乐。用户在从家离开时,可能期望由随身携带的移动设备110继续播放列表中的音乐。
62.服务从移动设备110迁出至设备120和服务从设备120迁入到移动设备110可以被统称为在移动设备110与设备120之间迁移服务。服务在移动设备110与设备120之间的迁移可以通过在移动设备110与设备120之间共享应用数据来实现。在移动设备110与设备120建立连接后,移动设备110需要自动识别是否可在移动设备110与设备120之间共享应用数据。
63.图2示出了根据本公开的实施例的示例系统200的示意性框图。如图所示,示例系统200包括移动设备110和设备120。移动设备110包括识别模块210,其被配置为确定是否可在移动设备110与设备120之间共享应用数据。在一些实施例中,识别模块210可以确定移动设备110处的应用数据是否可共享给设备120。在一些实施例中,识别模块210可以确定设备120处的应用数据是否可共享给移动设备110。
64.移动设备110还包括共享接口220,其支持应用数据的传输。如果在共享前应用数据由移动设备110使用来提供服务,共享接口220可以向设备120发送应用数据,以使设备120能够继续提供该服务。如果在共享前应用数据由设备120使用来提供服务,共享接口220可以从设备120接收应用数据,以在移动设备110处继续提供该服务。
65.如图所示,设备120包括共享接口260,其用于与共享接口220对接,以支持应用数据的传输。共享接口260与共享接口220类似,因此不再重复对共享接口260的描述。
66.在一些实施例中,除了发送和接收应用数据,共享接口220和260还可以响应于接收到应用数据而启动相应设备处可使用该应用数据的应用。例如,共享接口220和260可以是具有启动应用能力的应用编程接口(api)。任何已知的或未来开发的技术可以用于实现共享接口220和260,本公开的范围在此方面不受限制。
67.在一些实施例中,设备120可以包括与识别模块210类似的识别模块250。在这种实施例中,设备120也可以实现如下文描述的确定应用数据是否可共享的过程。
68.在本文中,从移动设备110的视角来描述应用数据的共享。因此,移动设备110也可以被称为本地设备,设备120也可以被称为对端设备。移动设备110处的应用数据被共享给设备120可以视为应用数据的迁出,而设备120处的应用数据被共享给移动设备110可以视为应用数据的迁入。
69.图3示出了根据本公开的一些实施例的示例系统200的示意性架构图。移动设备110包括应用层320、系统层310和内核层(未示出)。应用层320包括应用301、302和303。这些应用可以向移动设备110的用户提供各种服务。作为示例,应用301可以是地图或导航应用,其可以显示路况、导航路线等;应用302可以是音频应用,其可以播放音乐、录音等音频内容;应用303可以是文档应用,其可以呈现文档以供用户阅读或编辑。图3中所示的应用的数目仅是示例性的,应用层320可以包括更多或更少的应用。除了以上所例示的应用类型外,应用层320可以包括任何合适类型的应用,例如视频应用、购物应用、电子书阅读应用、社交
应用、浏览器应用、视频通话应用、健身应用等。如图3所示,应用层320还包括api 330,用于与系统层310对接。
70.系统层310包括识别模块210。识别模块210包括共享识别接口311、信息获取子模块312和决策子模块313。共享识别接口311用于与应用层320对接。例如,应用301、302、303中的一个或多个可以注册到共享识别接口311。经注册的应用可以调用共享识别接口311,从而触发识别模块210确定该应用的应用数据是否可共享给设备120,或者确定设备120是否具有可共享给移动设备110的应用数据。附加地,在一些实施例中,识别模块210还可以经由共享识别接口311向应用层320中的应用301、302、303发送通知,以触发应用数据的共享。
71.信息获取子模块312可以通过已建立的通信连接来获取对端设备(即,设备120)的设备信息。信息获取子模块312还可以获取和/或存储本地设备(即,移动设备110)的设备信息。设备信息可以包括移动设备110或设备120的各种配置信息,包括但不限于硬件信息,操作系统(os)信息,能力信息,状态信息,或,应用信息等。
72.图3示出了示例设备信息3120。示例设备信息3120包括硬件信息3121、os信息3122、能力信息3123、状态信息3124和应用信息3125。应当理解,设备信息3120仅是示例性的。硬件信息3121可以包括设备类型,例如移动电话、车载终端、音箱、电视、投影仪等。硬件信息3121还可以附加地包括设备中诸如处理器、存储器等部件的信息。os信息3122可以包括设备中安装的操作系统的类型(例如,安卓、ios、windows)及其版本等。能力信息3123可以指示设备是否具有一种或多种能力,例如是否具有应用数据共享能力(以下简称为“共享能力”)、是否支持定位、是否支持音频的播放、是否具有显示能力等。状态信息3124可以指示设备的各种硬件、能力的当前状态,例如是否连接到网络、定位功能是否启用等。应用信息3125可以指示设备中安装的应用、应用的版本、应用当前是否在运行等。
73.决策子模块313被配置为至少基于对端设备的设备信息3120来确定是否可在移动设备110与设备120之间共享应用数据。在迁出场景中,决策子模块313可以确定是否可将移动设备110处的应用数据共享给设备120。在迁入场景中,决策子模块313可以确定是否可将设备120处的应用数据共享给移动设备110。
74.决策子模块313可以基于对端设备的设备信息3120,确定是否适于在移动设备110与设备120之间共享应用数据。可以预先设置指示适于在移动设备110与设备120之间共享应用数据的共享条件。如果共享条件被满足,决策子模块313可以确定适于在移动设备110与设备120之间共享应用数据。如果共享条件未被满足,决策子模块313可以确定不适于在移动设备110与设备120之间共享应用数据。
75.在一些实施例中,可以定义针对公共策略的共享条件,而无需考虑应用的类型。例如,如果设备120的设备类型、os类型分别为预设类型,并且设备120具有共享能力,决策子模块313可以确定满足共享条件。
76.在一些实施例中,可以针对不同服务定义不同的共享条件。可以预先设置与不同服务相对应的预设设备类型、预设os类型等。作为示例,与导航服务相对应的预设设备类型可以包括移动电话、车载终端等可移动的设备类型,而不包括不可移动的设备类型,例如电视、台式计算机等。作为另一示例,与视频播放服务相对应的预设设备类型可以包括移动电话、电视等具有显示功能的设备类型,而不包括没有显示功能的设备类型,诸如智能音箱等。可以类似地预设os类型。
77.在一些实施例中,移动设备110可以维护一个或多个条件模板314,并且决策子模块313可以利用条件模板314来确定是否满足共享条件。图3示出了条件模板314-1,其可以视为条件模板314的一个具体实现。项3141指示该模板所适用的场景,在此示例中为“导航迁出”场景,即,将移动设备110处的导航应用数据共享给设备120。项3142至项3149指示共享导航应用数据需要满足的条件。项3142指示本地设备类型应当为“移动电话”;项3143指示对端设备类型应当为“车载终端”;项3144指示本地设备应具有共享能力;项3145指示对端设备应具有共享能力;项3146指示本地设备的os应为“安卓”系统;项3147指示对端设备的os应为“安卓”系统;项3148指示本地设备和对端设备应处于“已连接”状态;项3149指示对端设备应已安装导航应用。
78.应当理解的是,图3中所示的条件模板314-1的各个项仅是示例性的,而无意限制本公开的范围。可以配置与不同服务或不同类型的应用相对应的模板。条件模板314中的一项或多项可以具有多个可选值,例如,对端设备类型可以为“移动设备”或“移动电话”;又如,对端os类型可以为“安卓”或“ios”。此外,条件模板314可以不包括关于本地设备的项,例如可以不包括项3142、项3144、项3146。
79.附加地,在一些实施例中,如果确定适于共享应用数据,决策子模块313还可以进一步确定该应用数据将要被共享的可能性,其也被称为共享可能性。如果共享可能性超过阈值,决策子模块313可以将应用数据识别为可共享。如果共享可能性不超过阈值,决策子模块313可以将应用数据识别为不可共享。例如,决策子模块313可以获取与应用相关联的预测模型,并且基于预测模型确定共享可能性。预测模型可以是至少部分地基于用户习惯而确定的。因此,共享可能性可以反映移动设备110的用户希望共享应用数据以迁移服务的可能性,即,可以反映用户意图。在这种实施例中,通过确定共享可能性,可以基于用户意图来确定是否共享应用数据。以此方式,能够自动实现精确的服务迁移,而不增加与用户的交互。
80.在确定要共享应用数据的情况下,移动设备110在移动设备110与设备120之间自动发起共享应用数据的传输。例如,移动设备110可以自动调用共享接口220。在一些实施例中,如果决策子模块313确定应用数据可共享,移动设备110可以直接调用共享接口220,来自动发起应用数据的传输。例如,在迁出场景中,移动设备110可以直接调用共享接口220,以自动将应用数据发送给设备120。在迁入场景中,移动设备110可以直接调用共享接口220,以自动向设备120发送针对应用数据的请求。
81.在一些实施例中,如果决策子模块313确定应用数据可共享,移动设备110可以提供与是否共享应用数据有关的提示,并且接收针对该提示的用户输入。例如,移动设备110可以首先调用共享识别接口311,来向对应的应用(例如,应用301)发送应用数据可共享的通知。应用301可以以视觉或听觉方式向移动设备110的用户提供与是否共享应用数据有关的提示。如果用户选择共享应用数据以迁移服务,应用301可以例如经由api 330来调用共享接口220,以触发应用数据的传输。
82.与移动设备110类似,设备120包括应用层370、系统层360和内核层(未示出)。应用层370包括应用351、352和353。这些应用可以是与应用301、302、303相同类型或不同类型的应用。如图3所示,应用层370还包括api 380,用于与系统层360对接。
83.在一些实施例中,系统层360可以包括与识别模块210类似的识别模块250。识别模
块250所包括的共享接口361、信息获取子模块362、决策子模块363和条件模板364可以与识别模板210的对应组成相同,因此不再重复描述。
84.下面将结合图4-图10来详细描述根据本公开的一些实施例的在移动设备110与设备120之间共享应用数据以迁移服务的过程。图4示出了根据本公开的一些实施例的迁出过程400的示意性框图。为了便于理解,将结合图3来描述迁出过程400。如图所示,移动设备110处的应用301被启用,并且应用301生成应用数据(即,本实施例中的目标应用数据)以开始提供服务(即,本实施例中的目标服务)。在被启用后,应用301可以通过api 330调用识别模板210中的共享识别接口311。在图4的示例中,应用301为地图应用,并且通过显示导航路线401和地图来提供导航服务。相应地,应用301的应用数据可以包括导航路线401的规划数据,例如起点、终点、中途点等。
85.移动设备110与设备120建立通信连接403。例如,用户携带移动设备110进入安装有设备120的车辆,移动设备110和设备120建立通信连接。如果检测到通信连接403已建立,移动设备110可以获取设备120的设备信息。该设备信息可以包括设备120的硬件信息(例如,设备类型)、os信息(例如,os类型)、能力信息(例如,是否具有共享能力)、状态信息(例如,是否处于连接状态)和应用信息(例如,已安装的应用)等。例如,识别模块210中的信息获取子模块312可以获取如图3所示的关于设备120的设备信息3120。
86.应当理解,在本公开的实施例中,建立通信连接403和移动设备110开始提供目标服务的顺序可以不受限制。在一些实施例中,可以先建立移动设备110与设备120之间的通信连接403,然后移动设备110生成应用数据以开始提供目标服务。例如,用户可以携带移动设备110进入安装有设备120的车辆,移动设备110和设备120建立通信连接。然后,用户可以启用移动设备110处的应用301,并且应用301生成应用数据以开始提供目标服务,例如导航服务。
87.接下来,移动设备110执行决策过程410。在一些实施例中,移动设备110可以基于设备120的设备信息3120,确定是否适于将移动设备110处的目标应用数据共享给设备120,即,是否适于迁出目标应用数据。例如,移动设备110可以确定是否满足共享条件。
88.在一些实施例中,如果移动设备110确定适于迁出目标应用数据,移动设备110还可以进一步确定共享可能性。图5示出了根据本公开的一些实施例的决策过程410-1的流程图。决策过程410-1可以视为决策过程410的一个具体实现。
89.在框510,移动设备110基于设备120的设备信息,确定移动设备110处的目标应用数据是否适于共享给对端设备,即,设备120。在一些实施例中,移动设备110可以确定设备120的设备类型是否属于与目标服务相对应的预设设备类型。如果设备120的设备类型不属于预设设备类型,则移动设备110将目标应用数据识别为不适于共享。如果设备120的设备类型属于预设设备类型,则移动设备110可以继续其余条件的判断。移动设备110可以确定设备120是否具有与应用301相同类型的应用。如果设备120不具有相同类型的应用,则移动设备110将目标应用数据识别为不适于共享。如果设备120具有相同类型的应用(例如,应用351与应用301类型相同),移动设备110确定适于将目标应用数据共享给设备120。附加地,还可以设置其他条件。例如,移动设备110还可以确定设备120是否支持目标应用数据的共享、与提供目标服务有关的功能的状态(诸如,定位功能的状态)等。
90.对于图4中目标服务为导航服务的示例,移动设备110可以基于硬件信息3121确定
设备120的设备类型是否属于与导航服务相对应的预设设备类型,例如车载终端、移动电话等可移动的设备类型。如果设备120的设备类型属于预设设备类型,则可以继续其他条件的判断。移动设备110可以基于应用信息3115确定设备120是否安装有地图应用或其他支持导航的应用。如果设备120安装有地图应用或其他支持导航的应用,移动设备110可以确定适于将导航应用数据共享给设备120。附加地,在一些实施例中,移动设备110还可以确定是否满足其余条件,例如用于支持导航的定位功能模块(诸如,gps模块)的状态。如果定位功能模块处于故障状态,则移动设备110可以将导航应用数据识别为不适于共享。如果定位功能模板处于正常状态,则移动设备110可以确定导航应用数据适于共享给设备120。
91.在一些实施例中,移动设备110可以利用条件模板314来确定是否适于共享目标应用数据。例如,移动设备110可以取回对应的条件模板314,然后基于设备信息3120逐项地确定条件模板314中的项是否被满足。如果各个项均被满足,则移动设备110可以确定适于共享目标应用数据。
92.如果移动设备110确定适于共享目标应用数据,则过程410-1进行到框520。在框520,移动设备110确定目标应用数据将被共享的可能性,即,共享可能性。在此描述的共享可能性表示目标应用数据被共享给对端设备的概率。由于通过目标应用数据的共享可以实现目标服务的迁移,因此在这种实施例中,共享可能性可以反映移动设备110的用户希望由对端设备提供目标服务的概率。在一些实施例中,移动设备110可以基于在过去一段时间(例如,近一周、近一个月、近三个月、近半年)内应用301的应用数据被共享给设备102的频率、次数等来确定共享可能性。在一些实施例中,移动设备110可以基于预测模型来确定共享可能性。下文将参考图6详细描述这种实施例。
93.在框530,移动设备110确定共享可能性是否大于阈值。如果共享可能性不大于阈值,移动设备110可以确定目标应用数据不可共享,并且过程410-1结束。如果共享可能性大于阈值,过程410-1进行到框540。在框540,移动设备110确定目标应用数据可共享给对端设备,即,设备120。
94.可选的,继续参考图4。如果在决策过程410中确定目标应用数据可共享,移动设备110可以向用户提供与是否共享应用数据有关的提示,并且接收针对该提示的用户输入。可以理解的是,由于移动设备110的用户可能并不知晓应用数据的共享,因此在本公开的实施例中,可以从应用或应用所提供的服务的角度做出与是否共享应用数据有关的提示。因此,这种提示可以呈现为是否由对端设备提供服务的提示。例如,如果决策子模块313确定目标应用数据可共享,可以调用共享识别接口311,以通知应用301目标应用数据可共享。如图所示,应用301可以显示对话框402。备选地或附加地,移动设备110可以通过语音方式提示用户是否由设备120提供目标服务,并识别用户的语音以确定用户选择。
95.如果用户输入指示由对端设备(即,设备120)提供目标服务,例如用户点击了对话框402中的“是”,则移动设备110发起共享过程420。例如,应用301可以调用共享接口220,以将目标应用数据发送给设备120。在图4所示的导航服务示例中,应用301的导航规划数据可以被发送给设备120。
96.如箭头430所示,设备120利用接收到的应用数据来提供目标服务。例如,设备120的共享接口260从共享接口220接收应用数据。与应用301相同类型的应用351被启动,并且使用应用数据来提供目标服务。在图4的示例中,设备120可以使用接收到的导航规划数据
继续提供导航服务。如图所示,设备120在其屏幕上显示导航路线401和相应的地图。
97.在一些实施例中,如箭头440所示,如果确定成功共享了应用数据,移动设备110可以停止提供目标服务。例如,如果确定应用数据被成功发送,移动设备110可以停止使用目标应用数据来提供目标服务。例如,移动设备110可以关闭应用301。附加地,移动设备110还可以将其自身置于锁屏状态。在这种实施例中,在完成目标应用数据的共享后,移动设备110可以从提供目标服务中被释放。移动设备110可以提供其他服务,或者处于锁屏状态以节省电能。这有助于进一步提高分布式环境中设备的利用效率。
98.根据本公开实施例的方案可以通过应用数据的共享在尽可能少的用户干预的情况下,自动实现服务从一个设备迁移到另一设备的设备交互。以此方式,在包括多个设备的分布式环境中,能够利用适当的设备来为用户提供服务。例如,当用户进入车辆后,原本在移动电话上进行的导航可以被迁移至车载终端,从而由车载终端提供导航服务。这有助于提升用户体验和分布式环境中设备的利用效率。
99.如上文参考图5简述的,移动设备110可以基于预测模型来确定共享可能性。图6示出了根据本公开的一些实施例的确定共享可能性的示意性框图600。移动设备110可以首先获得用于确定共享可能性的信息610。信息610可以包括与应用301有关的使用信息611和移动设备110的状态信息612。可选的或附加地,在一些实施例中,信息610还可以包括与移动设备110和/或设备120有关的能力信息613。
100.使用信息611可以包括应用301在移动设备110处被启用的时刻、移动设备110与设备120建立通信连接的时刻、当前系统时间、应用301运行的预期持续时间(例如,预计的导航总时长)、与应用301相关联的用户习惯。用户习惯可以是在过去一段时间内(例如,一个月内)用户选择共享应用301的应用数据的次数或频率等。状态信息612可以包括移动设备110的电源状态(例如,剩余电量、是否在充电等)、音频状态(例如,是否在输出音频、音量大小)、与应用301有关的功能是否被使能(例如,gps是否开启)等。能力信息613可以包括移动设备110和/或设备120是否支持应用数据的迁移等。在一些实施例中,信息610可以附加地包括设备120的状态信息等。
101.可以将使用信息611、状态信息612以及可选的能力信息613作为输入,根据预测模型630来确定共享可能性。具体地,为了将这些信息应用于预测模型630,可以对所采集的数据进行特征提取,以获得特征表示x。例如,信息610中的一项或多项信息可以分别用相应的向量来表示。将由这些向量构成的矩阵进行归一化,以得到特征表示x。特征表示x可以输入到预测模型630,以确定共享可能性631。在一些实施例中,可以利用逻辑回归算法来实现预测模型630。例如,预测模型630可以用式(1)来表示:
[0102][0103]
其中e是自然对数的底数,其是无限不循环小数并且可以取值为2.71828;t表示矩阵转置;θ是逻辑回归的参数,并且可以通过模型的训练得到;y是因变量,p表示在x和θ一定时的共享可能性。如前文所述的,当共享可能性大于阈值时,可以确定目标应用数据可共享;当共享可能性小于阈值时,可以确定目标应用数据不可共享。
[0104]
在一些实施例中,预测模型630可以是在移动设备110处利用与应用301有关的历
史信息而训练的。例如,移动设备110可以收集与应用301有关的历史信息。历史信息可以包括与信息610中的一项或多项信息分别相对应的信息,例如历史使用信息、历史状态信息和历史能力信息。历史信息还包括关于是否共享应用数据以迁移服务的历史用户选择。这种历史信息可以涵盖过去一段时间,例如半年、一年等;也可以涵盖自移动设备110启用以来的时间。
[0105]
在一些实施例中,移动设备110还可以利用用户选择632来更新预测模型630。例如,用户在对话框402中对“是”或“否”的选择可以被反馈至预测模型630,来进一步训练预测模型630。
[0106]
在这种实施例中,通过预测用户希望共享应用数据的概率,可以在服务迁移中考虑用户意图,实现基于用户意图的服务迁移。这有助于实现更为精确的服务迁移。在分布式设备场景中,能够提升用户体验。此外,在这种实施例中,所使用的预测模型是针对用户习惯训练的。这可以实现针对用户的定制化服务迁移。
[0107]
以导航应用为例。由于早高峰期间道路易拥堵,移动设备110的用户需要选择快捷的路线,因此该用户习惯早晨上班路上由车载终端进行导航,以便按照最快捷的路线开车。假设在早晨8:45时该用户在家里上车,准备出门上班。移动设备110将此情况下采集的信息610输入到预测模型630,从而确定共享可能性。在这种情况下,所得到的共享可能性将大于阈值。因此,移动设备110可以发起导航应用数据的共享。
[0108]
作为另一示例,移动设备110的用户下班时间较晚。由于晚上路况良好,该用户每天按固定路线回家,所以在回家路上通常不需要由车载终端进行导航。假设在晚上10:45时该用户从公司准备回家。移动设备110将此情况下采集的信息610输入到预测模型630,从而确定共享可能性。在这种情况下,所得到的共享可能性将小于阈值。因此,移动设备110将不会触发导航应用数据的共享。
[0109]
在一些实施例中,预测模型630可以是移动设备110从云平台640获得的。这样的预测模型630可以是基于大数据的模型,例如基于来自大量移动设备110的数据而训练的模型。在移动设备110的使用时间较短而没法积累足够的数据来训练预测模型的情况下,移动设备110可以从云平台640获得基于大数据的预测模型630。在这种实施例中,移动设备110处的用户选择632及相关信息可以被发送给云平台640,以使云平台640能够优化该基于大数据的模型。
[0110]
应理解,不同类型的应用可以与不同的预测模型相关联,并且同一类型的应用可以具有与迁出场景相对应的预测模型和与迁入场景相对应的预测模型。作为示例,针对导航应用,移动设备110和/或云平台640可以保存与导航应用数据的迁出相对应的预测模型、以及与导航应用数据的迁入相对应的预测模型。
[0111]
图7示出了根据本公开的另一些实施例的迁出过程700的示意性框图。下面仅描述迁出过程700与迁出过程400的不同之处。如图7所示,如果在决策过程410中确定目标应用数据可共享,移动设备110可以自动发起共享过程420,而不提供与是否共享应用数据有关的提示。例如,识别模块210可以调用共享接口220,以将应用数据发送给设备120。
[0112]
在这种实施例中,进一步减少了与用户的交互,可以实现自动的服务迁移。在经训练的预测模型能够准确地预测用户意图(例如,在一段时间内准确预测用户意图的次数超过阈值)的情况下,可以实现这种实施例。以此方式,在最少化与用户交互的情况下,仍可以
实现准确的服务迁移。
[0113]
在参考图4和图7中描述的实施例中,应用数据从本地设备被共享给对端设备,即,迁出场景。根据本公开实施例的设备交互方案还适用于迁入场景。图8示出了根据本公开的一些实施例的迁入过程800的示意性框图。如图所示,移动设备110与设备120建立通信连接803。例如,用户携带移动设备110进入安装有设备120的车辆,移动设备110和设备120建立通信连接803。设备120处的应用351被启用,并且应用351生成应用数据(即,本实施例中的目标应用数据)以开始提供服务(即,本实施例中的目标服务)。在图8的示例中,应用351为地图应用,并且通过显示导航路线801和地图来提供导航服务。
[0114]
某一时刻,移动设备110处的应用301被启用。例如,用户在打算下车时,打开移动设备110处的应用301。在被启用后,应用301可以通过api 330调用识别模板210中的共享识别接口311。
[0115]
移动设备110可以获取设备120的设备信息。该设备信息可以包括设备120的硬件信息(例如,设备类型)、os信息(例如,os类型)、能力信息(例如,是否具有共享能力)、状态信息(例如,是否处于连接状态)和应用信息(例如,已安装的应用)等。例如,识别模块210中的信息获取子模块312可以获取如图3所示的关于设备120的设备信息3120。
[0116]
应当理解,在本公开的实施例中,建立通信连接803和设备120开始提供目标服务的顺序可以不受限制。在一些实施例中,可以在设备120生成应用数据以开始提供目标服务之后再建立移动设备110与设备120之间的通信连接803。
[0117]
接下来,移动设备110执行决策过程810。在一些实施例中,移动设备110可以基于设备120的设备信息3120,确定是否适于将设备120处的目标应用数据共享给移动设备110,即,是否适于迁入目标应用数据。例如,移动设备110可以确定是否满足共享条件。
[0118]
在一些实施例中,如果确定适于共享目标应用数据,移动设备110还可以进一步确定目标应用数据将被共享的可能性,即,共享可能性。图9示出了根据本公开的一些实施例的决策过程810-1的流程图。决策过程810-1可以视为决策过程810的一个具体实现。
[0119]
在框910,移动设备110基于设备120的设备信息,确定设备120处的目标应用数据是否适于共享给本地设备,即,移动设备110。在一些实施例中,移动设备110可以确定设备120的设备是否属于与目标服务相对应的预设设备类型。如果设备120的设备类型不属于预设设备类型,则可以将目标应用数据识别为不适于共享。如果设备120的设备类型属于预设设备类型,则移动设备110可以继续其余条件的判断。移动设备110确定设备120处与应用301相同类型的应用351是否正在使用目标应用数据来提供目标服务。如果设备120处的应用351未在使用目标应用数据(例如,未在运行),则可以确定没有可共享的目标应用数据。如果设备120处的应用351正在使用目标应用数据来提供目标服务,则移动设备110确定目标应用数据适于共享给移动设备110。附加地,还可以设置其他条件。例如,移动设备110还可以确定设备120是否支持目标应用数据的共享等。
[0120]
对于图8中目标服务为导航服务的示例,移动设备110可以基于硬件信息3121确定设备120的设备类型是否属于与导航服务相对应的预设设备类型,例如车载终端、移动电话等可移动的设备类型。如果设备120的设备类型属于预设设备类型,则可以继续其他条件的判断。移动设备110可以基于应用信息3215确定设备120处的地图应用或其他支持导航的应用是否正在使用导航应用数据来提供导航服务。如果设备120的地图应用或其他支持导航
的应用正在使用导航应用数据来提供导航服务,则移动设备110可以确定设备120处的导航应用数据适于共享给移动设备110。附加地,在一些实施例中,移动设备110还可以确定是否满足其余条件。例如,移动设备110可以确定自身用于支持导航的定位功能模块(诸如,gps模块)的状态。如果定位功能模块处于故障状态,则移动设备110可以将导航应用数据识别为不适于共享。如果定位功能模板处于正常状态,则移动设备110可以确定导航应用数据适于共享给移动设备110。
[0121]
在一些实施例中,移动设备110可以利用条件模板314来确定是否适于共享目标应用数据。例如,移动设备110可以取回对应的条件模板314,然后基于设备信息3120逐项地确定条件模板中的项是否被满足。如果各个项均被满足,则移动设备110可以确定适于共享目标应用数据。移动设备110可以针对迁出场景和迁入场景维护相应的条件模板。例如,图3中所示的条件模板314-1适用于导航迁出。移动设备110还可以维护与条件模板314-1类似的适用于导航迁入的条件模板。除了项3149之外或者替代项3149,这种条件模板可以包括关于对端应用是否正在运行的项。
[0122]
如果移动设备110确定适于共享目标应用数据,则过程810-1进行到框920。在框920,移动设备110确定目标应用数据将被共享的可能性,即,共享可能性。在此描述的共享可能性表示目标应用数据被共享给本地设备的概率。由于通过目标应用数据的共享可以实现目标服务的迁移,因此在这种实施例中,共享可能性可以反映移动设备110的用户希望由本地设备提供服务的概率。在一些实施例中,移动设备110可以基于在过去一段时间(例如,近一周、近一个月、近三个月、近半年)内应用351的应用数据被共享给移动设备110的频率、次数等来确定共享可能性。在一些实施例中,移动设备110可以基于预测模型来确定共享可能性。基于预测模型来确定共享可能性与上文参考图6描述的实施例类似,因此在此不再重复描述。
[0123]
在框930,移动设备110确定共享可能性是否大于阈值。如果共享可能性不大于阈值,移动设备110可以确定目标应用数据不可共享,并且过程810-1结束。如果共享可能性大于阈值,过程810-1进行到框940。在框940,移动设备110确定目标应用数据可共享给本地设备,即,移动设备110。
[0124]
可选的,继续参考图8。如果在决策过程810中确定目标应用数据可共享,移动设备110可以提供与是否共享应用数据有关的提示,并且接收针对该提示的用户输入。与上文参考图4所描述的类似,由于移动设备110的用户可能并不知晓应用数据的共享,因此在本公开的实施例中,可以从应用或应用所提供的服务的角度做出与是否共享应用数据有关的提示。因此,这种提示可以呈现为是否由本地设备提供服务的提示。例如,如果决策子模块313确定目标应用数据可共享,可以调用共享识别接口311,以通知应用301目标应用数据可共享。如图所示,应用301可以显示对话框802。备选地或附加地,移动设备110可以通过语音方式提供是否由移动设备110提供目标服务的提示,并识别语音输入以确定用户的选择。
[0125]
如果用户输入指示由本地设备(即,移动设备110)来提供目标服务,例如用户点击了对话框802中的“是”,则移动设备110发起共享过程820。例如,移动设备110可以经由共享接口220向设备120发送针对目标应用数据的请求,并且从设备120接收目标应用数据。在图8的示例中,移动设备110可以从设备120接收由应用351生成的导航规划数据。
[0126]
如箭头830所示,移动设备110利用接收到的应用数据来提供目标服务。在图8的示
例中,移动设备110处的应用301可以使用接收到的导航规划数据继续提供导航服务。如图所示,移动设备110在其屏幕上显示导航路线801和相应的地图。
[0127]
图10示出了根据本公开的另一些实施例的迁入过程1000的示意性框图。下面仅描述迁入过程1000与迁入过程800的不同之处。如图10所示,如果在决策过程810中确定目标应用数据可共享,移动设备110可以自动发起共享过程820,而不向用户提供与是否共享应用数据有关的提示。例如,识别模块210可以调用共享接口220,以将针对目标应用数据的请求发送给设备120。
[0128]
在这种实施例中,进一步减少了与用户的交互,可以实现自动的服务迁移。在经训练的预测模型能够准确地预测用户意图(例如,在一段时间内准确预测用户意图的次数超过阈值)的情况下,可以实现这种实施例。以此方式,在最少化与用户交互的情况下,仍可以实现自动准确的服务迁移。
[0129]
在图8和图10所描述的实施例中,响应于应用301在移动设备110处被启用,移动设备110执行决策过程810以确定目标应用数据是否可共享。在另一些实施例中,在移动设备110与设备120建立通信连接之后,如果移动设备110确定设备120处的应用正在运行以提供目标服务(例如,导航服务),移动设备110可以执行决策过程810,而无需应用301的启用。
[0130]
图11示出了根据本公开的实施例的设备交互的示例方法1100的流程图。方法1100可以由第一设备执行,第一设备例如是如图1、图2、图3所示的移动设备110。另外,第二设备例如是如图1、图2、图3所示的设备120。应当理解,方法1100还可以包括未示出的附加动作和/或可以省略所示出的动作。本公开的范围在此方面不受限制。
[0131]
在框1105,第一设备与第二设备建立通信连接。在框1110,第一设备获取第二设备的设备信息。在框1120,基于设备信息,第一设备确定是否适于在第一设备与第二设备之间共享应用数据。
[0132]
在一些实施例中,响应于在第一设备处运行的第一应用正在使用所述应用数据来提供服务,第一设备可以确定第二设备的设备类型是否属于与该服务相对应的预设设备类型。如果确定第二设备的设备类型属于预设设备类型,第一设备可以确定第二设备是否具有与第一应用相同类型的第二应用。如果确定第二设备具有第二应用,第一设备可以确定适于将应用数据从第一设备共享给第二设备。
[0133]
在一些实施例中,响应于用于提供服务的第三应用在第一设备处被启用,第一设备可以确定第二设备的设备类型是否属于与该服务相对应的预设设备类型。如果确定第二设备的设备类型属于预设设备类型,第一设备可以确定第二设备处与第三应用相同类型的第四应用是否正在使用应用数据来提供服务。如果确定第四应用正在使用应用数据来提供服务,第一设备可以确定适于将应用数据从第二设备共享给第一设备。
[0134]
如果在框1120确定适于在第一设备与第二设备之间共享应用数据,方法1100进行到框1130。在框1130,第一设备在第一设备与第二设备之间,自动发起应用数据的传输。
[0135]
在一些实施例中,第一设备可以确定应用数据将要被共享的可能性。如果可能性超过阈值,第一设备可以自动发起应用数据的传输。在一些实施例中,第一设备可以利用预测模型来确定应用数据将被共享的可能性。例如,第一设备可以获取与使用应用数据的应用有关的使用信息和第一设备的状态信息。第一设备可以获取与该应用相关联的预测模型。第一设备可以至少以使用信息和状态信息作为输入,根据预测模型,确定可能性。在一
些实施例中,预测模型可以是在第一设备处被训练的。例如,第一设备可以获取与该应用有关的历史使用信息、第一设备的历史状态信息以及关于是否共享应用数据的历史用户选择。第一设备可以通过将历史使用信息、历史状态信息作为输入并且将历史用户选择作为输出,训练预测模型。
[0136]
在一些实施例中,第一设备可以提供与是否在第一设备与第二设备之间共享应用数据有关的提示。第一设备可以接收针对提示的用户输入。如果用户输入指示在第一设备与第二设备之间共享应用数据,第一设备可以自动发起应用数据的传输。
[0137]
在一些实施例中,在共享前,应用数据由第一设备使用来提供服务。第一设备可以向第二设备发送应用数据,第二设备使用应用数据来提供服务。在一些实施例中,如果确定应用数据被成功发送,第一设备可以停止使用应用数据来提供服务。
[0138]
在一些实施例中,在共享前,应用数据由所述第二设备使用来提供服务。第一设备可以向第二设备发送针对应用数据的请求。第一设备可以从第二设备接收应用数据,并且使用应用数据来提供服务。
[0139]
在一些实施例中,服务可以包括以下至少一项:导航服务,音频播放服务,视频播放服务,文本编辑服务,文档浏览服务,音频通话服务,或,视频通话服务。
[0140]
图12示出了根据本公开的实施例的示例装置1200的框图。例如,装置1200可以用于实现如图1、图2和图3所示的移动设备110或者移动设备110的一部分。
[0141]
如图12所示,装置1200包括:连接建立单元1205,被配置为在第一设备处与第二设备建立通信连接;信息获取单元1210,被配置为获取第二设备的设备信息;共享判断单元1220,被配置为基于设备信息,确定是否适于在第一设备与第二设备之间共享应用数据;以及传输发起单元1230,被配置为如果确定适于在第一设备与第二设备之间共享应用数据,在第一设备与第二设备之间,自动发起应用数据的传输。例如,信息获取单元1210可以被实现为图3所示的信息获取子模块312,共享判断单元1220可以被实现为图3中所示的决策子模块313,传输发起单元1230可以被实现为图2中所示的共享接口220。
[0142]
在一些实施例中,传输发起单元1230包括:可能性确定单元,被配置为确定应用数据将要被共享的可能性;以及可能性判断单元,被配置为如果可能性超过阈值,自动发起应用数据的传输。
[0143]
在一些实施例中,可能性确定单元包括:输入信息获取单元,被配置为获取与使用应用数据的应用有关的使用信息和第一设备的状态信息;模型获取单元,被配置为获取与应用相关联的预测模型;以及模型利用单元,被配置为至少以使用信息和状态信息作为输入,根据预测模型,确定可能性。
[0144]
在一些实施例中,模型获取单元包括:历史信息获取单元,被配置为获取与应用有关的历史使用信息、第一设备的历史状态信息以及关于是否共享应用数据的历史用户选择;以及模型训练单元,被配置为通过将历史使用信息、历史状态信息作为输入并且将历史用户选择作为输出,训练预测模型。
[0145]
在一些实施例中,传输发起单元1230包括:提示提供单元,被配置为提供与是否在第一设备与第二设备之间共享应用数据有关的提示;输入接收单元,被配置为接收针对提示的用户输入;以及输入判断单元,被配置为如果用户输入指示在第一设备与第二设备之间共享应用数据,自动发起应用数据的传输。
[0146]
在一些实施例中,共享判断单元1220包括:第一判断单元,被配置为响应于在第一设备处运行的第一应用正在使用应用数据来提供服务,确定第二设备的设备类型是否属于与服务相对应的预设设备类型;第二判断单元,被配置为如果确定第二设备的设备类型属于预设设备类型,确定第二设备是否具有与第一应用相同类型的第二应用;以及第三判断单元,被配置为如果确定第二设备具有第二应用,确定适于将应用数据共享给第二设备。
[0147]
在一些实施例中,共享判断单元1220包括:第四判断单元,被配置为响应于用于提供服务的第三应用在第一设备处被启用,确定第二设备的设备类型是否属于与服务相对应的预设设备类型;第五判断单元,被配置为如果确定第二设备的设备类型属于预设设备类型,确定第二设备处与第三应用相同类型的第四应用是否正在使用应用数据来提供服务;以及第六判断单元,被配置为如果确定第四应用正在使用应用数据,确定适于将应用数据从第二设备共享给第一设备。
[0148]
在一些实施例中,在共享前应用数据由第一设备使用来提供服务。传输发起单元1230包括:应用数据发送单元,被配置为自动向第二设备发送应用数据,以使第二设备能够使用应用数据来提供服务。
[0149]
在一些实施例中,装置1200还包括:服务停止单元,被配置为如果确定应用数据被成功发送,停止使用应用数据来提供服务。
[0150]
在一些实施例中,在共享前应用数据由第二设备使用来提供服务。传输发起单元1230包括:请求发送单元,被配置为向第二设备发送针对应用数据的请求;数据接收单元,被配置为从第二设备接收应用数据;以及服务提供单元,被配置为使用应用数据来提供服务。
[0151]
应当理解,装置1200可对应于前述实施例中由第一设备执行的方法。第一设备例如是如图1、图2和图3所示的移动设备110。装置1200中的各个单元的操作和特征分别为了实现前述实施例中由第一设备执行的方法的相应步骤,并且具有同样的有益效果。出于简化的目的,具体细节不再赘述。
[0152]
图13示出了适合实现本公开的实施例的示例设备1300的框图。例如,如图1、图2和图3所示的移动设备110可以由设备1300实施。如图13所示,设备1300包括中央处理单元(cpu)1301,其可以根据存储在只读存储器(rom)1302中的计算机程序指令或者从存储单元1308加载到随机访问存储器(ram)1303中的计算机程序指令,来执行各种适当的动作和处理。在ram 1303中,还可存储设备1300操作所需的各种程序和数据。cpu 1301、rom 1302以及ram 1303通过总线1304彼此相连。输入/输出(i/o)接口1305也连接至总线1304。
[0153]
设备1300中的多个部件连接至i/o接口1305,包括:输入单元1306,例如键盘、鼠标等;输出单元1307,例如各种类型的显示器、扬声器等;存储单元1308,例如磁盘、光盘等;以及通信单元1309,例如网卡、调制解调器、无线通信收发机等。通信单元1309允许设备1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0154]
上文所描述的各个过程和处理,例如方法1100,可由处理单元1301执行。例如,在一些实施例中,方法1100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实施例中,计算机程序的部分或者全部可以经由rom 1302和/或通信单元1309而被载入和/或安装到设备1300上。当计算机程序被加载到ram 1303并由cpu1301执行时,可以执行上文描述的方法1100的一个或多个动作。
[0155]
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
[0156]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0157]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0158]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0159]
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0160]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方
框中规定的功能/动作的各个方面的指令。
[0161]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0162]
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0163]
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献