数据传输方法、系统、电子设备及存储介质转让专利

申请号 : CN202011004922.1

文献号 : CN114301899B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵永杰徐蓓

申请人 : 荣耀终端有限公司

摘要 :

本申请公开了一种数据传输方法、系统、电子设备及存储介质,涉及电子设备领域。该方法应用于第一终端,第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用。该方法包括:第一终端显示第一应用的第一界面,第一界面中包括第一文件的标识。响应于检测到用户对第一文件的标识的第一输入,第一终端向第二终端发送第二应用的标识和第一文件。第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。第一终端传输第一文件到第二终端时,第二终端可以在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间,能够减少用户对第二应用的操作。

权利要求 :

1.一种数据传输方法,其特征在于,应用于第一终端,所述第一终端与第二终端连接,所述第一终端包括第一应用,所述第二终端包括与所述第一应用对应的第二应用;所述第一终端部署有第一系统中间件服务,所述第一系统中间件服务具有代理所述第一应用发送文件的权限;所述方法包括:所述第一终端显示所述第一应用的第一界面,所述第一界面中包括第一文件的标识;

响应于检测到用户对所述第一文件的标识的第一输入,所述第一终端向所述第二终端发送所述第二应用的标识和所述第一文件,其中,所述第二应用的标识和所述第一文件用于指示所述第二终端在不运行所述第二应用的情况下,将所述第一文件存储到所述第二应用的存储空间;

所述第一终端向所述第二终端发送所述第二应用的标识和所述第一文件,包括:所述第一终端通过所述第一系统中间件服务,向所述第二终端发送所述第二应用的标识和所述第一文件;

所述方法还包括:

所述第一终端显示所述第一应用的第二界面,所述第二界面中包括与所述第一应用对应的应用的标识,与所述第一应用对应的应用的标识包括所述第二应用的标识;

响应于检测到用户对所述第二应用的标识的第二输入,所述第一终端在所述第一系统中间件服务中注册所述第一系统中间件服务代理所述第一应用发送文件的权限,在所述第一系统中间件服务中生成所述第一应用的注册信息,所述第一应用的注册信息包括所述第二应用的信息。

2.根据权利要求1所述的方法,其特征在于,所述第一终端通过所述第一系统中间件服务,向所述第二终端发送所述第二应用的标识和所述第一文件之前,所述方法还包括:所述第一终端通过所述第一系统中间件服务,向所述第二终端发送初始化连接信息,所述初始化连接信息包括所述第一应用的信息;

所述第一终端接收来自所述第二终端根据所述第一应用的信息返回的初始化连接结果。

3.根据权利要求2所述的方法,其特征在于,所述第一终端通过所述第一系统中间件服务,向所述第二终端发送初始化连接信息之前,所述方法还包括:所述第一终端通过所述第一系统中间件服务,向所述第二终端发送初始化连接请求;

所述第一终端接收来自所述第二终端的确认消息。

4.根据权利要求1‑3任一项所述的方法,其特征在于,所述方法还包括:所述第一终端向所述第二终端发送所述第二应用的标识和所述第一文件时,向所述第二终端发送所述第一文件在所述第二应用的存储空间中的目标存储路径和目标存储名称。

5.根据权利要求1‑3任一项所述的方法,其特征在于,所述第二应用与所述第一应用对应,包括:所述第二应用和所述第一应用是适配于不同终端版本的同一应用;

或,所述第二应用和所述第一应用是具有预配置的对应关系的不同应用。

6.一种数据传输系统,其特征在于,至少包括第一终端和第二终端;所述第一终端与所述第二终端连接,所述第一终端包括第一应用,所述第二终端包括与所述第一应用对应的第二应用;

所述第一终端和所述第二终端配合实现如权利要求1‑5任一项所述的方法。

7.一种电子设备,其特征在于,包括:处理器,用于存储所述处理器可执行指令的存储器;

所述处理器被配置为执行所述指令时,使得所述电子设备实现如权利要求1‑5任一项所述的方法。

8.一种计算机可读存储介质,其上存储有计算机程序指令;其特征在于,当所述计算机程序指令被电子设备执行时,使得电子设备实现如权利要求1‑5任一项所述的方法。

说明书 :

数据传输方法、系统、电子设备及存储介质

技术领域

[0001] 本申请实施例涉及电子设备领域,尤其涉及一种数据传输方法、系统、电子设备及存储介质。

背景技术

[0002] 用户通常有多个终端,例如:手机,手表,平板(pad)等。每个终端都可以安装应用程序(application,App),如:运动App、音频App等。一些基本主流的App在不同终端上都可以进行安装。前述不同终端上的App之间经常有通信或交互数据的需求。
[0003] 以终端A的App向终端B的App发送文件P为例,目前针对不同终端上的App之间交互数据的场景,主要有以下两种数据传输方案。第一种数据传输方案中,用户可以通过终端A将文件P先上传至服务器。然后,用户可以通过终端B将文件P从服务器中下载至终端B的App中。第二种数据传输方案中,终端A的App和终端B的App可以为基于点对点技术的即时通讯软件。终端A的App和终端B的App之间可以通过网络进行通信。用户可以先通过终端A的App将文件P上传至云服务器侧。然后,云服务器侧可以推送文件P至终端B的App。用户可以打开终端B的App,以查看和接收文件P。
[0004] 上述目前针对不同终端上的App之间交互数据的场景的数据传输方案中,当终端A的App向终端B中的App传输数据时,终端A的App和终端B中的App都需要运行。对于很多终端而言,其运行的操作系统对App后台运行的限制较为严格,App一般无法被终端的操作系统自动拉起运行。所以,终端A的App和终端B中的App都进行运行,是需要用户分别在终端A和终端B上都进行操作才能实现的。这导致不同终端上的App之间交互数据时,数据传输过程操作复杂、耗时长,影响了用户使用终端A的App向终端B的App发送数据过程中的使用体验。

发明内容

[0005] 本申请实施例提供一种数据传输方法、系统、电子设备及存储介质,可以适用于不同终端上的App之间交互数据的场景,简化数据传输过程,减少数据传输的消耗时长,提高用户的使用体验。
[0006] 第一方面,本申请实施例提供一种数据传输方法,应用于第一终端,第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用;所述方法包括:第一终端显示第一应用的第一界面,第一界面中包括第一文件的标识;响应于检测到用户对第一文件的标识的第一输入,第一终端向第二终端发送第二应用的标识和第一文件,其中,第二应用的标识和第一文件用于指示第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
[0007] 该方法中,第一终端的第一应用传输第一文件到第二终端的第二应用时,第二终端可以在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间,能够减少用户对第二应用的操作,简化了第一应用和第二应用之间的数据传输过程,并可以减少数据传输的消耗时长,能够提高用户体验。
[0008] 在一种可能的设计中,第一终端部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用发送文件的权限;第一终端向第二终端发送第二应用的标识和第一文件,包括:第一终端通过第一系统中间件服务,向第二终端发送第二应用的标识和第一文件。
[0009] 在一种可能的设计中,第一终端通过第一系统中间件服务,向第二终端发送第二应用的标识和第一文件之前,所述方法还包括:第一终端通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;第一终端接收来自第二终端根据第一应用的信息返回的初始化连接结果。
[0010] 例如,初始化连接结果包括:初始化成功或初始化失败。
[0011] 本设计中,当初始化连接结果为初始化连接成功时,第一终端向第二终端发送第二应用的标识和第一文件。
[0012] 在一种可能的设计中,第一终端通过第一系统中间件服务,向第二终端发送初始化连接信息之前,所述方法还包括:第一终端通过第一系统中间件服务,向第二终端发送初始化连接请求;第一终端接收来自第二终端的确认消息。
[0013] 本设计中,第一终端和终端可以在建立初始化连接之前,实现一个握手连接的过程,提高初始化连接的成功概率。
[0014] 在一种可能的设计中,所述方法还包括:第一终端向第二终端发送第二应用的标识和第一文件时,向第二终端发送第一文件在第二应用的存储空间中的目标存储路径和目标存储名称。
[0015] 本设计中,第二终端在存储第一文件时,可以根据第一终端指示的目标存储路径和目标存储名称进行存储。
[0016] 在一种可能的设计中,所述方法还包括:第一终端显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;响应于检测到用户对第二应用的标识的第二输入,第一终端在第一系统中间件服务中注册第一系统中间件服务代理第一应用发送文件的权限,在第一系统中间件服务中生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
[0017] 在一种可能的设计中,第二应用与第一应用对应,包括:第二应用和第一应用是适配于不同终端版本的同一应用;和/或,第二应用和第一应用是具有预配置的对应关系的不同应用。
[0018] 例如,假设第一应用为M1,则第一应用可以是手机版M1,第二应用可以是手表版M1。或者,第一应用为M2,第二应用也可以为M3,M2和M3具有预配置的对应关系。
[0019] 第二方面,本申请实施例提供一种装置,该装置可以应用于具有上述第一方面中所述的第一终端,用于实现上述第一方面所述的应用于第一终端的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,显示模块、处理模块等。
[0020] 其中,显示模块用于显示第一应用的第一界面,第一界面中包括第一文件的标识;处理模块用于响应于检测到用户对第一文件的标识的第一输入,向第二终端发送第二应用的标识和第一文件,其中,第二应用的标识和第一文件用于指示第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。例如,处理模块中可以包括一个单独的发送子模块,实现发送功能。
[0021] 在一种可能的设计中,处理模块部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用发送文件的权限;处理模块具体用于通过第一系统中间件服务,向第二终端发送第二应用的标识和第一文件。
[0022] 在一种可能的设计中,处理模块还用于通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;接收来自第二终端根据第一应用的信息返回的初始化连接结果,例如,处理模块中可以包括一个单独的接收子模块,实现接收功能。
[0023] 在一种可能的设计中,处理模块还用于通过第一系统中间件服务,向第二终端发送初始化连接请求;接收来自第二终端的确认消息。
[0024] 在一种可能的设计中,处理模块还用于向第二终端发送第二应用的标识和第一文件时,向第二终端发送第一文件在第二应用的存储空间中的目标存储路径和目标存储名称。
[0025] 在一种可能的设计中,显示模块还用于显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;处理模块还用于响应于检测到用户对第二应用的标识的第二输入,在第一系统中间件服务中注册第一系统中间件服务代理第一应用发送文件的权限,在第一系统中间件服务中生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
[0026] 在一种可能的设计中,第二应用与第一应用对应,包括:第二应用和第一应用是适配于不同终端版本的同一应用;和/或,第二应用和第一应用是具有预配置的对应关系的不同应用。
[0027] 第三方面,本申请实施例提供一种电子设备,该电子设备可以是上述第一终端。该电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第一方面所述的方法。
[0028] 第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第一方面所述的方法。
[0029] 上述第二方面至第四方面所具备的有益效果,可参考第一方面中所述,在此不再赘述。
[0030] 第五方面,本申请实施例提供一种与第一方面相对应的数据传输方法,应用于第二终端,第二终端与第一终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用。所述方法包括:第二终端接收来自第一终端的第二应用的标识和第一文件;第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
[0031] 在一种可能的设计中,第二终端部署有第二系统中间件服务,第二系统中间件服务具有代理第二应用接收文件的权限;第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间,包括:第二终端通过第二系统中间件服务,在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
[0032] 在一种可能的设计中,所述方法还包括:第二终端显示第二应用的第三界面,第三界面中包括与第二应用对应的应用的标识,与第二应用对应的应用的标识包括第一应用的标识;响应于检测到用户对第一应用的标识的第三输入,第二终端在第二系统中间件服务中注册第二系统中间件服务代理第二应用接收文件的权限,生成第二应用的注册信息,第二应用的注册信息包括第一应用的信息。
[0033] 在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的初始化连接信息,初始化连接信息包括第一应用的信息;第二终端通过第二系统中间件服务,校验初始化连接信息包括的第一应用的信息与第二应用的注册信息包括的第一应用的信息是否一致,得到校验结果;第二终端根据校验结果,向第一终端返回初始化连接结果。
[0034] 例如,初始化连接结果包括:初始化成功或初始化失败。
[0035] 在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的初始化连接请求;第二终端向所述第一终端返回确认消息。
[0036] 在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的第一文件在第二应用的存储空间中的目标存储路径和目标存储名称;第二终端通过第二系统中间件服务,在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间,包括:第二终端根据目标存储路径和目标存储名称,通过第二系统中间件服务,在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
[0037] 在一种可能的设计中,第二应用与第一应用对应,包括:第二应用和第一应用是适配于不同终端版本的同一应用;和/或,第二应用和第一应用是具有预配置的对应关系的不同应用。
[0038] 上述第五方面所述的方法,对应于上述第一方面所述的方法,因此,第五方面所具备的有益效果,可参考第一方面中所述,在此不再赘述。
[0039] 第六方面,本申请实施例提供一种装置,该装置可以应用于具有上述第五方面中所述的第二终端,用于实现上述第五方面所述的应用于第二终端的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,显示模块、处理模块等,具体可以参考上述应用于第一终端的装置,在此不再一一赘述。
[0040] 第七方面,本申请实施例提供一种电子设备,该电子设备可以是上述第二终端。该电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第五方面所述的方法。
[0041] 第八方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第五方面所述的方法。
[0042] 上述第六方面至第八方面所具备的有益效果,可参考第五方面中所述,在此不再赘述。
[0043] 第九方面,本申请实施例还提供一种数据传输方法,应用于第一终端,第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用;所述方法包括:第一终端显示第一应用的第一界面,第一界面中包括用于实现文件读取的功能的第一标识;响应于检测到用户对第一标识的第一输入,第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,其中,第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取第一文件,并发送给第一终端;第一终端接收来自第二终端的第一文件。
[0044] 该方法中,第一终端的第一应用可以向第二终端发起读取第一文件的请求,第二终端可以在不运行第二应用的情况下,从第二应用的存储空间中读取第一文件,并发送给第一终端,同样能够减少用户对第二应用的操作,简化了第一应用和第二应用之间的数据传输过程,并可以减少数据传输的消耗时长,能够提高用户体验。
[0045] 在一种可能的设计中,第一终端部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用读取文件的权限;第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,包括:第一终端通过第一系统中间件服务,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
[0046] 在一种可能的设计中,所述方法还包括:第一终端显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;响应于检测到用户对第二应用的标识的第二输入,第一终端在第一系统中间件服务中注册第一系统中间件服务代理第一应用读取文件的权限,生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
[0047] 在一种可能的设计中,第一终端通过第一系统中间件服务,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识之前,所述方法还包括:第一终端通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;第一终端接收来自第二终端根据第一应用的信息返回的初始化连接结果。
[0048] 例如,初始化连接结果包括:初始化成功或初始化失败。
[0049] 本设计中,当初始化连接结果为初始化连接成功时,第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
[0050] 在一种可能的设计中,第一终端通过第一系统中间件服务,向第二终端发送初始化连接信息之前,所述方法还包括:第一终端通过第一系统中间件服务,向第二终端发送初始化连接请求;第一终端接收来自第二终端的确认消息。
[0051] 在一种可能的设计中,响应于检测到用户对第一标识的第一输入,第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,包括:响应于检测到用户对第一标识的第一输入,第一终端向第二终端发送文件查询信息,文件查询信息包括第二应用的标识,用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,并发送给第一终端;索引文件用于指示第二应用的存储空间中的文件清单信息;第一终端接收来自第二终端的索引文件;第一终端根据索引文件,在第一界面中显示第二应用的存储空间中的文件的标识,第二应用的存储空间中的文件的标识包括第一文件的标识;响应于检测到用户对第一文件的标识的第三输入,第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
[0052] 第十方面,本申请实施例提供一种装置,该装置可以应用于具有上述第九方面中所述的第一终端,用于实现上述第一方面所述的应用于第一终端的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,显示模块、处理模块等。
[0053] 其中,显示模块用于显示第一应用的第一界面,第一界面中包括用于实现文件读取的功能的第一标识;处理模块用于响应于检测到用户对第一标识的第一输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,其中,第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取第一文件,并发送给第一终端;处理模块还用于接收来自第二终端的第一文件。例如,处理模块可以包括一个单独的接收子模块,实现接收功能,以及包括一个单独的发送子模块,实现发送功能。
[0054] 在一种可能的设计中,处理模块部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用读取文件的权限;处理模块向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,包括:处理模块通过第一系统中间件服务,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
[0055] 在一种可能的设计中,显示模块还用于显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;处理模块还用于响应于检测到用户对第二应用的标识的第二输入,在第一系统中间件服务中注册第一系统中间件服务代理第一应用读取文件的权限,生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
[0056] 在一种可能的设计中,处理模块还用于通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;接收来自第二终端根据第一应用的信息返回的初始化连接结果。
[0057] 在一种可能的设计中,处理模块还用于通过第一系统中间件服务,向第二终端发送初始化连接请求;接收来自第二终端的确认消息。
[0058] 在一种可能的设计中,处理模块具体用于响应于检测到用户对第一标识的第一输入,向第二终端发送文件查询信息,文件查询信息包括第二应用的标识,用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,并发送给处理模块;索引文件用于指示第二应用的存储空间中的文件清单信息;接收来自第二终端的索引文件;根据索引文件,控制显示模块在第一界面中显示第二应用的存储空间中的文件的标识,第二应用的存储空间中的文件的标识包括第一文件的标识;响应于检测到用户对第一文件的标识的第三输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
[0059] 第十一方面,本申请实施例提供一种电子设备,该电子设备可以是上述第一终端。该电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第九方面所述的方法。
[0060] 第十二方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第九方面所述的方法。
[0061] 上述第十方面至第十二方面所具备的有益效果,可参考第九方面中所述,在此不再赘述。
[0062] 第十三方面,本申请实施例提供一种与第九方面相对应的数据传输方法,应用于第二终端,第二终端与第一终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用。所述方法包括:第二终端接收来自第一终端的第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识;第二终端在不运行第二应用的情况下,根据第一文件在第二应用的存储空间中的存储路径和存储名称,从第二应用的存储空间中读取第一文件,并向第一终端发送第一文件。
[0063] 在一种可能的设计中,第二终端部署有第二系统中间件服务,第二系统中间件服务具有代理第二应用读取文件的权限;第二终端在不运行第二应用的情况下,根据第一文件在第二应用的存储空间中的存储路径和存储名称,从第二应用的存储空间中读取第一文件,并向第一终端发送第一文件,包括:第二终端通过第二系统中间件服务,在不运行第二应用的情况下,根据第一文件在第二应用的存储空间中的存储路径和存储名称,从第二应用的存储空间中读取第一文件,并向第一终端发送第一文件。
[0064] 在一种可能的设计中,所述方法还包括:第二终端显示第二应用的第三界面,第三界面中包括与第二应用对应的应用的标识,与第二应用对应的应用的标识包括第一应用的标识;响应于检测到用户对第一应用的标识的第三输入,第二终端在第二系统中间件服务中注册第二系统中间件服务代理第二应用读取文件的权限,生成第二应用的注册信息,第二应用的注册信息包括第一应用的信息。
[0065] 在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的初始化连接信息,初始化连接信息包括第一应用的信息;第二终端通过第二系统中间件服务,校验初始化连接信息包括的第一应用的信息与第二应用的注册信息包括的第一应用的信息是否一致,得到校验结果;第二终端根据所述校验结果,向第一终端返回初始化连接结果。
[0066] 例如,初始化连接结果包括:初始化成功或初始化失败。
[0067] 在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的初始化连接请求;第二终端向第一终端返回确认消息。
[0068] 在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的文件查询信息,文件查询信息包括第二应用的标识;第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,索引文件用于指示第二应用的存储空间中的文件清单信息;第二终端向第一终端发送索引文件。
[0069] 上述第十三方面所述的方法,对应于上述第九方面所述的方法,因此,第十三方面所具备的有益效果,可参考第九方面中所述,在此不再赘述。
[0070] 第十四方面,本申请实施例提供一种装置,该装置可以应用于具有上述第十三方面中所述的第二终端,用于实现上述第十三方面所述的应用于第二终端的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,显示模块、处理模块等,具体可以参考上述应用于第一终端的装置,在此不再一一赘述。
[0071] 第十五方面,本申请实施例提供一种电子设备,该电子设备可以是上述第二终端。该电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第十三方面所述的方法。
[0072] 第十六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第十三方面所述的方法。
[0073] 上述第十四方面至第十六方面所具备的有益效果,可参考第十三方面中所述,在此不再赘述。
[0074] 第十七方面,本申请实施例提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现前述第一方面、第五方面、第九方面、以及第十三方面中的任一方面所述的方法。
[0075] 第十八方面,本申请实施例提供一种数据传输系统,至少包括第一终端和第二终端;第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用;第一终端和第二终端配合实现前述第一方面、第五方面、第九方面、以及第十三方面中的任一方面所述的方法。
[0076] 可选地,该数据传输系统中还可以包括更多的终端,如:第三终端、第四终端等,任意两个终端的应用之间进行交互数据时,均可以参照前述第一终端和第二终端的应用之间交互数据的方式。
[0077] 上述第十七方面至第十八方面所具备的有益效果,可参考前述第一方面、第五方面、第九方面、以及第十三方面中所述,在此不再赘述。
[0078] 应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。

附图说明

[0079] 图1示出了不同终端上的App之间交互数据的一种示意图;
[0080] 图2示出了不同终端上的App之间交互数据的另一种示意图;
[0081] 图3示出了本申请实施例提供的一种系统架构示意图;
[0082] 图4示出了本申请实施例提供的一种终端设备的结构示意图;
[0083] 图5示出了本申请实施例提供的一种终端的软件架构示意图;
[0084] 图6示出了一种App的安装完成界面示意图;
[0085] 图7示出了本申请实施例中第一App和第二App建立初始化连接的流程示意图;
[0086] 图8示出了一种第一App的显示界面示意图;
[0087] 图9示出了另一种第一App的显示界面示意图;
[0088] 图10示出了又一种第一App的显示界面示意图;
[0089] 图11示出了又一种第一App的显示界面示意图;
[0090] 图12示出了又一种第一App的显示界面示意图;
[0091] 图13示出了本申请实施例中第一App向第二App发送文件的流程示意图;
[0092] 图14示出了又一种第一App的显示界面示意图;
[0093] 图15示出了又一种第一App的显示界面示意图;
[0094] 图16示出了又一种第一App的显示界面示意图;
[0095] 图17示出了又一种第一App的显示界面示意图;
[0096] 图18示出了本申请实施例中第一App从第二App读取文件的流程示意图;
[0097] 图19示出了又一种第一App的显示界面示意图;
[0098] 图20示出了又一种第一App的显示界面示意图;
[0099] 图21示出了本申请实施例中第一App确定目标业务文件的流程示意图;
[0100] 图22示出了一种装置的结构示意图。

具体实施方式

[0101] 用户通常有多个终端,例如:手机,手表,平板(pad)等。每个终端都可以安装应用程序(application,App),如:运动App、音频App等。一些基本主流的App在不同终端上都可以进行安装。
[0102] 不同终端上的App之间经常有通信或交互数据的需求。例如,用户在手机上安装了运动App,手表上也安装了运动App。当用户佩戴了手表,在打开手表上的运动App的情况下进行户外运动时,手表上的运动App会记录运动数据并存储。运动结束之后,用户可能需要把手表上运动App记录的运动数据同步到手机上的运动App中。
[0103] 又例如,手机上安装了音频App,手表上也安装了音频App。当用户想使用手表的音频App进行独立音乐播放时,可能需要先打开手机的音频App,将需要播放的音频文件传输到手表上,以便通过手表的音频App进行音乐播放。
[0104] 目前,针对上述不同终端上的App之间交互数据的场景,主要有以下两种数据传输方案。
[0105] 图1示出了不同终端上的App之间交互数据的一种示意图。如图1所示,以终端A的App向终端B中的App传输文件P为例。第一种数据传输方案中,用户可以通过终端A将文件P先上传至服务器。如:可以基于文件传输协议(file transfer protocol,FTP)、邮件(email)等相关技术,通过终端A的App将文件P上传至服务器。然后,用户可以通过终端B将文件P从服务器中下载至终端B的App中,从而实现终端A的App向终端B中的App传输文件P。
[0106] 图2示出了不同终端上的App之间交互数据的另一种示意图。如图2所示,同样以终端A的App向终端B中的App传输文件P为例。第二种数据传输方案中,终端A的App和终端B的App可以为基于点对点技术的即时通讯软件。终端A的App和终端B的App之间可以通过网络进行通信。用户可以先通过终端A的App将文件P上传至云服务器侧。然后,云服务器侧可以推送文件P至终端B的App。用户可以打开终端B的App,以查看和接收文件P。
[0107] 可以看到,目前针对不同终端上的App之间交互数据的场景的数据传输方案中,当终端A的App向终端B中的App传输数据时,终端A的App和终端B中的App都需要运行。对于很多终端而言,其运行的操作系统对App后台运行的限制较为严格,App一般无法被终端的操作系统自动拉起运行。所以,终端A的App和终端B中的App都进行运行,是需要用户分别在终端A和终端B上都进行操作才能实现的。这导致不同终端上的App之间交互数据时,数据传输过程操作复杂、耗时长,影响了用户使用终端A的App向终端B的App发送数据过程中的使用体验。
[0108] 另外,对于第一种数据传输方案而言,文件P经过服务器并被保存在服务器,可能还会存在隐私、数据安全等问题。对于第二种数据传输方案而言,即时通讯软件必须支持账号多点登录,如:可以同时登录电脑和手机,或者,用户必须注册两个账号分别登录到终端A的App和终端B的App。
[0109] 另外,上述目前针对不同终端上的App之间交互数据的场景的数据传输方案,均只能够适用于不同终端上的同一种App之间交互数据。例如,前述提到的手机的运动App和手表的运动App之间交互数据,手机的音频App和手表的音频App之间交互数据等。而对于不同终端上的不同App之间需要交互数据的场景,目前的数据传输方案并不能够满足。例如,若手表上安装了2个视频App:M1和M2,手机上也安装了2个视频App:M1和M2,则目前的数据传输方案只能够满足手机上的M1和手表上的M1之间进行交互数据,以及手机上的M2和手表上的M2之间进行交互数据,并不能够满足手机上的M1和手表上的M2之间进行交互数据,以及手机上的M2和手表上的M1之间进行交互数据。
[0110] 在此背景技术下,本申请实施例提供了一种数据传输方法,该方法可以应用于不同终端的App之间进行数据传输的场景中。例如,可以应用于多个协同使用的终端中,任意两个终端的App之间进行数据传输的场景。该方法中,每个终端具有代理该终端的App的文件操作的功能。App的文件操作是指:App发送文件、App接收文件、App存储文件等。也即,本申请实施例中,每个终端具有代理该终端的App进行发送文件、接收文件、存储文件等的功能。
[0111] 当某个终端的App需要向对端终端的App发送文件时,该终端所具备的代理App的文件操作的功能,能够代理该终端的App向对端终端发送文件。对端终端所具备的代理App的文件操作的功能,能够代理对端终端的App接收该文件,并存储在对端终端的App的存储空间中,如:存储到对端终端的App的数据目录下。由于对端终端所具备的代理App的文件操作的功能,代理了对端终端的App接收该文件,所以,对端终端的App无需打开。
[0112] 以终端1的App1与终端2的App2交互数据为例,终端1具有代理App1向终端2的App2发送文件的功能,终端2具有代理App2接收来自终端1的文件的功能,如:可以代理App2接收文件,并将接收到的文件存储至App2的数据目录下。另外,终端2也具有代理App2向终端1的App1发送文件的功能,终端1也具有代理App1接收来自终端2的文件的功能,如:可以代理App1接收文件,并将接收到的文件存储至App1的数据目录下。该示例中,当终端1的App1向终端2的App2发送文件时,APP2无需打开。当终端2的App2向终端1的App1发送文件时,APP1无需打开。
[0113] 在一种可能的设计中,上述提到的终端所具有的代理该终端的App的文件操作的功能,可以通过在该终端上部署一个系统中间件服务来实现。例如,每个终端上可以部署有系统中间件服务,该系统中间件服务用于实现该终端代理App的文件操作的功能。也即,每个终端上的系统中间件服务可以代理该终端的App的文件操作。
[0114] 以终端1部署有系统中间件服务1,终端2部署有系统中间件服务2为例,当终端1的App和终端2的App之间文件传输时,终端1可以在终端1的App未打开的情况下,通过系统中间件服务1,接收终端2通过系统中间件服务2发送的终端2的App的文件,并存储到终端1的App中。终端1也可以在终端1的App未打开的情况下,读取终端1的App的文件,并通过系统中间件服务1发送给终端2,终端2可以通过系统中间件服务2接收该文件,并存储到终端2的App中。
[0115] 另外,本申请实施例提供的该数据传输方法并不限定跨终端的App进行文件传输中,两个终端之间进行数据传输的App是否是同一种App。也即,该数据传输方法既适用于不同终端上的同一种App之间交互数据,也适用于不同终端上的不同App之间交互数据。
[0116] 以下结合附图对本申请实施例提供的数据传输方法进行示例性说明。
[0117] 需要说明的是,在本申请的描述中,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样仅仅是为了区分描述,并不用于对某个特征的特别限定,即第一或者第二可以包括更多的内容,而不是限定是某一具体的概念。“和/或”用于描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中“至少一个”是指一个或者多个,多个是指两个或两个以上。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明申请。
[0118] 另外,本申请在下述实施例中,虽然是以通过在终端上部署一个系统中间件服务,来实现该终端代理该终端的App的文件操作的功能进行描述的。但是应当理解,在其他实施例中,该终端代理该终端的App的文件操作的功能,也可以通过其他服务或某个应用实现,本申请对此并不作限制。
[0119] 本申请实施例提供一种可以应用上述数据传输方法的系统架构,图3示出了本申请实施例提供的一种系统架构示意图。如图3所示,该系统架构至少可以包括:第一终端301和第二终端302。其中,第一终端301和第二终端302可通过有线或无线的方式建立连接。
[0120] 可选地,第一终端301和第二终端302采用无线方式建立连接时采用的无线通信协议可以为无线保真(wireless fidelity,Wi‑Fi)协议、蓝牙(bluetooth)协议、ZigBee协议、近距离无线通信(near field communication,NFC)协议,各种蜂窝网协议等,在此不作具体限制。
[0121] 在具体实现时,上述第一终端301和/或第二终端302,可以为手机,平板电脑,手持计算机,PC,蜂窝电话,个人数字助理(personal digital assistant,PDA),可穿戴式设备(如:智能手表、智能手环),智能家居设备(如:电视机),车机(如:车载电脑),智慧屏,游戏机,耳机,人工智能(artificial intelligence,AI)音箱、以及增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备等,本实施例对第一终端301和第二终端302的具体设备形态不作特殊限制。
[0122] 可选地,在一些实施例中,第一终端301和第二终端302的设备形态可以相同。例如,第一终端301和第二终端302均为手机。
[0123] 或者,另外一些实施例中,第一终端301和第二终端302的设备形态也可以不同。例如,第一终端301可以手机,第二终端302可以为手表。
[0124] 上述第一终端301和第二终端302可以是触屏设备,也可以是非触屏设备。在本申请本实施例中,第一终端301和第二终端302均是可以运行操作系统,安装App的终端。
[0125] 可选地,上述第一终端301和第二终端302还可以具有显示器(或者说显示屏)。
[0126] 可选地,第一终端301和/或第二终端302的操作系统,可以是安卓TM(android)系TM TM TM TM TM统、ios 系统、windows 系统、mac 系统、linux 系统等。更具体的,还可以小米 系统、TM TM TM TM TM
EMUI 系统、Android Wear 系统、Lite OS 、Tizen 系统、watch os 系统等。
[0127] 一些实施例中,第一终端301和第二终端302的操作系统可以相同。另外一些实施例中,第一终端301和第二终端302的操作系统也可以不同。对第一终端301和/或第二终端302的操作系统,本申请实施例在此不作具体限制。
[0128] 作为一种示例,第一终端301,第二终端302分别可以包括存储器,处理器和显示器。其中,存储器可以用于存储操作系统,处理器可以用于运行存储器中存储的操作系统。显示器可以用于显示各种用户界面(user interface,UI),如对应终端上安装的App的应用界面、以及操作系统的用户交互界面。
[0129] 以(如:上述第一终端301、第二终端302)为手机为例,图4示出了本申请实施例提供的一种终端设备的结构示意图。也即,示例性的,图4所示的终端设备可以是手机。
[0130] 如图4所示,手机可以包括处理器410,外部存储器接口420,内部存储器421,通用串行总线(universal serial bus,USB)接口430,充电管理模块440,电源管理模块441,电池442,天线1,天线2,无线通信模块460,音频模块470,扬声器470A,受话器470B,麦克风470C,耳机接口470D,传感器模块480,按键490,马达491,指示器492,摄像头493以及显示屏
494等。
[0131] 可选地,手机还可以包括移动通信模块450,用户标识模块(subscriber identification module,SIM)卡接口495等。
[0132] 其中,传感器模块480可以包括压力传感器480A,陀螺仪传感器480B,气压传感器480C,磁传感器480D,加速度传感器480E,距离传感器480F,接近光传感器480G,指纹传感器
480H,温度传感器480J,触摸传感器480K,环境光传感器480L,骨传导传感器480M等。
[0133] 可以理解的是,图4所示的结构并不构成对手机的具体限定。在一些实施例中,手机也可以包括比图4所示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置等。又或者,图4所示的一些部件可以以硬件,软件或软件和硬件的组合实现。
[0134] 处理器410可以包括一个或多个处理单元,例如:处理器410可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural‑network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0135] 处理器410中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器410中的存储器为高速缓冲存储器。该存储器可以保存处理器410刚用过或循环使用的指令或数据。如果处理器410需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器410的等待时间,因而提高了系统的效率。
[0136] 在一些实施例中,处理器410可以包括一个或多个接口。接口可以包括集成电路(inter‑integrated circuit,I2C)接口,集成电路内置音频(inter‑integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general‑purpose input/output,GPIO)接口,SIM接口,和/或USB接口等。
[0137] 充电管理模块440用于从充电器接收充电输入。充电管理模块440为电池442充电的同时,还可以通过电源管理模块441为手机供电。电源管理模块441用于连接电池442,充电管理模块440,以及处理器410。电源管理模块441也可接收电池442的输入为手机供电。
[0138] 手机的无线通信功能可以通过天线1,天线2,移动通信模块450,无线通信模块460,调制解调处理器以及基带处理器等实现。
[0139] 天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0140] 当手机包括移动通信模块450时,移动通信模块450可以提供应用在手机上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块450可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块450可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块450还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块450的至少部分功能模块可以被设置于处理器410中。在一些实施例中,移动通信模块450的至少部分功能模块可以与处理器410的至少部分模块被设置在同一个器件中。
[0141] 调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器470A,受话器470B等)输出声音信号,或通过显示屏494显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器410,与移动通信模块450或其他功能模块设置在同一个器件中。
[0142] 无线通信模块460可以提供应用在手机上的包括无线局域网(wireless local area networks,WLAN)(如Wi‑Fi网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块460可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块460经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器410。无线通信模块460还可以从处理器410接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0143] 在一些实施例中,手机的天线1和移动通信模块450耦合,天线2和无线通信模块460耦合,使得手机可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time‑division code division multiple access,TD‑SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi‑zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
[0144] 手机通过GPU,显示屏494,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏494和应用处理器。处理器410可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0145] 显示屏494用于显示图像,视频等。显示屏494包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light‑emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light‑emitting diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,手机可以包括1个或N个显示屏494,N为大于1的正整数。
[0146] 手机可以通过ISP,摄像头493,视频编解码器,GPU,显示屏494以及应用处理器等实现拍摄功能。在一些实施例中,手机可以包括1个或N个摄像头493,N为大于1的正整数。
[0147] 外部存储器接口420可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口420与处理器410通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0148] 内部存储器421可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器410通过运行存储在内部存储器421的指令,从而执行手机的各种功能应用以及数据处理。内部存储器421可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器421可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
[0149] 手机可以通过音频模块470,扬声器470A,受话器470B,麦克风470C,耳机接口470D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0150] 当然,可以理解的,上述图4所示仅仅为终端的设备形态为手机时的示例性说明。若终端是平板电脑,手持计算机,PC,PDA,可穿戴式设备(如:智能手表、智能手环),智能家居设备(如:电视机),车机(如:车载电脑),智慧屏,游戏机,耳机,AI音箱、以及AR/VR设备等其他设备形态时,终端的结构中可以包括比图4中所示更少的结构,也可以包括比图4中所示更多的结构,在此不作限制。
[0151] 本申请实施例中,图3中所示的第一终端301和第二终端302中分别部署有系统中间件服务,如:第一终端301部署有第一系统中间件服务,第二终端302中部署有第二系统中间件服务。第一终端301安装有一个或多个App,第二终端302安装有一个或多个App。
[0152] 系统中间件服务的部署可以参考图5所示,图5示出了本申请实施例提供的一种终端的软件架构示意图。如图5所示,终端(如:上述第一终端301和/或第二终端302)的软件架构可以包括:系统层和应用层。本申请实施例中,终端上的各个App部署于应用层,系统中间件服务部署于系统层。例如,第一系统中间件服务部署于第一终端的系统层,第二系统中间件服务部署于第二终端的系统层。
[0153] 在一些实施例中,终端上的App可以包括计算器,相册,短信息,音乐播放器,文件管理器,图库,浏览器,备忘录,新闻,视频播放器,邮件等。这些应用可以是终端的系统应用,也可以是第三方应用,本申请实施例在此不做具体限制。
[0154] 需要说明的是,本实施例示意的软件架构并不构成对第一终端301和第二终端302的具体限定。在另一些实施例中,第一终端301和/或第二终端302可以包括比图示更多或更少的层,本实施例在此并不做具体限制。
[0155] 结合上述图3所示的系统架构,以及上述图5所示的终端的软件架构,在本申请实施例中,当第一终端301的App需要向第二终端302的App发送某个文件时,第一终端301的App可以通过第一系统中间件服务,将文件发送给第二终端302的第二系统中间件服务。第二终端302的第二系统中间件服务可以将接收到的该文件存储至第二终端302的App中。该过程中,是由第二系统中间件服务代理第二终端302的App的文件操作,所以,第二终端302的App无需打开。
[0156] 或者,当第一终端301的App需要从第二终端302的App中读取某个文件时,第一终端301的App可以通过第一系统中间件服务,向第二终端302的第二系统中间件服务发送该文件的文件获取请求。第二终端302的第二系统中间件服务可以根据该文件获取请求,获取对应的文件并返回给第一终端301的第一系统中间件服务。第一终端301的第一系统中间件服务可以将接收到的该文件存储至第一终端301上的App中。该过程中,也是由第二系统中间件服务代理第二终端302的App的文件操作,所以,第二终端302的App也无需打开。
[0157] 另外,由于第一终端301的App和第二终端302的App之间交互数据时,是由各自对应的系统中间件服务代理文件操作,所以,无需限定第一终端301的App和第二终端302的App为同一种App。
[0158] 以下结合下述其他附图,以第一终端的App和第二终端的App之间,基于第一系统中间件服务和第二系统中间件服务交互数据为例,对该数据传输方法的具体实现进行详细介绍。
[0159] 需要说明的是,本申请实施例中,虽然是以第一终端的App和第二终端的App之间交互数据为例进行说明的。但是,应当理解,对于更多个终端相连的场景,其中任意两个终端的App之间交互数据,均能够使用本申请实施例提供的数据传输方法。换言之,上述图3所示的系统架构中,还可以包括除第一终端和第二终端之外的更多数量的终端,如:1个、2个、8个等,且这些终端中任意两个终端的App之间交互数据时,均是以类似于第一终端的App和第二终端的App之间交互数据的方式进行的。本申请对系统架构中包括的终端的数量也不作限制。
[0160] 例如,本申请实施例可以适用于一个主终端设备,如:手机,与其他周围设备,如:耳机、手表、PAD等进行连接的场景。这里,手机可以称为第一终端,耳机、手表、PAD等中的任何一个均可以称为第二终端。可选地,主终端设备可以和其他周围设备通过设备ID或其他字段进行绑定。
[0161] 本申请实施例中,第一终端上的App在安装或第一次运行之前,会调用第一系统中间件服务的注册代理文件应用程序接口(application program interface,API),完成本地注册,保证第一系统中间件服务可以替代该注册App进行文件读取和/或文件存储等文件操作。同样的,第二终端上的App在安装或第一次运行之前,需要调用第二系统中间件服务的注册代理文件API,完成本地注册,保证第二系统中间件服务可以替代该注册App进行文件读取与文件存储的操作。
[0162] 例如,当某个App初次安装时,终端可以在安装界面或安装完成界面显示设置选项,供用户选择终端的系统中间件服务可以代理该App与哪些对端App(对端App是指与该终端连接的其他终端的App,例如,对于第一终端而言,对端App是指第二终端的App)进行数据交互,以及可以代理该App进行文件操作的操作类型等,如:文件接收操作、文件发送操作。
[0163] 以手机上安装App:手机版M1为例,假设手机分别与手表、电视、以及平板电脑连接,当手机上安装手机版M1时,手机会向手表、电视、以及平板电脑分别发送一个检测请求,以检测手表是否安装有手表版M1,电视是否安装有电视版M1,平板电脑是否安装有电脑版M1。当手表安装有手表版M1时,会向手机返回手表版M1的信息。类似地,电视会向手机返回电视版M1的信息,平板电脑会向手机返回电脑版M1的信息。当然,若没有安装对应版本的M1,则无响应,或返回没有安装的相关信息。此时,手机可以获取到手表、电视、以及平板电脑上安装的对应版本的M1的信息。然后,手机可以在手机版M1的安装完成界面显示设置选项,如,安装完成界面中可以包括手表版M1、电视版M1、以及电脑版M1等的标识,供用户选择手机的系统中间件服务可以代理手机版M1与手表版M1、电视版M1、以及电脑版M1中的哪一个或哪几个进行数据交互。
[0164] 本申请实施例中,当第一终端为手机时,手机版M1可称为第一应用,手机版M1的安装完成界面可称为第二界面,手表版M1、电视版M1、以及电脑版M1等可称为第二应用,用户对第二应用的标识的操作可称为第二输入。类似地,第二终端(如:手表)上的M1的安装完成界面可称为第三界面,用户对第三界面中的第一应用的标识的操作可称为第三输入。
[0165] 下面结合图6对手机版M1的安装完成界面中显示的设置选项进行示例性说明。图6示出了一种App的安装完成界面示意图。如图6所示,当手机的App:M1完成安装时,会在安装完成界面中显示选择设备的选项,如:手表、电视、平板电脑。用户可以通过点击(或其他触控操作)选择手表、电视、以及平板电脑中的一个或多个,并点击下方的确定选项,进而选择手机的系统中间件服务可以代理手机版M1与手表版M1、电视版M1、以及电脑版M1中的哪一个或哪几个进行数据交互。例如,若用户选择了手表,并点击了确定,则表示选择手机的系统中间件服务可以代理手机版M1与手表版M1进行数据交互。
[0166] 当用户选择了手机的系统中间件服务可以代理手机版M1进行数据交互的对端App后,如:手表版M1。手机版M1会调用手机的系统中间件服务的注册代理文件API,完成本地注册。注册时,会填充如下内容:手表版M1的信息(如:手表版M1的包名、签名证书等)、文件信息(如:文件名称、文件格式等)、文件路径(如:手机版M1的数据目录中文件的存储目录)、操作权限(如:读取权限和写入权限)。
[0167] 也即,对于上述第一终端和第二终端而言,第一终端上的App在调用第一系统中间件服务的注册代理文件API,完成本地注册时,需要填充如下内容:对端App的信息(如:对端App的包名、签名证书等)、文件信息(如:文件名称、文件格式等)、文件路径(如:第一终端上的App的数据目录中文件的存储目录)、操作权限(如:读取权限和写入权限)。完成注册后,在第一系统中间件服务中会生成第一应用的注册信息,第一应用的注册信息包括前述填充的内容。其中,对第一终端而言,对端App即是指第二终端上的App。第一终端获取对端App的信息的过程,可以参考上述手机获取手表版M1的信息的示例。
[0168] 第二终端上的App在调用第二系统中间件服务的注册代理文件API,完成本地注册时,也需要填充如下内容:对端App的信息(如:对端App的包名、签名证书等)、文件信息(如:文件名称、文件格式等)、文件路径(如:第二终端上的App的数据目录中文件的存储目录)、操作权限(如:读取权限和写入权限)。完成注册后,在第二系统中间件服务中会生成第二应用的注册信息,第二应用的注册信息包括前述填充的内容。其中,对第二终端而言,对端App即是指第一终端上的App。第二终端获取对端App的信息的过程,也可以参考上述手机获取手表版M1的信息的示例。
[0169] 可选地,对任意一个终端而言,该终端上的App在进行上述注册过程时,可以填充一个或多个数量的对端App的信息,在此对对端App的数量不作限制。
[0170] 可选地,对于第一终端和/或第二终端而言,在完成某个App的注册时,所填充的对端App的信息,可以是与该注册App关联的对端App的信息,如:对端App与该注册App可以是不同设备中的不同版本,如:手机版和手表版。
[0171] 也即,本申请实施例中,第二应用与第一应用具有对应关系,如:第二应用和第一应用可以是适配于不同终端版本的同一应用。
[0172] 或者,也有一些实施例中,第二应用和第一应用也可以是具有预配置的对应关系的不同应用。例如,第一应用可以是手机中的M1,第二应用可以是手表中的M2。第二应用与第一应用之间预配置的对应关系可以是类似于如图6中所示,第一应用初次安装时,根据用户的选择操作所建立。或者,第二应用与第一应用之间预配置的对应关系也可以是由第一应用和第二应用的开发人员预先配置好的,在此不作限制。
[0173] 进一步,对于完成上述注册过程的第一终端上的App,以及第二终端上的App而言,二者之间交互数据的过程可以包括两部分,分别是建立初始化连接的过程和实际交互数据的过程。其中,交互数据的过程具体又可以包括如下两种场景:1)第一终端上的App发送文件给第二终端上的App,或者,第二终端上的App发送文件给第一终端上的App;2)第一终端上的App从第二终端上的App的数据目录中读取文件,或者,第二终端上的App从第一终端上的App的数据目录中读取文件。
[0174] 对于第一终端上的App和第二终端上的App实际交互数据的过程,下述实施例仅以第一终端上的App发送文件给第二终端上的App的场景,以及第一终端上的App从第二终端上的App的数据目录中读取文件的场景为例进行说明。但应当理解的是,本申请实施例中,第二终端上的App发送文件给第一终端上的App的场景,与第一终端上的App发送文件给第二终端上的App的场景类似。第二终端上的App从第一终端上的App的数据目录中读取文件的场景,与第一终端上的App从第二终端上的App的数据目录中读取文件的场景类似,本实施例未再赘述。
[0175] 另外,下述说明中,第一终端上的App称为第一App(或称为第一应用),第二终端上的App称为第二App(或称为第二应用)。
[0176] 首先,结合图7,对第一App和第二App建立初始化连接的过程进行说明。图7示出了本申请实施例中第一App和第二App建立初始化连接的流程示意图。如图7所示,第一App和第二App建立初始化连接的过程可以包括以下S701‑S706。
[0177] S701、第一App调用第一系统中间件服务的初始化连接API,并填充第二App的包名。
[0178] S702、第一系统中间件服务向第二系统中间件服务发送初始化连接信息,初始化连接信息包括:第一App的包名和签名证书、第二App的包名。
[0179] 例如,第一系统中间件服务可以读取第一App的包名和签名证书(或称为第一App的信息),并封装第一App的包名和签名证书、第二App的包名,生成初始化连接信息。然后,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送初始化连接信息。
[0180] 一些实施例中,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送系统消息,系统消息中包括上述初始化连接信息。
[0181] 相应地,第二系统中间件服务接收初始化连接信息。
[0182] 在一种可能的设计中,第一终端和第二终端之间可以通过蓝牙或者Wi‑Fi进行通信。其中,蓝牙连接整体功耗相对较低,可以保证第一终端和第二终端的蓝牙处于常连接状态。Wi‑Fi连接整体功耗相对较高,第一终端和第二终端之间的连接可以通过按需业务触发。
[0183] 以第一终端和第二终端之间可以通过蓝牙通信为例。第一系统中间件服务封装第一App的包名和签名证书、第二App的包名,生成初始化连接信息(该初始化连接信息为应用层数据)后,可以将初始化连接信息发送给第一终端的系统数据路由层。第一终端的系统数据路由层可以调用第一终端的蓝牙系统的业务层接口发送初始化连接信息给第一终端的蓝牙系统的物理层。第一终端的蓝牙系统的物理层通过射频能够发送初始化连接信息给已连接的第二终端。
[0184] 第二终端的蓝牙系统的物理层可以通过射频接收初始化连接信息,并传输给第二终端的蓝牙系统的业务层。第二终端的蓝牙系统的业务层,可以将初始化连接信息传输给第二终端的系统数据路由层。第二终端的系统数据路由层负责根据业务标记做数据分发,最终将初始化连接信息分发到第二系统中间件服务。
[0185] 可选地,一些实施例中,在S702之前,第一系统中间件服务也可以向第二系统中间件服务发送一个初始化连接请求。第二系统中间件服务接收到该初始化连接请求后,可以确定是否与第一系统中间件服务建立后续的初始化连接。若第二系统中间件服务确定与第一系统中间件服务建立后续的初始化连接,则向第一系统中间件服务返回一个确认消息。当第一系统中间件服务接收到该确认消息后,再执行S702及其之后的步骤,与第二系统中间件服务建立初始化连接。
[0186] S703、第二系统中间件服务读取第二App的注册信息中第一App的包名和签名证书。
[0187] 可以理解的,第二App的注册信息中包括至少一个App的包名和签名证书。第一App是前述至少一个App中的一个。例如,第二App的注册信息中还可以包括第三App的包名和签名证书、第四App的包名和签名证书等,第三App和第四App均可以是第一终端的App。
[0188] 这里,由于S702中第一系统中间件服务向第二系统中间件服务发送的初始化连接信息,包含的是第一App的包名和签名证书,所以,第二系统中间件服务会读取第一App的包名和签名证书进行下述校验过程。若初始化连接信息包含的是其他App,如:第三App的包名和签名证书,则第二系统中间件服务会读取第三App的包名和签名证书。
[0189] S704、第二系统中间件服务校验第二App的注册信息中第一App的包名和签名证书,与接收到的初始化连接信息中第一App的包名和签名证书是否一致,得到校验结果。
[0190] 可以理解,S704所述的校验中,若第二App的注册信息中第一App的包名和签名证书,与接收到的初始化连接信息中第一App的包名和签名证书一致,则校验结果为校验成功。若第二App的注册信息中第一App的包名和签名证书,与接收到的初始化连接信息中第一App的包名和签名证书不一致,则校验结果为校验失败。
[0191] 当校验成功时,可以确定第一App能够与第二App进行通信或交互数据。
[0192] S705、第二系统中间件服务根据校验结果,向第一系统中间件服务返回初始化连接结果。
[0193] 初始化连接结果包括:初始化成功或初始化失败。若校验结果为校验成功,则第二系统中间件向第一系统中间件返回的初始化连接结果为初始化成功。若校验结果为校验失败,则第二系统中间件向第一系统中间件返回的初始化连接结果为初始化失败。
[0194] 相应地,第一系统中间件服务接收初始化连接结果。
[0195] S706、第一系统中间件服务向第一App发送初始化连接结果。
[0196] 第一系统中间件服务接收到初始化连接结果后,可以通知第一App,是否与第二App成功建立初始化连接。
[0197] 当第一App与第二App成功建立初始化连接时,后续第一App才能向第二App发送文件,和/或,第一App才能从第二App读取文件。
[0198] 可选地,当初始化连接结果为初始化成功时,第一终端可以在第一App的显示界面中向用户展示连接成功的结果。例如,图8示出了一种第一App的显示界面示意图。如图8所示,当初始化连接结果为初始化成功时,第一终端会在第一App的显示界面中向用户提示连接成功。
[0199] 请继续参考图8所示,在一种可能的设计中,连接成功的显示界面会在预设时长后自动关闭,如:5秒(S),在此对预设时长的大小不作限制。或者,用户可以选择点击右上角的关闭控件“X”,直接关闭连接成功的显示界面。
[0200] 可选地,当初始化连接结果为初始化失败时,第一终端可以在第一App的显示界面中向用户展示连接失败的结果。例如,图9示出了另一种第一App的显示界面示意图。如图9所示,当初始化连接结果为初始化失败时,第一终端会在第一App的显示界面中向用户提示连接失败。
[0201] 请继续参考图9所示,当显示连接失败时,第一终端还可以在第一App的显示界面中,向用户提示重新选择和取消,若用户点击重新选择,则显示界面会切换至图6所示的界面,供用户重新选择第二App,重新建立初始化连接。若用户点击取消,则第一终端会取消建立初始化连接的过程。
[0202] 当第一App和第二App成功建立上述初始化连接时,第一App和第二App之间可以交互数据。
[0203] 以第一App向第二App发送目标业务文件为例,图10示出了又一种第一App的显示界面示意图。如图10所示,该显示界面中包括App的数据目录,其中,包括:文件1、文件2、文件3、文件4等文件,如:该显示界面中可以显示文件1、文件2、文件3、文件4等的标识。当用户需要将文件1发送给第二App时,可以选择长按文件1所在区域,或者,双击文件1所在区域等(对此不作限制),进入对文件1的操作界面。本申请实施例中,图10所示的界面可以称为第一界面,文件1可以称为第一文件,对文件1的标识(即文件1所在区域)进行的操作可称为第一输入。
[0204] 例如,图11示出了又一种第一App的显示界面示意图。如图11所示,第一终端显示的对文件1的操作界面中可以包括:转发、删除、移动等(图中仅为示例性说明,不作限制,如:转发也可以替换为分享)。当用户点击转发时,会进入供用户选择需要将文件1发送给哪个目的App(如第二App)的界面。
[0205] 例如,图12示出了又一种第一App的显示界面示意图。如图12所示,当用户点击转发时,第一终端显示的界面会由图11所示切换至图12所示,显示界面中会包括:第二App、第三App、第四App等选项,供用户选择需要将文件1发送给其中的哪个App。例如,当第一App是前述手机版M1时,第二App、第三App、第四App可以依次是前述手表版M1、电视版M1、电脑版M1等。
[0206] 也即,本申请实施例中,第一终端可以显示第一应用的第一界面,第一界面中包括第一文件的标识;第一终端可以响应于检测到用户对第一文件的标识的第一输入,向第二终端发送第二应用的标识和第一文件。其中,第二应用的标识和第一文件用于指示第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
[0207] 可以理解的,图12中显示出的App均为与第一App已建立初始化连接的App。
[0208] 下面以用户选择第二App为例,对本申请实施例中第一App向第二App发送文件的具体过程进行说明。图13示出了本申请实施例中第一App向第二App发送文件的流程示意图。如图13所示,当第一App与第二App建立初始化连接后,第一App向第二App发送文件的过程包括以下S1301‑S1307。
[0209] S1301、第一App调用第一系统中间件服务的发送API,并填充第二App的包名、目标业务文件、目标存储路径和目标存储名称、文件操作为写入操作。
[0210] S1302、第一系统中间件服务向第二系统中间件服务发送文件发送信息,文件发送信息包括:第一App的包名和签名证书、第二App的包名、目标业务文件、目标存储路径和目标存储名称、文件操作为写入操作。
[0211] 例如,第一系统中间件服务可以读取第一App的包名和签名证书,并封装第一App的包名和签名证书、第二App的包名、目标业务文件、目标存储路径和目标存储名称、文件操作为写入操作,生成文件发送信息。然后,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送文件发送信息。
[0212] 一些实施例中,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送系统消息,系统消息中包括上述文件发送信息。
[0213] 相应地,第二系统中间件服务接收文件发送信息。
[0214] 可选地,第一系统中间件服务调用系统接口,向第二系统中间件服务发送文件发送信息,以及第二系统中间件服务接收文件发送信息的具体实现过程,与第一系统中间件服务调用系统接口,向第二系统中间件服务发送初始化连接信息,以及第二系统中间件服务接收初始化连接信息的过程类似或相同,可以参考前述S702的相关解释中所述,在此不再赘述。
[0215] S1303、第二系统中间件服务读取第二App的注册信息中第一App的包名和签名证书。
[0216] S1304、第二系统中间件服务校验第二App的注册信息中第一App的包名和签名证书,与接收到的文件发送信息中第一App的包名和签名证书是否一致,得到校验结果。
[0217] 类似地,S1303和S1304中关于校验第二App的注册信息中第一App的包名和签名证书,与接收到的文件发送信息中第一App的包名和签名证书是否一致的相关解释,也可以参考前述S703和S704中所述。
[0218] 例如,若第二App的注册信息中第一App的包名和签名证书,与接收到的文件发送信息中第一App的包名和签名证书一致,则校验结果为校验成功。若第二App的注册信息中第一App的包名和签名证书,与接收到的文件发送信息中第一App的包名和签名证书不一致,则校验结果为校验失败。
[0219] 当校验成功时,可以确定第二App能够接收来自第一App的目标业务文件。
[0220] S1305、当校验结果一致时,第二系统中间件服务根据接收到的文件发送信息中的目标存储路径和目标存储名称,将目标业务文件写入第二App的数据目录下。
[0221] 如上所述,文件发送信息中包括:目标业务文件、目标存储路径和目标存储名称、文件操作为写入操作。当校验结果一致时,第二系统中间件服务可以根据目标存储路径和目标存储名称,将目标业务文件写入第二App的数据目录下,即,存储在第二App的数据目录下。例如,写入第二App的“app/data/music”目录下。
[0222] 可选地,当第二App的数据目录中包含目标存储路径和目标存储名称时,第二系统中间件服务可以直接按照第二App的数据目录中包含的目标存储路径和目标存储名称,写入目标业务文件。当第二App的数据目录中不包含目标存储路径和目标存储名称时,第二系统中间件服务可以先在第二App的数据目录新建目标存储路径,并按照目标存储名称,在新建的目标存储路径中写入目标业务文件。
[0223] S1306、第二系统中间件服务向第一系统中间件服务发送文件接收结果。
[0224] 其中,文件接收结果的发送也可以包含在第二系统中间件服务向第一系统中间件服务发送的系统消息中,不再赘述。
[0225] 可选地,第二系统中间件在第二App的数据目录中写入目标业务文件后,可以向第一系统中间件服务发送文件接收结果。文件接收结果能够表明目标业务文件是否成功写入第二App的数据目录。
[0226] 例如,文件接收结果包括:文件接收成功或文件接收失败。若文件接收结果为文件接收成功,则表示目标业务文件成功写入第二App的数据目录。若文件接收结果为文件接收失败,则表示目标业务文件未成功写入第二App的数据目录。
[0227] 相应地,第一系统中间件服务接收文件接收结果。
[0228] S1307、第一系统中间件服务根据接收到的文件接收结果,向第一App发送文件发送结果。
[0229] 可选地,文件发送结果包括:文件发送成功或文件发送失败。当文件接收结果为文件接收成功,即目标业务文件成功写入第二App的数据目录时,第一系统中间件服务可以向第一App发送文件发送结果为文件发送成功。当文件接收结果为文件接收失败,即目标业务文件未成功写入第二App的数据目录时,第一系统中间件服务可以向第一App发送文件发送结果为文件发送失败。以通知第一App,本次目标业务文件是否成功发送给第二App。
[0230] 可选地,当文件发送结果为文件发送成功时,第一终端可以在第一App的显示界面中向用户展示发送成功的结果。例如,图14示出了又一种第一App的显示界面示意图。如图14所示,当文件发送结果为文件发送成功时,第一终端会在第一App的显示界面中向用户提示发送成功。与前述图8类似,图14所示的界面也可以在预设时长后自动关闭,或者,由用户点击关闭,不再赘述。
[0231] 或者,当文件发送结果为文件发送失败时,第一终端可以在第一App的显示界面中向用户展示发送失败的结果。例如,图15示出了又一种第一App的显示界面示意图。如图15所示,当文件发送结果为文件发送失败时,第一终端会在第一App的显示界面中向用户提示发送失败。
[0232] 请继续参考图15所示,当显示发送失败时,第一终端还可以在第一App的显示界面中,向用户提示重新发送和取消发送,若用户点击重新发送,则显示界面会切换至图12所示的界面,供用户重新选择第二App,重新进行上述发送过程。若用户点击取消发送,则第一终端会取消发送文件的过程。
[0233] 由上述图13所示的实施例可知,第一终端的App传输文件到第二终端的App时,第二系统中间件服务可以代理第二终端的App的文件操作,并不需要第二终端的App打开,即可完成跨终端的数据通信,完成文件接收、重传等,能够减少用户对App的操作,提高用户体验。
[0234] 图16示出了又一种第一App的显示界面示意图。如图16所示,一种可能的实现方式中,第一App的显示界面中会显示一个读取的控件,当用户点击读取时,会进入供用户需要从哪个目的App读取文件的界面。本申请实施例中,读取的控件也可以称为第一标识。用于对读取控件的点击操作,也可以称为第一输入。
[0235] 例如,图17示出了又一种第一App的显示界面示意图。如图17所示,当用户点击读取时,第一App的显示界面会由图16所示切换至图17所示的界面,显示界面中会包括:第二App、第三App、第四App等选项,供用户选择需要从其中的哪个App中读取文件。例如,当第一App是前述手机版M1时,第二App、第三App、第四App可以依次是前述手表版M1、电视版M1、电脑版M1等。
[0236] 同样可以理解的,图17中显示出的App均为与第一App已建立初始化连接的App。
[0237] 下面以用户选择第二App为例,对本申请实施例中第一App从第二App读取文件的具体过程进行说明。
[0238] 以第一App从第二App读取目标业务文件为例,图18示出了本申请实施例中第一App从第二App读取文件的流程示意图。如图18所示,当第一App与第二App建立初始化连接后,第一App从第二App读取文件的过程包括以下S1801‑S1807。
[0239] S1801、第一App调用第一系统中间件服务的发送API,并填充第二App的包名、目标业务文件在第二App中的存储路径和存储名称、文件操作为读取操作。
[0240] 本申请实施例中,目标业务文件也称为第一文件。
[0241] 例如,目标业务文件在第二App中的存储路径可以是二App的“app/data/music”目录,存储名称可以是“文件P”等。
[0242] S1802、第一系统中间件服务向第二系统中间件服务发送文件读取信息,文件读取信息包括:第一App的包名和签名证书、第二App的包名、目标业务文件在第二App中的存储路径和存储名称、文件操作为读取操作。
[0243] 例如,第一系统中间件服务可以读取第一App的包名和签名证书,并封装第一App的包名和签名证书、第二App的包名、目标业务文件在第二App中的存储路径和存储名称、文件操作为读取操作,生成文件读取信息。然后,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送文件读取信息。
[0244] 一些实施例中,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送系统消息,系统消息中包括上述文件读取信息。
[0245] 相应地,第二系统中间件服务接收文件读取信息。
[0246] 可选地,第一系统中间件服务调用系统接口,向第二系统中间件服务发送文件读取信息,以及第二系统中间件服务接收文件读取信息的具体实现过程,也与第一系统中间件服务调用系统接口,向第二系统中间件服务发送初始化连接信息,以及第二系统中间件服务接收初始化连接信息的过程类似或相同,同样可以参考前述S702的相关解释中所述,在此不再赘述。
[0247] S1803、第二系统中间件服务读取第二App的注册信息中第一App的包名和签名证书。
[0248] S1804、第二系统中间件服务校验第二App的注册信息中第一App的包名和签名证书,与接收到的文件读取信息中第一App的包名和签名证书是否一致,得到校验结果。
[0249] 类似地,S1803和S1804中关于校验第二App的注册信息中第一App的包名和签名证书,与接收到的文件读取信息中第一App的包名和签名证书是否一致的相关解释,也可以参考前述S703和S704中所述。
[0250] 例如,若第二App的注册信息中第一App的包名和签名证书,与接收到的文件读取信息中第一App的包名和签名证书一致,则校验结果为校验成功。若第二App的注册信息中第一App的包名和签名证书,与接收到的文件读取信息中第一App的包名和签名证书不一致,则校验结果为校验失败。
[0251] 当校验成功时,可以确定第一App能够读取第二App中的目标业务文件。如:执行S1805。
[0252] S1805、当校验结果一致时,第二系统中间件服务根据接收到的文件读取信息中目标业务文件在第二App中的存储路径和存储名称,从第二App的数据目录下读取目标业务文件。
[0253] 如上所述,文件读取信息中包括:目标业务文件在第二App中的存储路径和存储名称、文件操作为读取操作。当校验结果一致时,第二系统中间件服务可以根据目标业务文件在第二App中的存储路径和存储名称,从第二App的数据目录下读取对应的目标业务文件。如:从第二App的“app/data/music”目录下,读取文件P。
[0254] S1806、第二系统中间件服务向第一系统中间件服务发送目标业务文件。
[0255] 其中,第二系统中间件服务向第一系统中间件服务发送目标业务文件时,也可以将目标业务文件放在系统消息中。如:第二系统中间件服务向第一系统中间件服务发送系统消息,系统消息包括目标业务文件。
[0256] 一些实施例中,第二系统中间件服务向第一系统中间件服务发送目标业务文件的过程,也可以参考前述图13所示的实施例中,第一系统中间件服务向第二系统中间件服务发送目标业务文件的过程,在此不再赘述。
[0257] 相应地,第一系统中间件服务接收目标业务文件。
[0258] S1807、第一系统中间件服务向第一App发送目标业务文件。
[0259] 第一系统中间件服务接收到目标业务文件后,可以向第一App发送目标业务文件,完成第一App从第二App读取目标业务文件的交互过程。
[0260] 由上述图18所示的实施例可知,第一终端的App从第二终端的App中读取文件时,第二系统中间件服务也可以代理第二终端的App的文件操作,同样不需要第二终端的App打开,即可完成文件读取,能够减少用户对App的操作,提高用户体验。
[0261] 图19示出了又一种第一App的显示界面示意图。如图19所示,一种可能的实现方式中,当第一终端的App接收到目标业务文件后,目标业务文件会与第一App中的其他文件(如前述文件1、文件2等),一起展示在第一App的数据目录中。
[0262] 或者,图20示出了又一种第一App的显示界面示意图。如图20所示,另一种可能的实现方式中,当第一终端的App接收到目标业务文件后,第一终端还可以在第一App的显示界面中询问用户是否保存目标业务文件至数据目录。当用户点击是时,即第一终端会将目标业务文件保存在第一App的数据目录中,并将显示界面由图20所示切换至图19所示。当用点击否时,第一终端会删除该目标业务文件,或者,提示用户保存至其他文件夹等,在此不再一一赘述。
[0263] 上述图18所示的实施例中,第一终端的App从第二终端的App中读取文件时,第一App已知目标业务文件在第二App中的存储路径和存储名称。但实际有些实施方式中,第一App预先是不知道目标业务文件在第二App中的存储路径和存储名称的。对此,本申请实施例中,第一App可以先从第二App中获取索引文件MetaData。然后,可以根据索引文件MetaData,确定第二App中的文件清单信息,从而,可以根据第二App中的文件清单信息,确定具体需要读取的目标业务文件。
[0264] 例如,图21示出了本申请实施例中第一App确定目标业务文件的流程示意图。如图21所示,当第一App与第二App建立初始化连接后,第一App确定目标业务文件的过程可以包括以下S2101‑S2108。可以理解的,S2101‑S2108是在图18所示的S1801之前的步骤,即,一些实施方式中,第一App可以先通过S2101‑S2108确定出目标业务文件,然后通过S1801‑S1807从第二App读取目标业务文件。
[0265] S2101、第一App调用第一系统中间件服务的发送API,并填充第二App的包名、文件操作为读取操作。
[0266] S2102、第一系统中间件服务向第二系统中间件服务发送默认文件读取信息,默认文件读取信息包括:第一App的包名和签名证书、第二App的包名、文件操作为读取操作。
[0267] 例如,第一系统中间件服务可以读取第一App的包名和签名证书,并封装第一App的包名和签名证书、第二App的包名、文件操作为读取操作,生成默认文件读取信息。然后,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送默认文件读取信息。
[0268] 区别于前述图18所示的实施例中所述的文件读取信息,本实施例中,由于第一App不知道目标业务文件在第二App中的存储路径和存储名称,所以,第一系统中间件服务生成的是未携带目标业务文件的存储路径和存储名称的默认文件读取信息。
[0269] 一些实施例中,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送系统消息,系统消息中包括上述默认文件读取信息。
[0270] 相应地,第二系统中间件服务接收默认文件读取信息。
[0271] 可选地,第一系统中间件服务调用系统接口,向第二系统中间件服务发送默认文件读取信息,以及第二系统中间件服务接收默认文件读取信息的具体实现过程,也与第一系统中间件服务调用系统接口,向第二系统中间件服务发送初始化连接信息,以及第二系统中间件服务接收初始化连接信息的过程类似或相同,同样可以参考前述S702的相关解释中所述,在此不再赘述。
[0272] S2103、第二系统中间件服务读取第二App的注册信息中第一App的包名和签名证书。
[0273] S2104、第二系统中间件服务校验第二App的注册信息中第一App的包名和签名证书,与接收到的默认文件读取信息中第一App的包名和签名证书是否一致,得到校验结果。
[0274] 类似地,S2103和S2104中关于校验第二App的注册信息中第一App的包名和签名证书,与接收到的默认文件读取信息中第一App的包名和签名证书是否一致的相关解释,也可以参考前述S703和S704中所述。
[0275] 例如,若第二App的注册信息中第一App的包名和签名证书,与接收到的默认文件读取信息中第一App的包名和签名证书一致,则校验结果为校验成功。若第二App的注册信息中第一App的包名和签名证书,与接收到的默认文件读取信息中第一App的包名和签名证书不一致,则校验结果为校验失败。
[0276] 当校验成功时,可以确定第一App能够默认读取第二App的索引文件MetaData。如:执行S2105。
[0277] S2105、当校验结果一致时,第二系统中间件服务根据接收到的默认文件读取信息,读取第二App的索引文件MetaData。
[0278] 也即,当默认文件读取信息未携带目标业务文件的存储路径和存储名称时,第二系统中间件服务会默认读取第二App的索引文件MetaData。
[0279] S2106、第二系统中间件服务向第一系统中间件服务发送索引文件MetaData。
[0280] 其中,第二系统中间件服务向第一系统中间件服务发送索引文件MetaData时,也可以将索引文件MetaData放在系统消息中。如:第二系统中间件服务向第一系统中间件服务发送系统消息,系统消息包括索引文件MetaData。
[0281] 一些实施例中,第二系统中间件服务向第一系统中间件服务发送索引文件MetaData的过程,也可以参考前述图13所示的实施例中,第一系统中间件服务向第二系统中间件服务发送索引文件MetaData的过程,在此不再赘述。
[0282] 相应地,第一系统中间件服务接收索引文件MetaData。
[0283] S2107、第一系统中间件服务向第一App发送索引文件MetaData。
[0284] 第一系统中间件服务接收到索引文件MetaData后,可以向第一App发送索引文件MetaData。
[0285] S2108、第一App根据索引文件MetaData,确定目标业务文件在第二App中的存储路径和存储名称。
[0286] 第一App通过解析索引文件MetaData的内容,可以确定出确定第二App中的文件清单信息,从而,可以根据第二App中的文件清单信息,确定具体需要读取的目标业务文件,即,确定出目标业务文件在第二App中的存储路径和存储名称。例如,也可以将文件清单信息通过显示界面呈现给用户,由用户选择读取哪个目标业务文件,在此不再结合附图进行详细描述。
[0287] 例如,第一终端可以响应于检测到用户对第一标识(即,读取)的第一输入(即,点击操作),向第二终端发送文件查询信息(或称为默认文件读取信息),文件查询信息包括第二应用的标识,用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,并发送给第一终端。索引文件用于指示第二应用的存储空间中的文件清单信息。第一终端可以接收来自第二终端的索引文件,并根据索引文件,在第一界面中显示第二应用的存储空间中的文件的标识,第二应用的存储空间中的文件的标识包括第一文件(如:目标业务文件)的标识。第一终端可以响应于检测到用户对第一文件的标识的第三输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。用户对第一文件的标识的第三输入即是用于确定具体需要读取的目标业务文件为该第一文件。
[0288] 或者,一些实施例中,也可以是由第一终端默认确定目标业务文件为第二App中全部的文件,或者,预设好的一些文件,在此不作限制。
[0289] 第一App在确定出目标业务文件在第二App中的存储路径和存储名称后,即可按照前述图18所示的实施例,从第二App中读取对应的目标业务文件。
[0290] 由上述图21所示的实施例可知,第一终端的App从第二终端的App中读取文件时,第二系统中间件服务可以缺省支持读取第二App的索引文件MetaData。从而,第一终端的App可以根据第二App的索引文件MetaData,确定出需要读取的目标业务文件。
[0291] 综上所述,本申请实施例中,通过在每个终端中部署系统中间件服务,可以使得系统中间件服务能够代理其所在终端的App上的文件操作。当某个终端上的App(如第一终端的第一App)向对端终端上的App(如第二终端的第二App)发送文件,或者,从对端终端上的App中读取文件时,并不需要对端终端上的App感知相关细节,由对端终端上的系统中间件服务即可完成发送操作或读取操作。所以,并不需要对端终端的App打开,即可完成跨终端的数据通信,完成文件接收、重传、读取等,能够减少用户对App的操作,提高用户体验。对每个终端而言,系统中间件服务能够提供开放API接口给终端上的App,终端上的App不需要关注文件发送或接收的具体技术实现的,也能够有效降低App的开发成本。
[0292] 另外,本申请实施例中,当不同终端之间通过蓝牙或者Wi‑Fi,又或者NFC进行通信时,文件可以在不同终端之间直接传输,无需其他服务器或云服务器侧进行中转,不仅可以减少可能存在的隐私、数据安全等问题,还减少了中间传输的时延,提升了传输效率。而且,还可以实现在对端终端未联网的状态下,向对端终端发送文件。例如,手机联网,手表不联网时,手机可以向手表同步数据或发送文件。
[0293] 进一步,结合图6至图21,可以看到,本申请实施例中,不同终端的App之间进行数据传输时(包括初始化连接信息、文件发送信息、文件读取信息、默认文件读取信息等的传输),对端终端的系统中间件服务都会根据App的注册信息,进行合法性校验,还能够保证不同终端的App之间进行数据传输的安全性。
[0294] 可选地,本申请实施例中,某个终端的App与对端终端的App建立初始化连接的时机、或者说,某个终端的App向对端终端的App发送数据或文件的时机,可以是基于用户操作进行选择。例如,用户可以在终端1的App1上进行触控操作,指示将终端1的App1上的某个文件,同步至终端2的App2上。当终端1接收到用户的该触控操作后,会按照前述实施例所述执行文件同步过程。
[0295] 或者,其他实施例中,某个终端的App与对端终端的App建立初始化连接的时机、或者说,某个终端的App向对端终端的App发送数据或文件的时机,也可以是系统自动选择。例如,终端1可以按照预设周期(如:1天、一周等),或者,在与终端2连接时,将App1上的某些数据,自动同步至终端2的App2上。
[0296] 需要说明的是,本申请对建立初始化连接、发送文件、读取文件等的触发条件或时机,并不作限制。示例性地,可以参考下述场景。
[0297] 场景1:
[0298] 当用户在手机上打开第一APP时,响应于用户的操作,例如点击手机上第一APP应用界面中的图标或者按钮,使得第一APP向手表上安装的与第一APP对应的第二APP建立连接、发送文件或者读取文件等,其中所述建立连接、发送文件或者读取文件等过程可以参照前述实施例中的步骤和方法,此处不再赘述。
[0299] 场景2:
[0300] 当用户在手机上安装好第一APP后,并选择与手表上安装的与第一APP对应的第二APP建立连接、发送文件或者读取文件,此时第一APP和第二APP之间可以按照预设时间间隔建立连接、发送文件或者读取文件,其中所述建立连接、发送文件或者读取文件等过程可以参照前述实施例中的步骤和方法,此处不再赘述。
[0301] 场景3:
[0302] 当用户在手机上打开第一APP,并且用户在手表上打开与第一APP对应的第二APP,此时,第二APP可以和第一APP之间建立连接、发送文件或者读取文件,其中所述建立连接、发送文件或者读取文件等过程可以参照前述实施例中的步骤和方法,此处不再赘述。
[0303] 对应于前述实施例中所述的方法中第一终端执行的步骤,本申请实施例还提供一种可以应用于第一终端的装置。例如,图22示出了一种装置的结构示意图,如图22所示,该装置包括:显示模块2201、处理模块2202。
[0304] 其中,显示模块2201用于显示第一应用的第一界面,第一界面中包括第一文件的标识;处理模块2202用于响应于检测到用户对第一文件的标识的第一输入,向第二终端发送第二应用的标识和第一文件,其中,第二应用的标识和第一文件用于指示第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。例如,处理模块2202中可以包括一个单独的发送子模块,实现发送功能。
[0305] 在一种可能的设计中,处理模块2202部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用发送文件的权限;处理模块2202具体用于通过第一系统中间件服务,向第二终端发送第二应用的标识和第一文件。
[0306] 在一种可能的设计中,处理模块2202还用于通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;接收来自第二终端根据第一应用的信息返回的初始化连接结果,例如,处理模块2202中可以包括一个单独的接收子模块,实现接收功能。
[0307] 在一种可能的设计中,处理模块2202还用于通过第一系统中间件服务,向第二终端发送初始化连接请求;接收来自第二终端的确认消息。
[0308] 在一种可能的设计中,处理模块2202还用于向第二终端发送第二应用的标识和第一文件时,向第二终端发送第一文件在第二应用的存储空间中的目标存储路径和目标存储名称。
[0309] 在一种可能的设计中,显示模块2201还用于显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;处理模块2202还用于响应于检测到用户对第二应用的标识的第二输入,在第一系统中间件服务中注册第一系统中间件服务代理第一应用发送文件的权限,在第一系统中间件服务中生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
[0310] 在一种可能的设计中,第二应用与第一应用对应,包括:第二应用和第一应用是适配于不同终端版本的同一应用;和/或,第二应用和第一应用是具有预配置的对应关系的不同应用。
[0311] 在一种可能的设计中,第一界面中包括用于实现文件读取的功能的第一标识;处理模块2202用于响应于检测到用户对第一标识的第一输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,其中,第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取第一文件,并发送给第一终端;处理模块2202还用于接收来自第二终端的第一文件。例如,处理模块2202可以包括一个单独的接收子模块,实现接收功能,以及包括一个单独的发送子模块,实现发送功能。
[0312] 在一种可能的设计中,处理模块2202部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用读取文件的权限;处理模块2202向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,包括:处理模块2202通过第一系统中间件服务,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
[0313] 在一种可能的设计中,处理模块2202具体用于响应于检测到用户对第一标识的第一输入,向第二终端发送文件查询信息,文件查询信息包括第二应用的标识,用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,并发送给处理模块2202;索引文件用于指示第二应用的存储空间中的文件清单信息;接收来自第二终端的索引文件;根据索引文件,控制显示模块2201在第一界面中显示第二应用的存储空间中的文件的标识,第二应用的存储空间中的文件的标识包括第一文件的标识;响应于检测到用户对第一文件的标识的第三输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
[0314] 类似地,对应于前述实施例中所述的方法中第二终端执行的步骤,本申请实施例还提供一种可以应用于第二终端的装置。例如,该装置也可以包括显示模块、处理模块等,具体可以参考上述图22所示的应用于第一终端的装置,在此不再进行赘述。
[0315] 应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。
[0316] 例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
[0317] 在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或这些集成电路形式中至少两种的组合。
[0318] 再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如CPU或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system‑on‑a‑chip,SOC)的形式实现。
[0319] 在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例所述的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。
[0320] 在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例所述的方法。
[0321] 例如,本申请实施例还可以提供一种装置,如:电子设备,可以包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如前述实施例所述的第一终端或第二终端执行的方法。例如,该电子设备可以是前述实施例中所述第一终端或第二终端。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。
[0322] 在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件可以设置于对应上述具有语音控制功能的终端上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
[0323] 例如,本申请实施例还提供一种芯片,该芯片可以应用于上述第一终端或第二终端。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现以上方法实施例中所述的第一终端或第二终端执行的方法。
[0324] 本申请实施例还提供一种计算机程序产品,包括电子设备,如上述第一终端(如手机)或第二终端(如手表)运行的计算机指令。
[0325] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0326] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0327] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0328] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0329] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0330] 例如,本申请实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如前述方法实施例中所述的第一终端或第二终端执行的方法。
[0331] 可选地,本申请实施例还提供一种数据传输系统,示例性地,该数据传输系统的系统架构可以如前述图3所示,至少包括第一终端和第二终端;第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用;第一终端和第二终端配合实现前述实施例所述的方法。
[0332] 一些实施例中,该数据传输系统中还可以包括更多的终端,如:第三终端、第四终端等,任意两个终端的应用之间进行交互数据时,均可以参照前述第一终端和第二终端的应用之间交互数据的方式。
[0333] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。