WO2021179970A1 - 数据传输方法和装置 - Google Patents

数据传输方法和装置 Download PDF

Info

Publication number
WO2021179970A1
WO2021179970A1 PCT/CN2021/078868 CN2021078868W WO2021179970A1 WO 2021179970 A1 WO2021179970 A1 WO 2021179970A1 CN 2021078868 W CN2021078868 W CN 2021078868W WO 2021179970 A1 WO2021179970 A1 WO 2021179970A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
link
wireless link
usb
wireless
Prior art date
Application number
PCT/CN2021/078868
Other languages
English (en)
French (fr)
Inventor
付鹏程
刘海军
李家欣
周耀颖
曹义
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021179970A1 publication Critical patent/WO2021179970A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请实施例提供一种数据传输方法和装置,第一终端可以基于用户的分享操作,在第一终端与第二终端建立USB有线链路和P2P无线链路,将目标数据分为多个数据块,并利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,因为目标数据是利用USB有线链路和P2P无线链路并行发送的,因此能实现高效的数据传输。

Description

数据传输方法和装置
本申请要求于2020年03月12日提交中国专利局、申请号为202010170314.1、申请名称为“数据传输方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术,尤其涉及一种数据传输方法和装置。
背景技术
随着终端技术的发展,终端的存储容量越来越大,在终端之间传输较大数据量的文件时,通常采用点对点(peer to peer,P2P)的局域网技术进行传输。P2P传输可以包括无线传输,例如蓝牙(Bluetooth)传输、无载波通信(ultra wide band,UWB)、红外传输等;P2P传输还可以包括有线传输,例如通过OTG(On-The-Go)通用串行总线(universal serial bus,USB)进行传输。
但是,现有技术中,通常利用P2P无线传输进行数据分享等,但是数据传输的速率较慢。
发明内容
本申请实施例提供一种数据传输方法和装置,以实现高效的数据传输。
本申请实施例第一方面提供一种数据传输方法,包括:检测分享操作;分享操作用于传输目标数据;基于分享操作,与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路;将目标数据分为多个数据块;利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,并行用于表示USB有线链路和P2P无线链路共同传输目标数据。这样,第一终端可以利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,因为数据块是利用USB有线链路和P2P无线链路并行发送的,因此能实现高效的数据传输。
一种示例性的方式中,与第二终端建立USB有线链路和P2P无线链路,包括:响应于第一终端与第二终端之间的USB接口的有线连接操作,建立与第二终端之间的USB有线链路;利用USB有线链路建立与第二终端之间的P2P无线链路。这样,可以利用USB有线链路便捷、高效的建立第一终端与第二终端之间的P2P无线链路。
一种示例性的方式中,利用USB有线链路建立与第二终端之间的P2P无线链路,包括:利用USB有线链路向第二终端发送P2P无线链路建立请求;在接收到来自第二终端的同意建立P2P无线链路的消息的情况下,建立与第二终端之间的P2P无线链路。这样,在第二终端同意的情况下,建立与第二终端之间的P2P无线链路,可以满足第二终端的当前建链需求。
一种示例性的方式中,与第二终端建立通用串行总线USB有线链路和P2P无线链路包括:响应于P2P无线链路创建操作,建立与第二终端之间的P2P无线链路;响应于第一 终端与第二终端之间的通用串行总线USB接口的有线连接操作,建立与第二终端之间的USB有线链路。这样,可以采用任意能够实现的方式实现第一终端与第二终端之间建立USB有线链路和P2P无线链路,使用范围更广。
一种示例性的方式中,利用USB有线链路和P2P无线链路并行的向第二终端发送一个或多个数据块,包括:根据USB有线链路的带宽和P2P无线链路的带宽,将多个数据块分配到USB有线链路和P2P无线链路上,通过USB有线链路和P2P无线链路并行的向第二终端发送多个数据块。这样,可以结合各链路的实际带宽为各链路分配适应的数据块,实现数据的高效传输。
一种示例性的方式中,利用USB有线链路和P2P无线链路并行的向第二终端发送一个或多个数据块,包括:在第一缓存中设置与USB有线链路的带宽匹配的M个数据块;M为自然数;在第二缓存中设置与P2P无线链路的带宽匹配的N个数据块;N为自然数;在第一缓存或第二缓存中的数据块发出时,向第一缓存或第二缓存中补充设置多个数据块中未分配的数据块。这样,可以根据USB有线链路和P2P无线链路的具体的情况,动态的将数据块分配在发送较快的链路中,实现数据块的高效传输。
一种示例性的方式中,利用USB有线链路和P2P无线链路并行的向第二终端发送一个或多个数据块,包括:在USB有线链路传输数据失败的情况下,将USB有线链路中发送的数据块通过P2P无线链路发送给第二终端;在P2P无线链路传输数据失败的情况下,将P2P无线链路中发送的数据块通过USB有线链路发送给第二终端。这样,可以根据USB有线链路和P2P无线链路的具体的情况,动态的将数据块分配在能够实现数据传输的链路中,实现数据块的高效传输。
一种示例性的方式中,在USB有线链路传输数据失败的情况下,将USB有线链路中发送的数据块通过P2P无线链路发送给第二终端,包括:在检测到USB有线链路中超出第一时间阈值没有成功发送数据块,或USB有线链路断开的情况下,将USB有线链路中发送的数据块取出,并将取出的数据块通过P2P无线链路发送给第二终端;
或者,在P2P无线链路传输数据失败的情况下,将P2P无线链路中发送的数据块通过USB有线链路发送给第二终端,包括:在检测到P2P无线链路中超出第二时间阈值没有成功发送数据块,或P2P无线链路断开的情况下,将P2P无线链路中发送的数据块取出,并将取出的数据块通过USB有线链路发送给第二终端。
一种示例性的方式中,利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,包括:利用P2P无线链路向第二终端发送目标数据的基本信息和预览数据;在接收到第二终端返回的接收响应消息的情况下,第一终端通过USB有线链路和P2P无线链路向第二终端发送一个或多个数据块,其中,接收响应消息是第二终端响应于成功接收到目标数据的基本信息和预览数据后向第一终端发送的。这样,若第二终端可以接收到基本信息和预览数据,则可以发送用于标识成功接收到基本信息和预览数据的接收响应消息,则第一终端可以通过USB有线链路和P2P无线链路向第二终端发送目标数据,从而可以进一步保证数据可以成功发送给第二终端。
一种示例性的方式中,利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,包括:接收第二终端利用USB有线链路发送的第一验证标识,以及第二终端通过P2P无线链路发送的第二验证标识;在第一验证标识和第二验证标识满足验证条件的情 况下,利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块。这样,可以通过鉴权的方式提升数据传输的安全性。
一种示例性的方式中,获取第一终端与第二终端在P2P无线链路传输中的角色;在第一终端向第二终端发送数据的能力小于第二终端向第一终端发送数据的能力的情况下,将第一终端与第二终端交换角色。这样,可以使得第一终端能够以较快的速率向第二终端发送数据。
一种示例性的方式中,还包括:停止USB有线链路之间的充电。这样可以避免作为供电方的终端的电量消耗过大,以及可以避免充电过程造成的发热。
一种示例性的方式中,第一终端为电池供电设备的情况下,检测到第一终端的设备温度高于第一阈值的情况下,停止USB有线链路之间的充电。这样可以第一终端因为充电造成的过热。
一种示例性的方式中,获取第一终端的电量与第二终端的电量;在第一终端的电量小于电量阈值的情况下,设置充电方向为第二终端向第一终端充电。这样,可以使得第一终端获得足够的电量,用于数据传输。
一种示例性的方式中,在第一终端的设备温度高度第二阈值的情况下,降低第一终端的中央处理器CPU运行频率;其中,第二阈值高于第一终端未进行数据传输时的限制CPU运行频率所设置的温度。这样可以第一终端设备过热。
一种示例性的方式中,基于分享操作,与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路,包括:基于分享操作,显示第一用户界面;第一用户界面中包括:一个或多个用户标识,以及各用户标识可用的P2P方式;用户标识为扫描得到的终端用户的标识,可用的P2P方式包括P2P有线和/或P2P无线;在第一用户界面中接收到对第二终端设备的用户标识的触发操作,且第二终端设备的用户标识可用的P2P方式为P2P有线和P2P无线的情况下,与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路。这样,可以让用户灵活的选择数据传输方式,提升用户体验。
一种示例性的方式中,在第一用户界面中接收到对第二终端设备的用户标识的触发操作,且第二终端设备的用户标识可用的P2P方式为P2P有线和P2P无线的情况下,与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路,包括:在第一用户界面中接收到对第二终端设备的用户标识的触发操作;显示第二用户界面,第二用户界面包括:用于选择P2P无线传输的勾选控件、用于选择P2P有线传输的勾选控件,以及用于选择P2P无线和P2P有线同时传输的勾选控件;在第二用户界面中接收对用于选择P2P无线和P2P有线同时传输的勾选控件的勾选操作,与第二终端建立通用串行总线USB有线链路和P2P无线链路。这样,可以让用户灵活的选择数据传输方式,提升用户体验。
一种示例性的方式中,检测分享操作包括:检测对目标数据的勾选操作,以及用于发送目标数据的发送操作。
一种示例性的方式中,显示第三用户界面,第三用户界面包括用于指示USB有线链路的控件和用于指示P2P无线链路的控件;在检测到对用于指示USB有线链路的控件的触发操作的情况下,断开或开启USB有线链路的传输;或者,在检测到对用于指示P2P无线链路的控件的触发操作的情况下,断开或开启P2P无线链路的传输。这样,用户可以在数据传输过程灵活的切换传输方式。
本申请实施例第二方面提供一种数据传输装置,应用于第一终端,包括:处理模块、USB控制模块和发送模块;处理模块,用于检测分享操作;所述分享操作用于传输目标数据;处理模块,还用于基于分享操作,控制USB控制模块与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路;处理模块,还用于将目标数据分为多个数据块;发送模块,还用于利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,并行用于表示USB有线链路和P2P无线链路共同传输目标数据。
一种示例性的方式中,处理模块,具体用于:响应于第一终端与第二终端之间的USB接口的有线连接操作,控制USB控制模块建立与第二终端之间的USB有线链路;以及利用USB有线链路建立与第二终端之间的P2P无线链路。
一种示例性的方式中,还包括接收模块;发送模块,还用于利用USB有线链路向第二终端发送P2P无线链路建立请求;处理模块,具体用于在接收模块接收到来自第二终端的同意建立P2P无线链路的消息的情况下,建立与第二终端之间的P2P无线链路。
一种示例性的方式中,处理模块具体用于:响应于P2P无线链路创建操作,建立与第二终端之间的P2P无线链路;响应于第一终端与第二终端之间的通用串行总线USB接口的有线连接操作,制USB控制模块建立与第二终端之间的USB有线链路。
一种示例性的方式中,处理模块,还用于根据USB有线链路的带宽和P2P无线链路的带宽,将多个数据块分配到USB有线链路和P2P无线链路上;
发送模块,还用于通过USB有线链路和P2P无线链路并行的向第二终端发送多个数据块。
一种示例性的方式中,处理模块,具体用于:在第一缓存中设置与USB有线链路的带宽匹配的M个数据块;M为自然数;在第二缓存中设置与P2P无线链路的带宽匹配的N个数据块;N为自然数;在第一缓存或第二缓存中的数据块发出时,向第一缓存或第二缓存中补充设置多个数据块中未分配的数据块。
一种示例性的方式中,发送模块具体用于:在USB有线链路传输数据失败的情况下,将USB有线链路中发送的数据块通过P2P无线链路发送给第二终端;在P2P无线链路传输数据失败的情况下,将P2P无线链路中发送的数据块通过USB有线链路发送给第二终端。一种示例性的方式中,发送模块具体用于:在检测到USB有线链路中超出第一时间阈值没有成功发送数据块,或USB有线链路断开的情况下,将USB有线链路中发送的数据块取出,并将取出的数据块通过P2P无线链路发送给第二终端;或者,在检测到P2P无线链路中超出第二时间阈值没有成功发送数据块,或P2P无线链路断开的情况下,将P2P无线链路中发送的数据块取出,并将取出的数据块通过USB有线链路发送给第二终端。
一种示例性的方式中,发送模块,具体用于:利用P2P无线链路向第二终端发送目标数据的基本信息和预览数据;在接收到第二终端返回的接收响应消息的情况下,通过USB有线链路和P2P无线链路向第二终端发送一个或多个数据块,其中,接收响应消息是第二终端响应于成功接收到目标数据的基本信息和预览数据后向第一终端发送的。
一种示例性的方式中,还包括接收模块;接收模块,用于接收第二终端利用USB有线链路发送的第一验证标识,以及第二终端通过P2P无线链路发送的第二验证标识;发送模块,还用于在第一验证标识和第二验证标识满足验证条件的情况下,利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块。
一种示例性的方式中,处理模块,还用于:获取第一终端与第二终端在P2P无线链路传输中的角色;在第一终端向第二终端发送数据的能力小于第二终端向第一终端发送数据的能力的情况下,将第一终端与第二终端交换角色。
一种示例性的方式中,处理模块,还用于控制USB控制模块停止USB有线链路之间的充电。
一种示例性的方式中,处理模块,还用于在第一终端为电池供电设备的情况下,获取第一终端的设备温度;处理模块,还用于在第一终端的设备温度高于第一阈值的情况下,控制USB控制模块停止USB有线链路之间的充电。
一种示例性的方式中,处理模块,还用于检测到第一终端的电量小于电量阈值的情况下,设置充电方向为第二终端向第一终端充电。
一种示例性的方式中,处理模块,还用于在第一终端的设备温度高度第二阈值的情况下,降低第一终端的中央处理器CPU运行频率;其中,第二阈值高于第一终端未进行数据传输时的限制CPU运行频率所设置的温度。
一种示例性的方式中,还包括显示模块;显示模块,用于基于分享操作,显示第一用户界面;第一用户界面中包括:一个或多个用户标识,以及各用户标识可用的P2P方式;用户标识为扫描得到的终端用户的标识,可用的P2P方式包括P2P有线和/或P2P无线;处理模块,还用于在第一用户界面中接收到对第二终端设备的用户标识的触发操作,且第二终端设备的用户标识可用的P2P方式为P2P有线和P2P无线的情况下,与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路。
一种示例性的方式中,显示模块,还用于在第一用户界面中接收到对第二终端设备的用户标识的触发操作;显示模块,还用于显示第二用户界面,第二用户界面包括:用于选择P2P无线传输的勾选控件、用于选择P2P有线传输的勾选控件,以及用于选择P2P无线和P2P有线同时传输的勾选控件;处理模块,还用于在第二用户界面中接收对用于选择P2P无线和P2P有线同时传输的勾选控件的勾选操作,与第二终端建立通用串行总线USB有线链路和P2P无线链路。
一种示例性的方式中,处理模块,还用于检测对目标数据的勾选操作,以及用于发送目标数据的发送操作。
一种示例性的方式中,显示模块,用于显示第三用户界面,第三用户界面包括用于指示USB有线链路的控件和用于指示P2P无线链路的控件;处理模块,还用于在检测到对用于指示USB有线链路的控件的触发操作的情况下,断开或开启USB有线链路的传输;或者,处理模块,还用于在检测到对用于指示P2P无线链路的控件的触发操作的情况下,断开或开启P2P无线链路的传输。
本申请实施例第三方面提供一种电子设备,包括:一个或多个处理器、收发器、存储器和接口电路;一个或多个处理器、收发器、存储器和和接口电路通过一个或多个通信总线通信;接口电路用于与其它装置通信,一个或多个计算机程序被存储在存储器中,并被配置为被一个或多个处理器或收发器执行以使得电子设备执行如第一方面或第一方面的任一种可能的设计的方法。
本申请实施例第四方面提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,使得计算机执行如第一方面或第一方面的任一种可能的设计的方法。
应当理解的是,本申请的第二方面至第四方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例的第一终端或第二终端中可能包括的功能单元示意图;
图2为本申请实施例的数据传输方法的一种应用场景示意图;
图3为本申请实施例的一种第一终端与第二终端进行USB链路协商的流程示意图;
图4为本申请实施例的基于USB有线链路的辅助进行P2P无线建链的流程示意图;
图5为本申请实施例的一种动态分配数据的过程示意图;
图6为本申请实施例的另一种动态分配数据的过程示意图;
图7为本申请实施例的一种双链路鉴权的过程示意图;
图8为本申请实施例的接口示意图;
图9为本申请实施例的一种数据传输方法的流程示意图;
图10为本申请实施例的一种用户界面示意图;
图11为本申请实施例的另一种用户界面示意图;
图12为本申请实施例的又一种用户界面示意图;
图13为本申请实施例的又一种用户界面示意图;
图14为本申请实施例的另一种数据传输方法的流程示意图;
图15为本申请实施例的一种数据传输方法的流程示意图;
图16为本申请实施例的一种数据传输装置的结构示意图;
图17为本申请实施例的又一种数据传输装置的结构示意图。
具体实施方式
通常的,在手机、平板、个人计算机(personal computer,PC)等终端之间,可能采用的数据传输的方式包括:基于蜂窝网络的传输方式,或基于P2P局域网技术的传输方式等。
蜂窝网络例如可以为第四代移动通信(4 Generation,4G)、第五代移动通信(5 Generation,5G)或未来可能的通信系统。基于蜂窝网络的数据传输方式具有简单方便的特点,例如,利用手机中的第三方应用程序(application,APP)可以方便的基于蜂窝网络实现数据传输。但是,基于蜂窝网络的数据传输方式需要耗费数据流量,速率较慢,且数据需要通过其他的中间设备传输,安全性较低。
P2P局域网技术可以如无线保真(Wireless Fidelity,WiFi)-P2P、Bluetooth或UWB等无线P2P,以及如利用USB或利用网线等的有线P2P,P2P的局域网技术可以实现终端之间直接进行数据传输。该传输方式可以不耗费数据流量,且数据不需要通过其他的中间设备传输,安全性较高。
因此,在待传输的数据量较大的场景中,通过P2P的局域网技术实现数据传输是较佳的传输方式。例如,在将旧手机中的数据向新手机中进行转移的场景中,或将手机中的数据拷贝到PC上的手机助手应用的场景中,涉及的数据量可能超出100G,可以通过P2P的局域网技术实现数据传输。
WiFi-P2P技术根据频率可以分为2.4GHZ及5GHZ的通道,2.4GHZ频率的P2P理论速率只有54Mbps,5GHZ频率的P2P理论速率为约2Gbps。虽然5GHZ频率的Wifi-P2P理论传输速率较高,但是对于数据量较大的传输场景,传输时间通常较长,长时间的传输会导致设备能耗较快,设备发热严重,因此,实际采用Wifi-P2P传输时,为了维持设备的较低功耗和温度,采用的传输速率会小于理论速率,即实际的传输速率较低。且Wifi-P2P容易受到电磁干扰,传输过程容易出现中断,可靠性不高。
蓝牙通常只有48Mbps的理论传输速率,传输速率较低。
红外传输速率低且对于障碍物的衍射能力差。
利用USB的P2P有线传输方式通常传输速率较高。在USB协议中,USB2.0的最大理论传输速率为480Mbps,USB3.0为5Gbps,USB3.1为10Gbps。USB2.0及以后的协议支持OTG,允许两个USB设备不经独立的USB主机端直接相互通讯。但是,有线传输中依赖于传输线,需要用户经常携带传输线,不够方便,传输线如果故障或松动,会导致数据传输终端。且,在USB链路中,作为主设备的终端会向作为从设备的终端充电,导致作为主设备的终端的功耗较高。
利用网线进行P2P有线传输比利用USB的方式更加复杂,需要更改较多网络设置参数,且现在支持网口的移动设备不多,应用场景更加受限。
综上,通常的P2P传输方式都难以实现灵活高效的数据传输。
本申请实施例提供了一种数据传输方法,以进行数据传输的两个设备为第一终端和第二终端为例,第一终端可以基于用户对目标数据的分享操作,在第一终端与第二终端建立USB有线链路和P2P无线链路,在应用层将目标数据分为多个数据块,并利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,因为数据块是利用USB有线链路和P2P无线链路并行发送的,不仅效率高,且在任一种链路出现传输问题时,另一条链路可以保障传输的正常进行,因此本申请实施例能实现灵活高效的数据传输。
本申请实施例中,执行第一终端或第二终端侧方法的执行主体可以是终端,也可以是终端中的装置(需要说明的是,在本申请提供的实施例中以终端为例进行描述的)。示例性地,终端可以是手机、平板或者PC等,终端中的装置可以是芯片系统、电路或者模块等,本申请不作限制。
本申请实施例所涉及的第一终端或第二终端可以包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(dentral processing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
示例性的,图1为本申请实施例的第一终端或第二终端中可能包括的功能单元示意图。
如图1所示,第一终端或第二终端可以包括:无线通信单元11、中央处理器单元12、数据存储单元13、设备搜索单元14和有线通信单元15。
其中,无线通信单元可以通过无线链路与其他设备进行信息交互或者数据传输。中央处理器单元可以负责本设备的数据与控制命令的处理。数据存储单元可以负责数据的读取与写入。设备搜索单元可以负责搜索一定范围内可以与本设备进行通信的其他设备。有线 通信单元可以通过有线链路与其他设备间进行数据传输。
本申请实施例的第一终端和第二终端之间可以建立USB有线链路和P2P无线链路。
示例性的,图2为本申请实施例的一种可能的应用场景示意图。如图2所示,第一终端10和第二终端20之间可以建立USB有线链路和P2P无线链路,进而第一终端10和第二终端20之间可以通过P2P无线局域网进行无线的数据传输,也可以用过USB-OTG功能进行有线的数据传输。
本申请实施例所涉及的第一终端与第二终端之间建立USB有线链路,可以采用开放配件协议(android open accessory protocol,AOA)协议或媒体传输协议(media transfer protocol,MTP)进行协商,确定第一终端和第二终端的USB链路的端口信息,以及获取对端是否支持USB的数据传输功能。
示例性的,图3示出了一种第一终端与第二终端进行USB链路协商的示意图,其中,在第一终端为主设备(master)时,第二终端为从设备(slave);第二终端为主设备时,第一终端为从设备。
如图3所示,主设备可以查询自身是否支持USB,若支持可以进一步查询分布式可信内容协议(decentralized trusted content protocol,DTCP)是否支持USB,若支持可以增加USB能力使能字段(USB-ability-local=1),以及创建DTCP USB信息片段,通过DTCP命令提示符(DTCP CMD)信道将主设备的DTCP USB信息片段发送给从设备。
适应的,从设备也可以采用类似的过程将从设备的DTCP USB信息片段发送给主设备。
主设备和从设备可以分别根据对端和自身的USB使能状态,协商USB链路。可以理解,在主设备和从设备都为USB-ability-local=1的情况下,主设备和从设备可以建立USB链路。
本申请实施例所涉及的第一终端与第二终端之间建立P2P无线链路,可以采用通常的P2P无线建链方式。也可以基于第一终端与第二终端之间的USB有线链路的辅助进行P2P无线建链。
示例性的,采用通常的P2P无线建链方式可以为:第一终端与第二终端的用户需要分别打开本端设备的无线网络,比如WiFi、蓝牙等无线网络。第一终端与第二终端向外发出广播消息。数据分享侧设备(例如第一终端)搜索当前范围内自己能够连接的所有设备。用户从搜索的目标设备中选中自己要分享数据的目标设备(例如第二终端)。然后第一终端和第二终端建立和协商无线传输信道信息。
可以理解,在通常的P2P无线建链方式中,无线信道传输需要广播,扫描,以及两次用户的主动操作。设备的动作和用户的交互较为复杂,P2P无线建链消耗的时间通常在20S以上,用户体验较差。
基于第一终端与第二终端之间的USB有线链路的辅助进行P2P无线建链是本申请实施例提出的建链方式,能实现快速的P2P无线建链。
示例性的,图4示出了一种基于第一终端与第二终端之间的USB有线链路的辅助进行P2P无线建链的流程示意图。
可以理解,在本申请实施例中,第一终端与第二终端之间预先可以响应于USB接口的有线连接操作建立USB有线链路,之后,基于USB有线链路的辅助进行快速P2P无线建链。因为第一终端与第二终端已经建立了USB有线链路,所以在第一终端与第二终端建立 P2P无线链路时,第二终端对于第一终端是已知的,因此,第一终端不需要基于广播、扫描或用户选择等确定需要建立P2P无线链路的第二终端,第一终端可以直接利用USB有线链路向第二终端发送P2P无线链路建立请求,在接收到来自第二终端的同意建立P2P无线链路的消息的情况下,建立与第二终端之间的P2P无线链路。在该过程中,用户可以是无感知的。
例如,如图4所示,基于第一终端与第二终端之间的USB有线链路的辅助进行P2P无线建链可以包括:
S401:第一终端向第二终端发送无线通道连接请求。
S402:第二终端向第一终端发送连接结果。
本申请实施例中,无线通道连接请求也可以称为P2P无线链路建立请求,等。无线通道连接请求可以是任意的字符、数字等,本申请实施例对此不作具体限定。
连接结果可以包括用于P2P无线链路建链的任意信息,例如,无线通信所需的端口(Port)号以及流序号(stream number)等,连接结果也可以称为同意建立P2P无线链路的消息,等,本申请实施例对此不作具体限定。
第一终端向第二终端发送无线通道连接请求后,第二终端可以协商无线链路信息,并将连接结果发送给第一终端,则第一终端可以与第二终端建立P2P无线链路。
可选的,在S401之前,第一终端和第二终端还可以确定各自是否有无线网络能力。例如,如图4所示,第一终端可以在确认自身具有无线网络能力(例如第一终端的无线网络为打开状态)的情况下,利用USB有线链路向第二终端发送用于查询第二终端网络是否打开的消息,如果第二终端的网络已经打开,则可以执行与第二终端建立P2P无线链路的过程。如果第二终端的网络没有打开,则可以请求第二终端打开网络,例如,在第二终端的用户界面中弹出弹窗,提示用户打开网络,用户可以执行同意打开网络的操作,打开第二终端的无线网络。第二终端通知第一终端已打开无线网络,则第一终端可以执行与第二终端建立P2P无线链路的过程。
可选的,第一终端与第二终端还可以协商无线通信的角色,例如,如图4所示,第一终端可以向第二终端发送无限通道建立协商请求。第二终端创建无线通信角色,以及向第一终端发送通道协商结果,实现第一终端与第二终端无线通信角色的协商。
在通常的USB通信应用场景中,通信角色通常包括主设备和从设备。主设备的硬件性能往往优于从设备,因此在通常的USB协议中,规定了主设备向从设备发送数据时,最大的读取缓存(buffer)为16K,导致主设备向从设备发送数据时,速率较慢,因此主设备是发送数据的能力较弱的设备。从设备向主设备发送数据,则没有限制,因此,从设备是发送数据的能力较强的设备。
因此,本申请实施例中,以第一终端向第二终端发送数据为例,在USB有线链路中,将第一终端设备为从设备,从而可以提升数据传输的速率。
一种可能的实现方式中,设置第一终端为从设备可以是第一终端自动执行的,例如,第一终端中检测到数据发送的操作时,自动将第一设备的角色设置为从设备。
另一种可能的实现方式中,设置第一终端为从设备可以是基于用户的操作实现的,例如,用户可以采用角色设置的操作,设置第一终端设备为从设备。
实际应用中,将第一终端设置为从设备的具体方式还可以根据实际的应用场景设定, 本申请实施例对此不作具体限定。
可以理解,如果是第二终端向第一终端传输数据,则可以将第二终端设备设置为从设备。一种可能的场景中,预先设置了第一终端为从设备,第二终端为主设备,后续,第二终端向第一终端发送数据,则可以将第一终端与第二终端交换角色,交换角色的具体可以通过协商等实现,本申请实施例对此不作具体限定。
需要说明的是,本申请实施例中,无论第一终端与第二终端是采用通常的USB有线建立方式和P2P无线建链方式实现在第一终端和第二终端中建立USB有线链路和P2P无线链路,还是基于第一终端与第二终端之间的USB有线链路的辅助进行P2P无线建链,均可以实现后续的第一终端在应用层将目标数据分为多个数据块,以及利用USB有线链路和P2P无线链路并行的向第二终端发送所述多个数据块,本申请实施例对实现在第一终端和第二终端中建立USB有线链路和P2P无线链路的方式不作具体限定。
本申请实施例所描述的将目标数据分为多个数据块可以在应用层实现,因为本申请实施例中,要利用USB有线链路和P2P无线链路实现并行数据传输,USB有线链路所遵循的底层通信协议与P2P无线链路所遵循的底层通信协议不同,因此,可以统一在应用层将目标数据分为多个数据块,从而可以避免因为两条链路采用的通信协议不同,导致的数据块分配不合理。
具体应用中,在应用层对待传输块分为多个数据块时,每块数据块的大小可以与USB有线链路和P2P无线链路的实际传输能力相关,本申请实施例对数据块的大小,以及数据块在应用层的具体划分方式不作限定。
本申请实施例所描述的并行可以用于表示USB有线链路和所述P2P无线链路共同传输所述目标数据。第一终端利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,可以指第一终端将多个数据块分别分配在USB有线链路和P2P无线链路中,利用USB有线链路和P2P无线链路同时向第二终端发送,从而可以提升数据发送的效率。
可以理解,具体应用中,在向USB有线链路和P2P无线链路分配数据块时,可以基于USB有线链路或P2P无线链路的实际情况,分配适应的数据块,从而使得数据块可以得到较快的传输。
示例性的,一种具体实现可以为:第一终端根据USB有线链路的带宽和P2P无线链路的带宽,将多个数据块分配到USB有线链路和P2P无线链路上,通过USB有线链路和P2P无线链路并行的向第二终端发送多个数据块。
本申请实施例中,可以根据USB有线链路的带宽和P2P无线链路的带宽,为USB有线链路和P2P无线链路分配合适的数据,从而可以避免数据量与各链路带宽不适配导致的传输速度较慢的问题。例如,第一终端可以实时测量USB有线链路传输数据的耗时情况和P2P无线链路传输数据的耗时情况,并根据测得的结果,动态的为USB有线链路和P2P无线链路分配合适的数据,使得各链路的带宽可以较优化使用,进一步提升传输速率。
可选的,可以设置对应于USB有线链路的第一缓存,以及对应于P2P无线链路的第二缓存,在第一缓存中可以设置与USB有线链路的带宽匹配的M个数据块,在第二缓存中设置与P2P无线链路的带宽匹配的N个数据块,M和N均为自然数。在在第一缓存或第二缓存中的数据块发出时,向第一缓存或第二缓存中补充设置多个数据块中未分配的数据块。
例如,第一缓存可以包括一个或多个第一队列,第二缓存可以包括一个或多个第二队列。第一队列中的M个数据块可以遵循先进先出的规则,也可以基于指针等的指示实现其他的进出规则。第二队列中的N个数据块可以遵循先进先出的规则,也可以基于指针等的指示实现其他的进出规则。各数据块可以携带序号等,在第二终端接收到USB有线链路和P2P无线链路分别发送的数据包后,可以依据数据包的序号等,进行处理,还原得到第一终端中的目标数据。
可以理解,考虑到USB有线链路的传输速率与P2P无线链路的传输速率的差别,第一缓存的容量和第二缓存的容量可以区分设置,例如可以在传输速率较快的链路对应的缓存中设置较多的数据块。
在传输过程中,如果任一个缓存中有数据包发出,及时为该缓存补充新的数据包。如果第一缓存或第二缓存中任意队列中数据块长时间未发出,还可以将该长时间未发出数据包队列中的数据包调整到发送数据包速率较快的队列中,实现传输过程的动态调配,使得序列号相近的数据包可以尽快发送给第二终端进行组合灯处理,提升数据传输的效率。
如果传输中发生丢包,可以进行重传等。
如果USB有线链路发生故障,例如USB线被拔出等,可以将USB有线链路中发送的数据块从USB有线链路取出,并交由P2P无线链路发送给第二终端,从而可以保证数据能成功从第一终端传输到第二终端。
如果P2P无线链路发生故障,例如P2P无线链路被关闭等,可以将P2P无线链路中发送的数据块从P2P无线链路取出,并交交由USB有线链路发送给第二终端,从而可以保证数据能成功从第一终端传输到第二终端。
示例性的,图5示出了一种动态分配数据的过程示意图,如图5所示,以USB有线链路和P2P无线链路分别对应会话(session)i和session j为例,初始时为session i分配n个数据块,为session j分配m个数据块,n和m的值可以根据实际的应用场景确定,如果检测到session i发送n个数据块的耗时t1小于session j发送m个数据块的耗时t2超过预设值(例如0.1至0.2的任意值等),则再后续分配中,可以增大n值。如果检测到session i发送n个数据块的耗时t1大于session j发送m个数据块的耗时t2超过预设值,则再后续分配中,可以增大m值。可以理解,如果t1和t2的差距小于预设值,则可以不调整n和m的值,本申请实施例对此不作具体限定。
示例性的,图6示出了另一种动态分配数据分配的过程示意图。如图6所示,以USB有线链路和P2P无线链路分别对应session1和session2为例。若session1的数据块发送失败,可以将失败信息和数据块标识(identity,ID)上报给回话管理模块(session manager),session manager可以统计数据块传输失败的次数n,如果n小于一定值,则可以继续为session1分配数据块。如果n大于或等于一定值(例如3等),则停止为session1分配数据,将session1的数据块分配给session2。进一步的,还可以通知上层应用重新初始化session1对应的链路,如果初始化成功,可以认为session1重新建立连接,session1恢复正常,则可以重新为session1分配数据块。
为了保障数据传输的安全性,本申请实施例中第一终端利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块时,还可以进行鉴权。例如,第一终端可以接收第二终端利用USB有线链路发送的第一验证标识,以及第二终端通过P2P无线链路发送 的第二验证标识;在第一验证标识和第二验证标识满足验证条件的情况下,利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块。
其中,第一验证标识和第二验证标识均可以是随机数(random number,RN)等。
验证条件可以指第一验证标识和第二验证标识相同,或第二验证标识与第二验证标识满足一定的关联等,本申请实施例对此不作具体限定。
示例性的,图7示出了一种双链路鉴权的过程示意图。如图7所示,第二终端可以在应用程序中生成随机数(random number,RN)2,并将RN2分别发送给USB有线处理部分和P2P无线处理部分,进而RN2可以分别通过USB有线链路发送给第一终端的USB有线处理部分,通过P2P无线链路发送给第一终端的P2P无线处理部分,第一终端可以校验通过USB有线链路接收的随机数与通过P2P无线链路接收的随机数是否满足验证条件(例如是否相同),如果满足验证条件认为第二终端校验通过。
适应性的,第一终端也可以生成RN1,并分别通过USB有线链路和P2P无线链路发送给第二终端,第二终端基于第一终端类似的方式校验通过USB有线链路接收的随机数与通过P2P无线链路接收的随机数是否满足验证条件,如果满足验证条件认为第一终端校验通过。
可以理解,在第一终端或第二终端校验中,如果存在校验不通过的情况,则可以只利用USB有线链路进行数据传输,或只利用P2P无线链路进行传输,从而可以保证数据传输的安全。
在数据传输中,还存在着设备发热和充放电的问题。
例如,USB链路中,作为主设备的终端通常会为作为从设备的终端充电,因此在数据传输中,主设备的功耗较大,发热较严重,影响数据传输的效率,且可能导致发热严重的终端启动过热保护终止数据传输。
本申请实施例中,可以检测第一终端与第二终端的角色,若第一终端作为从设备与第二终端进行数据传输,可以停止USB链路之间的充电。或者在检测到第一终端的设备温度高于第一阈值(第一阈值可以根据实际应用场景确定,例如为38摄氏度至42摄氏度的任意值等)的情况下停止USB链路之间的充电。
示例性的,停止USB链路之间的充电可以为关闭第一终端的充电接口,等。充电接口例如可以是如图8中所示的VBUS接口。从而可以关闭对第一终端的电池、屏幕或中央处理器的充电,从而可以降低第二终端的放电。利用USB进行正常通信的其他引脚,比如用于USB3.X协议数据发送/接收的TX/RX引脚不关闭,可以保证数据的传输过程不中断。
具体应用中,第一终端可以是电源供电设备,例如PC等。第一终端也可以是电池供电设备,例如手机、平板等移动设备。第二终端可以是电源供电设备,例如PC等。第二终端也可以是电池供电设备,例如手机、平板等移动设备。
一种可能的检测第一终端或第二终端为电源供电设备或电池供电设备的方法为:检测第一终端与第二终端之间用于传递消息的通道,电源供电设备与电池供电设备之间传递消息的通道、电源供电设备与电源供电设备之间传递消息的通道、以及电池供电设备与电池供电设备之间传递消息的通道不同,第一终端可以基于与第二设备之间传递消息的通道判定第二终端为电源供电设备或电池供电设备,第二终端可以基于与第二设备之间传递消息的通道判定第一终端为电源供电设备或电池供电设备。
如果第一终端和第二终端都是电源供电设备,则可以不进行关闭第一终端的充电接口等的充放电管控。
如果第一终端为电池供电设备,第二终端为电源供电设备,第二终端可以作为放电方为第一终端充电,则可以不进行关闭第一终端的充电接口等操作。
如果第一终端和第二终端均为电池供电设备,则可以关闭作为从设备的终端的充电接口,避免主设备的电量消耗过快,以及充放电导致的发热。
如果第一终端和第二终端均为电池供电设备,例如手机,还可以获取第一终端的电量和第二终端的电量,如果第一终端的电量小于电量阈值(电量阈值可以根据实际应用场景设定,例如可以为1%-20%的任意值等,本申请实施例不作限定),可以设置充电方向为第二终端向第一终端充电,或可以理解为第一终端为接收充电的设备,第二终端为向外充电的设备,从而第一终端可以接收第二终端的充电。例如可以设置第一终端为从设备,第二终端为主设备等。从而使得第一终端可以有足够的电量进行数据传输。一种可能的实现方式中,第一终端接收第二终端的充电时,还可以在第一终端的电量大于一定值或第二终端的电量低于一定值时,停止USB有线链路之间的充电,例如关闭第一终端的充电接口,本申请实施例对此不作具体限定。
或者,如果第二终端的电量小于电量阈值,可以设置充电方向为第一终端向第二终端充电,或可以理解为第二终端为接收充电的设备,第一终端为向外充电的设备,从而第二终端可以接收第一终端的充电。例如可以设置第二终端为从设备,第一终端为主设备等。从而使得第二终端可以有足够的电量进行数据传输。一种可能的实现方式中,第一终端向第二终端充电时,还可以在第二终端的电量大于一定值或第一终端的电量低于一定值时,停止USB有线链路之间的充电,例如关闭第一终端的充电接口,本申请实施例对此不作具体限定。
或者,可以在第一终端电量小于或等于较小电量阈值(较小电量阈值是相对于较大电量阈值而言的,较小电量阈值可以根据实际应用场景设定,例如可以为1%-20%的任意值等,本申请实施例不作限定),且第二终端设备大于或等于较高电量阈值(较大电量阈值是相对于较大电量阈值而言的,较大电量阈值可以根据实际应用场景设定,例如可以为50%-100%的任意值等,本申请实施例不作限定)的情况下,设置充电方向为第二终端向第一终端充电。
或者,在第二终端电量小于或等于较小电量阈值,且第一终端设备大于或等于较高电量阈值的情况下,设置充电方向为第一终端向第二终端充电。
具体应用中,还可以根据不同应用场景灵活的设置第一终端与第二终端之间的充电方向,本申请实施例对此不作具体限定。
在第一终端和第二终端进行数据传输的过程中,第一终端和第二终端的系统处于连续唤醒工作状态,可能会导致系统过热,可以采取降低CPU运行频率等措施,来限制设备温度持续升高。
通常的,如果第一设备的设备温度高于40摄氏度就会采取降低CPU运行频率等措施。这样虽然可以限制设备温度持续升高,但是会导致传输过程中文件打包和传输速率降低,因此,本申请实施例中,可以在第一终端和第二终端进行数据传输的场景中,提升执行降低CPU运行频率等措施所要达到的温度阈值,该温度阈值高于第一终端未进行数据传输时 的限制CPU运行频率所设置的温度。例如,可以温度阈值设置为43摄氏度左右的值,使得触发降低CPU运行频率的条件较高,从而可以提升数据传输速率。
示例性的,识别第一终端和第二终端进行数据传输的场景的方法可以为:通过前台应用是备份或者克隆应用来识别,或通过后台关键数据备份服务的运行状态来识别;或通过数据传输状态来识别,等,本申请实施例对此不作具体限定。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图9示出了本申请实施例的数据传输方法的流程示意图。如图9所示,该方法包括:
S901:检测分享操作;所述分享操作用于传输目标数据。
S902:基于分享操作,与第二终端建立USB有线链路和P2P无线链路。
S903:将目标数据分为多个数据块。
S904:利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块。
本申请实施例中,分享操作也可以称为发送操作或传输操作,等,用于触发对目标数据的传输。
在第一种可能的应用场景中,进行数据传输的用户操作可以为:用户将第一终端可以与第二终端通过Type-C对Type-C线连接,用户在第一终端选择待传输的数据并触发分享待传输的数据,第一终端与第二终端之间进行数据传输。
示例性的,用户将第一终端与第二终端通过Type-C对Type-C线连接,第一终端的界面可以为如图10所示的用户界面,例如,在第一终端的用户界面可以弹出悬浮框31,在悬浮框31中,用户可以选择USB连接的用途,用户可以通过点击等操作选择USB连接用于传输图片或传输文件。
具体实现中,电池供电设备与电脑供电设备是传输可以是MTP协议,在电池供电设备与电脑供电设备进行有线连接时,可能需要显示图10的用户界面,用于用户选择传输文件。在第一终端和第二终端均为电池供电设备(例如手机)的情况下,可以使用AOA协议,用户将第一终端与第二终端通过Type-C对Type-C线连接时,第一终端也可以不弹出如图10的用户界面,本申请实施例对此不作具体限定。
示例性的,用户在第一终端选择待传输的数据并触发分享待传输的数据,第一终端可以获取用户选择的待传输的数据(例如一张或多张图片,或一个或多个文件等),显示如图11a所示的用户界面,例如,用户可以选定待传输文件,触发分享控件,在第一终端的用户界面中可以显示分享应用程序的标志“Huawei分享(Share)”41,等,用户可以触发Huawei Share中触发进行数据发送的按钮等实现分享操作。
则在一种可能实现的方式中,基于分享操作,第一终端可以基于上述与第二终端建立P2P无线链路的方式,建立与第二终端的P2P无线链路,以及显示如图11b所示的用户界面。在图11b所示的用户界面中可以显示文件的传输进度,例如在“Huawei Share”的图标中显示进度条43。
图11b的用户界面中还可以显示无线标识44和有线标识45,无线标识44可以用于指示当前数据传输中是否使用P2P无线链路,示例性的,可以通过在无线标识44中设置不同的背景色、字体颜色或字体等表示当前数据传输中是否采用P2P无线链路。例如,在无 线标识44的背景色为绿色时,表示当前正在使用P2P无线链路进行数据传输,在无线标识44的背景色为红色时,表示当前未使用P2P无线链路进行数据传输;或者,在无线标识44的字体为正常字体时,表示当前正在使用P2P无线链路进行数据传输,在无线标识44的的字体置灰时,表示当前未使用P2P无线链路进行数据传输。有线标识45可以有不同的状态,例如,可以通过不同的背景色、字体颜色或字体等表示当前数据传输中是否采用USB有线链路有线标识45可以用于指示当前数据传输中是否使用USB有线链路,示例性的,可以通过在有线标识45中设置不同的背景色、字体颜色或字体等表示当前数据传输中是否采用USB有线链路。例如,在有线标识45的背景色为绿色时,表示当前正在使用USB有线链路进行数据传输,在有线标识45的背景色为红色时,表示当前未使用USB有线链路进行数据传输;或者,在有线标识45的字体为正常字体时,表示当前正在使用USB有线链路进行数据传输,在有线标识45的的字体置灰时,表示当前未使用USB有线链路进行数据传输。
一种可能的实现方式中,无线标识44可以设置在控件中,有线标识45可以设置在控件中。在用户通过点击、拖动等操作触发无线标识44的控件时,可以改变P2P无线链路的传输状态,例如,若当前正使用P2P无线链路传输数据,接收到用户对无线标识44的触发时,可以断开P2P无线链路;或者,若当前正未使用P2P无线链路传输数据,接收到用户对无线标识44的触发时,可以开启P2P无线链路。在用户通过点击、拖动等操作触发有线标识45的控件时,可以改变USB有线链路的传输状态,例如,若当前正使用USB有线链路传输数据,接收到用户对有线标识45的触发时,可以断开USB有线链路;或者,若当前正未使用USB有线链路传输数据,接收到用户对有线标识45的触发时,可以开启USB有线链路。
图11b的用户界面中还可以显示第二终端的用户标识42(例如可以包括用户图像、昵称、电话号等的一种或多种),以及数据传输的状态(例如已发送多少个文件,未发送多少个文件,等)。用户界面中还可以显示其他内容,本申请实施例对此不作具体限定。其中,第一终端可以在应用层将目标数据分为多个数据块,以及利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块的过程参见前述实施例中的说明,在此不再赘述。
在另一种可能实现的方式中,基于分享操作,第一终端可以显示如图11c所示的用户界面;该用户界面中包括:一个或多个用户标识,以及各用户标识可用的P2P方式;用户标识为扫描得到的终端用户的标识,可用的P2P方式包括P2P有线和/或P2P无线。
例如,如11c所示,可以显示与第一终端进行有线连接的第二终端的用户标识42,第二终端可用的P2P方式为P2P无线和P2P有线均可用,则可以在用户标识42附近同时显示用于表示有线可用的标识和用于表示无线可用的标识。以及第一终端扫描附近的可进行无线传输的其他设备的用户标识46,用户标识46可用的P2P方式为P2P无线,则可以在用户标识46附近对应显示用于表示无线可用的标识。其他设备的用户标识的数量可以为多个,类似于上述的显示,本申请实施例对此不作具体限定。用户可以在图11c的用户界面中触发操作用户标识42,与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路,以及显示如图11b所示的用户界面,在此不再赘述。
在另一种可能实现的方式中,基于分享操作,第一终端可以显示如图11d所示的用户 界面;该用户界面中包括:一个或多个用户标识,以及各用户标识可用的P2P方式;用户标识为扫描得到的终端用户的标识,可用的P2P方式包括P2P有线和/或P2P无线。
例如,如11d所示,可以显示与第一终端进行有线连接的第二终端的用户标识42,第二终端可用的P2P方式为P2P无线和P2P有线均可用,则可以在用户标识42附近显示用于表示有线和无线均可用的一个标识。以及第一终端扫描附近的可进行无线传输的其他设备的用户标识46,用户标识46可用的P2P方式为P2P无线,则可以在用户标识46附近对应显示用于表示无线可用的标识。其他设备的用户标识的数量可以为多个,类似于上述的显示,本申请实施例对此不作具体限定。
用户可以在图11d的用户界面中触发操作用户标识42,第一终端进一步显示如图11e所示的用户界面,该用户界面包括:用于选择P2P无线传输的勾选控件471、用于选择P2P有线传输的勾选控件472,以及用于选择P2P无线和P2P有线同时传输的勾选控件473;用户可以勾选用于选择P2P无线和P2P有线同时传输的勾选控件473,与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路,以及显示如图11b所示的用户界面,在此不再赘述。
在第二种可能的应用场景中,进行数据传输的用户操作可以为:用户在第一终端选择待传输的数据,用户将第一终端可以与第二终端通过Type-C对Type-C线连接,用户触发分享待传输的数据,第一终端与第二终端之间进行数据传输。
用户可以基于通常的操作在第一终端中选择待传输的数据。示例性的,用户可以采用通常的“Huawei Share”的触发操作,选定待传输的数据。或者,用户可以在第一终端和第二终端分别打开“手机克隆”应用程序(该应用程序可以用于实现一键换机),进而选择待传输的数据。
用户将第一终端与第二终端通过Type-C对Type-C线连接,第一终端的界面可以为如图10所示的用户界面,或者,第一终端也可以不弹出用户界面,本申请实施例对此不作具体限定。
用户触发分享待传输的数据。如果用户采用“Huawei Share”的触发操作选定待传输的数据,第一终端可以显示如图11的用户界面并进行如上述对图11的数据传输过程,在此不再赘述。如果用户采用“手机克隆”应用程序的触发操作选定待传输的数据,可以显示任意符合场景的用户界面,以及第一终端可以在应用层将目标数据分为多个数据块,以及利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,在此不再赘述。
在第三种具体的应用场景中,进行数据传输的用户操作可以为:用户采用通常的P2P连接方法在第一终端和第二终端之间建立P2P无线链路,用户在第一终端选择待传输的数据,用户触发分享待传输的数据,用户将第一终端可以与第二终端通过Type-C对Type-C线连接,第一终端与第二终端之间进行数据传输。
示例性的,用户可以在第一终端中基于通常的无线P2P技术搜索到第二终端,与第二终端建立P2P无线链路,并基于通常的P2P无线链路传输的方法选择和传输待传输的数据。
在该过程中,用户通过传输线将第一终端与第二终端连接,与第二终端建立USB有线链路,则第一终端与第二终端建立USB有线链路和P2P无线链路,进而第一终端可以在在应用层将剩余的目标数据分为多个数据块,利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块。本申请实施例对此不作具体限定。
在第四种可能的应用场景中,进行数据传输的用户操作可以为:用户将第一终端可以与第二终端通过Type-C对Type-C线连接,用户在第一终端和第二终端中开启一键换机的应用(例如手机克隆应用),用户在第一终端选择待传输的数据并触发分享待传输的数据,第一终端与第二终端之间进行数据传输。
示例性的,如图12的a所示,用户可以在第一终端中开启手机克隆应用,并基于通常的手机克隆方式建立与第二终端之间的P2P无线连接,在第一终端中显示如图12b所示的用户界面,该用户界面中可以显示能够进行迁移的应用的勾选框,例如可以包括图片的勾选框51,等,用户点击开始迁移的控件,实现对勾选的数据的分享操作。基于分享操作,第一终端可以基于上述与第二终端建立P2P无线链路和USB有线链路,以及显示如图12c所示的用户界面。在图12c所示的用户界面中可以显示文件的传输进度条55。
用户界面中还可以显示无线标识53和有线标识54,无线标识53可以用于指示当前数据传输中是否使用P2P无线链路,示例性的,可以通过在无线标识53中设置不同的背景色、字体颜色或字体等表示当前数据传输中是否采用P2P无线链路。例如,在无线标识53的背景色为绿色时,表示当前正在使用P2P无线链路进行数据传输,在无线标识53的背景色为红色时,表示当前未使用P2P无线链路进行数据传输;或者,在无线标识53的字体为正常字体时,表示当前正在使用P2P无线链路进行数据传输,在无线标识53的的字体置灰时,表示当前未使用P2P无线链路进行数据传输。有线标识54可以有不同的状态,例如,可以通过不同的背景色、字体颜色或字体等表示当前数据传输中是否采用USB有线链路有线标识54可以用于指示当前数据传输中是否使用USB有线链路,示例性的,可以通过在有线标识54中设置不同的背景色、字体颜色或字体等表示当前数据传输中是否采用USB有线链路。例如,在有线标识54的背景色为绿色时,表示当前正在使用USB有线链路进行数据传输,在有线标识54的背景色为红色时,表示当前未使用USB有线链路进行数据传输;或者,在有线标识54的字体为正常字体时,表示当前正在使用USB有线链路进行数据传输,在有线标识54的的字体置灰时,表示当前未使用USB有线链路进行数据传输。
一种可能的实现方式中,无线标识53可以设置在控件中,有线标识54可以设置在控件中。在用户通过点击、拖动等操作触发无线标识53的控件时,可以改变P2P无线链路的传输状态,例如,若当前正使用P2P无线链路传输数据,接收到用户对无线标识53的触发时,可以断开P2P无线链路;或者,若当前正未使用P2P无线链路传输数据,接收到用户对无线标识53的触发时,可以开启P2P无线链路。在用户通过点击、拖动等操作触发有线标识54的控件时,可以改变USB有线链路的传输状态,例如,若当前正使用USB有线链路传输数据,接收到用户对有线标识54的触发时,可以断开USB有线链路;或者,若当前正未使用USB有线链路传输数据,接收到用户对有线标识54的触发时,可以开启USB有线链路。
用户界面中还可以显示数据传输的状态(例如已发送多少个文件,未发送多少个文件,等),用户界面中还可以显示用于指示同时使用有线链路传输和无线链路传输的标识等。用户界面中还可以显示其他内容,本申请实施例对此不作具体限定。其中,第一终端可以在应用层将目标数据分为多个数据块,以及利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块的过程参见前述实施例中的说明,在此不再赘述。
一种可能的实现方式中,用户将第一终端可以与第二终端通过Type-C对Type-C线连接,用户在第一终端选择待传输的数据并触发分享待传输的数据,第一终端与第二终端之间进行数据传输。
示例性的,第一终端中可以显示如13a所示的用户界面,该用户界面中包括用户勾选的待传输文件,以及第一终端建立USB有线连接的第二终端的用户标识61(例如可以包括用户图像、昵称、电话号等的一种或多种)、第一终端基于无线扫描发现的其他设备的用户标识等,一种可能的实现方式中,图13a所示的用户界面中,在用户标识周围还可以显示用于标识该用户与第一终端之间可用的数据传输方式,示例性的,用户标识61周围可以显示有线标识65和无线标识66,用于标识第一终端和第二终端之间既可以采用USB无线链路传输数据,也可以采用P2P无线链路传输数据;用户ID2周围可以显示无线标识,用于标识第一终端和用户ID2可以采用P2P无线链路传输数据。在第一终端向第二终端传输数据的情况下,用户可以触发用户标识61,进入如图13b所示的用户界面。
图13b的用户界面中还可以显示无线标识62和有线标识63,无线标识62可以用于指示当前数据传输中是否使用P2P无线链路,示例性的,可以通过在无线标识62中设置不同的背景色、字体颜色或字体等表示当前数据传输中是否采用P2P无线链路。例如,在无线标识62的背景色为绿色时,表示当前正在使用P2P无线链路进行数据传输,在无线标识62的背景色为红色时,表示当前未使用P2P无线链路进行数据传输;或者,在无线标识62的字体为正常字体时,表示当前正在使用P2P无线链路进行数据传输,在无线标识62的的字体置灰时,表示当前未使用P2P无线链路进行数据传输。有线标识63可以有不同的状态,例如,可以通过不同的背景色、字体颜色或字体等表示当前数据传输中是否采用USB有线链路有线标识63可以用于指示当前数据传输中是否使用USB有线链路,示例性的,可以通过在有线标识63中设置不同的背景色、字体颜色或字体等表示当前数据传输中是否采用USB有线链路。例如,在有线标识63的背景色为绿色时,表示当前正在使用USB有线链路进行数据传输,在有线标识63的背景色为红色时,表示当前未使用USB有线链路进行数据传输;或者,在有线标识63的字体为正常字体时,表示当前正在使用USB有线链路进行数据传输,在有线标识63的的字体置灰时,表示当前未使用USB有线链路进行数据传输。
一种可能的实现方式中,无线标识62可以设置在控件中,有线标识63可以设置在控件中。在用户通过点击、拖动等操作触发无线标识62的控件时,可以改变P2P无线链路的传输状态,例如,若当前正使用P2P无线链路传输数据,接收到用户对无线标识62的触发时,可以断开P2P无线链路;或者,若当前正未使用P2P无线链路传输数据,接收到用户对无线标识62的触发时,可以开启P2P无线链路。在用户通过点击、拖动等操作触发有线标识63的控件时,可以改变USB有线链路的传输状态,例如,若当前正使用USB有线链路传输数据,接收到用户对有线标识63的触发时,可以断开USB有线链路;或者,若当前正未使用USB有线链路传输数据,接收到用户对有线标识63的触发时,可以开启USB有线链路。
图13b的用户界面中还可以显示第二终端的用户标识61,以及数据传输的状态(例如已发送多少个文件,未发送多少个文件,等),进度条64,等。用户界面中还可以显示其他内容,本申请实施例对此不作具体限定。其中,第一终端可以在应用层将目标数据分为 多个数据块,以及利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块的过程参见前述实施例中的说明,在此不再赘述。
在一种可能的实现方式中,在第一终端与第二终端数据传输的过程中,第一终端还可以检测与第二终端之间的USB有线链路与P2P无线链路是否可用,并根据USB有线链路与P2P无线链路是否可用的情况适应修改图13b中无线标识62以及有线标识63的状态。例如,在数据传输过程中,初始时USB有线链路可用,有线标识63背景色为绿色,若USB有线链路异常或断开,可以采用P2P无线链路传输,并将有线标识63背景色设置为红色,若USB有线链路恢复,可以重新将有线标识63背景色设置为绿色,重新为USB有线链路分配数据;或者,在数据传输过程中,初始时P2P无线链路可用,无线标识62背景色为绿色,若P2P无线链路异常或断开,可以采用USB有线链路传输,并将无线标识62背景色设置为红色,若P2P无线链路恢复,可以重新将无线标识62背景色设置为绿色,重新为P2P无线链路分配数据。从而使得用户可以在用户界面中了解进行数据传输的具体链路。
可以理解,本申请实施例的数据传输方法还可以根据实际的需求应用于其他的应用场景中,因为本申请实施例中,第一终端与第二终端可以利用USB有线链路和P2P无线链路并行的传输数据,传输效率较高。
一种可能的实现方式中,在第一终端向第二终端传输数据前,还可以向第二终端发送目标数据的基本信息和预览数据,基本信息可以包括数据的大小、内容等,预览数据可以是数据的一部分缩略内容等。若第二终端可以接收到基本信息和预览数据,则可以发送用于标识成功接收到基本信息和预览数据的接收响应消息,则第一终端可以通过USB有线链路和P2P无线链路向第二终端发送目标数据,从而可以进一步保证数据可以成功发送给第二终端。
示例性的,图14示出了一种数据发送的过程示意图。如图14所示,以第一终端为主设备,第二终端为从设备为例。第一终端向第二终端发送数据的过程可以包括:
第一终端和第二终端利用各自的P2P无线控制模块相互交换自身的P2P无线信道的状态信息和P2P有线信道的状态信息,确定双方拥有P2P有线链路和P2P无线链路的功能。
第一终端和第二终端各自的P2P有线链路(例如USB通道)开进行链路初始化,协商双方的角色信息,例如确定各自USB端口的接口(Interface),函数(function),端点(endpoint)等链路信息。
第一终端和第二终端利用各自的P2P无线链路交互双方的会话(session)ID。
第一终端向第二终端发送的文件的基本信息、预览数据等内容。
第二终端确认接收数据,可以发送响应信息。
第一终端向第二终端利用各自的P2P无线控制模块协商确定P2P无线链路的stream数目、port端口号。以及基于RN1和RN2实现双向验证。
第一终端向第二终端通过双向验证后,通过P2P有线链路和P2P无线链路并行的向第二终端发送数据。
数据发送和接收成功后,第一终端向第二终端利用各自的P2P无线控制模块通知上层应用,提示用户文件传输已结束。
综上所述,本申请实施例中,第一终端可以基于用户对目标数据的分享操作,在第一终端与第二终端建立USB有线链路和P2P无线链路,在应用层将目标数据分为多个数据 块,并利用USB有线链路和P2P无线链路并行的向第二终端发送多个数据块,因为数据块是利用USB有线链路和P2P无线链路并行发送的,因此能实现高效的数据传输。
在图9对应的实施例的基础上,在数据传输的过程中,还可以根据第一终端与第二终端之间的P2P链路的可用情况,灵活的选择合适的P2P链路。示例性的,图15示出了本申请实施例的数据传输方法的流程示意图。如图15所示,该方法包括:
S1301:第一终端确定与第二终端之间的可用的P2P链路,可用的P2P链路包括以下链路中的至少一种:P2P有线链路或P2P无线链路。
在第一终端和第二终端进行数据传输过程,第一终端可以检测与第二终端之间的可用的P2P链路,确认第一终端和第二终端之间是否具备P2P无线通信或P2P有线通信的能力。
示例性的,第一终端可以基于蜂窝网络与第二终端之间进行通信。例如,第二终端可以通过会话消息等将第二终端所支持的P2P通信方式告知第一终端,第一终端结合自身所支持的P2P通信方式确认与第二终端之间的可用的P2P链路。
或者,第一终端可以基于用户的选择确认与第二终端之间的可用的P2P链路。例如,在第一终端或第二终端中可以提供用户界面,用户界面中可以包括第一终端和第二终端可能的P2P通信方式,用户可以根据自身需求在用户界面中选择第一终端与第二终端之间所采用的P2P链路。
或者,第一终端设备可以基于USB协议或WIFI-P2P协议确定与第二终端之间的可用的P2P链路。
例如,对于采用网线的有线传输方式,可以确认第一终端和第二终端的IP地址设置是否正确,消息能否到达对方。
对于采用P2P方式的无线通道,第一终端和第二终端可以协商无线通信所需的端口(Port)号以及流序号(Stream Num),以建立P2P无线链路。
对于USB链路,第一终端和第二终端可以采用AOA或MTP协议进行协商,确定第一终端和第二终端的USB链路的端口信息,以及获取对端是否支持USB的数据传输功能。
S1302:第一终端通过可用的P2P链路向第二终端发送一目标应用的数据。
本申请实施例中,根据实际的应用场景,第一终端与第二终端之间的可用的P2P链路可以仅包括P2P有线链路,或仅包括P2P无线链路,或包括P2P有线链路和P2P无线链路。
目标应用可以是用户选择的用于传输数据的应用,例如可以是Huawei Share应用或其他任意能够用于P2P传输的应用程序,本申请实施例对此不作具体限定。
第一终端可以适应的通过P2P有线链路、P2P无线链路、或P2P有线链路和P2P无线链路并行的方式向第二终端发送该目标应用中选中的数据。因为第一终端与第二终端之间的P2P链路可以根据当前应用场景确定,因此本申请实施例能通过该适用于当前应用场景的P2P链路实现灵活高效的数据传输。
在一种可能的实现方式中,第一终端确定与第二终端之间的可用的点对点P2P链路,包括:在第一终端与第二终端之间存在P2P有线链路和P2P无线链路的情况下,第一终端确定可用P2P链路包括P2P有线链路和P2P无线链路;在第一终端与第二终端之间仅存在P2P有线链路的情况下,第一终端确定可用P2P链路仅包括P2P有线链路;在第一终端与第二终端之间仅存在P2P无线链路的情况下,第一终端确定可用P2P链路仅包括P2P无线链路。
用户在P2P数据传输的实际使用场景中,可能会遇到以下状况:第一种情况,未携带有线媒介(如,Type-c对Type-c的OTG线),所以第一终端和第二终端的数据传输选择使用P2P无线链路。第二种情况,第一终端或第二终端的电量不足,出于能耗考虑选择P2P有线链路。
第一终端在启动初始化时可以自动感知有线链路或无线链路是否可用。对于第一种情况,在第一终端和第二终端之间没有OTG线连接,第一终端设备可以确认可用的P2P链路为P2P无线链路。对于第二种情况,第一终端可以确认可用的P2P链路为P2P有线链路。
在第一终端或第二终端电量充足,且存在有线连接,可以确认可用P2P链路包括P2P有线链路和P2P无线链路。
这样,第一终端可以根据实际的应用场景灵活确定与第二终端之间的可用P2P链路。
另一种可能的实现方式中,第一终端确定与第二终端之间的可用的点对点P2P链路,包括:在第一终端与第二终端之间存在P2P有线链路和P2P无线链路的情况下,第一终端显示链路选择界面;第一终端接收用户通过链路选择界面输入的选择信号,选择信号用于指示使用P2P有线链路和P2P无线链路进行通信的至少一种;第一终端根据选择信号,确定可用P2P链路包括P2P有线链路和/或P2P无线链路。
本申请实施例中,在第一终端与第二终端之间存在P2P有线链路和P2P无线链路的情况下,为了尽可能的满足用户需求,可以在第一终端显示链路选择界面,使得用户可以在链路选择界面中选择需求的传输方式。
另一种可能的实现方式中,第一终端确定与第二终端之间的可用的点对点P2P链路,包括:在第一终端与第二终端之间存在P2P有线链路和P2P无线链路的情况下,第一终端根据以下信息中的一种或多种:目标应用中目标数据的数据量、P2P有线链路的信道状态和P2P无线链路的信道状态,确定P2P有线链路和P2P无线链路是否可用;在P2P有线链路和P2P无线链路均可用的情况下,第一终端确定可用P2P链路包括P2P有线链路和P2P无线链路;在只有P2P有线链路可用的情况下,第一终端确定可用P2P链路仅包括P2P有线链路;在只有P2P无线链路可用的情况下,第一终端确定可用P2P链路仅包括P2P无线链路。
本申请实施例中,在第一终端与第二终端之间存在P2P有线链路和P2P无线链路的情况下,P2P有线链路或P2P无线链路可以承载的数据量,以及P2P有线链路或P2P无线链路的信道状态可能不同,因此可以进一步结合目标数据的数据量、P2P无线链路的信道状态和P2P有线链路的信道状态,选择能够高效传输数据的方案。
示例性的,若第一终端与第二终端之间的P2P无线链路信号较差,在后续的数据传输中可能出现传错的情况,则可以认为P2P无线链路不可用,第一终端确定可用P2P链路仅包括P2P有线链路。
或者,若第一终端与第二终端之间插入了USB线,但是USB链路出现初始化失败等状态,在后续的数据传输中可能出现传错的情况,则可以认为P2P有线链路不可用,第一终端确定可用P2P链路仅包括P2P无线链路。
或者,在第一终端与第二终端之间待传输的数据量较小,仅通过P2P有线链路或仅通过P2P无线链路均可以实现较快传输,则可以只选择P2P有线链路为可用链路或只选择P2P无线链路为可用链路。本申请实施例对此不作具体限定。
在实践中,目前P2P无线传输中,比如利用5GHZ的WiFi-P2P传输,最高的速率在80MB/S,功耗约为250mA左右。蓝牙最高传输文件速率为200KB/s,功耗为30mA左右。利用有线的USB通道进行数据传输,速度约为160MB/S,USB模块在未实现充放电关闭情况下功耗约为1500mA左右。本申请实施例提出的P2P有线链路和P2P无线链路灵活选择的场景中,最高可达230MB/S,传输速率有效提升,USB模块功耗约为55mA左右,远小于传统的有线USB传输带来的功耗消耗。
在采用对应各个功能划分各个功能模块的情况下,如图16所示,示出了本申请实施例提供一种数据传输装置的一种可能的结构示意图,该电子设备包括:USB控制模块1401、处理模块1402和发送模块1403。
其中,USB控制模块1401,用于支持数据传输装置执行上述实施例中的与USB相关的步骤,例如可以执行S902中的协助建立USB有线链路的操作,或者本申请实施例所描述的技术的其他过程。
处理模块1402,用于支持数据传输装置执行上述方法实施例中的S901、S902和S903中的操作,或者本申请实施例所描述的技术的其他过程。
发送模块1403,用于支持数据传输装置执行上述实施例中的S904中的操作,或者本申请实施例所描述的技术的其他过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,数据传输装置包括但不限于上述所列举的单元模块。并且,上述功能单元的具体所能够实现的功能也包括但不限于上述实例所述的方法步骤对应的功能,电子设备的其他单元的详细描述可以参考其所对应方法步骤的详细描述,本申请实施例这里不予赘述。
在采用集成的单元的情况下,上述实施例中所涉及的电子设备可以包括:处理模块、存储模块和通信模块。存储模块,用于保存电子设备的程序代码和数据。该通信模块用于支持电子设备与其他网络实体的通信,以实现电子设备的通话,数据交互,Internet访问等功能。
其中,处理模块用于对电子设备的动作进行控制管理。处理模块可以是处理器或控制器。通信模块可以是收发器、RF电路或通信接口等。存储模块可以是存储器。
进一步的,该电子设备还可以包括输入模块和显示模块。显示模块可以是屏幕或显示器。输入模块可以是触摸屏,语音输入装置,或指纹传感器等。
如图17所示,示出了本申请实施例提供一种电子设备的又一种可能的结构示意图,包括:一个或多个处理器1501、存储器1502、收发器1503和接口电路1504;上述各器件可以通过一个或多个通信总线1506通信。
其中,一个或多个计算机程序被1505存储在存储器1502中,并被配置为被一个或多个处理器1501执行;一个或多个计算机程序1505包括指令,指令用于执行上述任意步骤的方法。当然,电子设备包括但不限于上述所列举的器件,例如,上述电子设备还可以包括射频电路、定位装置、传感器等等。
本申请实施例还提供一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上述任意步骤的方法。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使 得计算机执行如上述任意步骤的方法。
本申请实施例还提供一种装置,该装置具有实现上述各方法中电子设备行为的功能。上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
其中,本申请实施例提供的电子设备、计算机存储介质、计算机程序产品、或装置均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

Claims (33)

  1. 一种数据传输方法,其特征在于,应用于第一终端,包括:
    检测分享操作;所述分享操作用于发送目标数据;
    基于所述分享操作,与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路;
    将所述目标数据分为多个数据块;
    利用所述USB有线链路和所述P2P无线链路并行的向所述第二终端发送所述多个数据块;所述并行用于表示所述USB有线链路和所述P2P无线链路共同传输所述目标数据。
  2. 根据权利要求1所述的方法,其特征在于,所述与第二终端建立USB有线链路和P2P无线链路,包括:
    响应于所述第一终端与所述第二终端之间的USB接口的有线连接操作,建立与所述第二终端之间的USB有线链路;
    利用所述USB有线链路建立与所述第二终端之间的P2P无线链路。
  3. 根据权利要求2所述的方法,其特征在于,所述利用所述USB有线链路建立与所述第二终端之间的P2P无线链路,包括:
    利用所述USB有线链路向所述第二终端发送P2P无线链路建立请求;
    在接收到来自所述第二终端的同意建立P2P无线链路的消息的情况下,建立与所述第二终端之间的P2P无线链路。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述利用所述USB有线链路和所述P2P无线链路并行的向所述第二终端发送所述一个或多个数据块,包括:
    在第一缓存中设置与所述USB有线链路的带宽匹配的M个数据块;M为自然数;
    在第二缓存中设置与所述P2P无线链路的带宽匹配的N个数据块;N为自然数;
    在所述第一缓存或所述第二缓存中的数据块发出的情况下,向所述第一缓存或所述第二缓存中补充设置所述多个数据块中未分配的数据块。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述利用所述USB有线链路和所述P2P无线链路并行的向所述第二终端发送所述一个或多个数据块,包括:
    在所述USB有线链路传输数据失败的情况下,将所述USB有线链路中发送的数据块通过所述P2P无线链路发送给所述第二终端;或者,
    在所述P2P无线链路传输数据失败的情况下,将所述P2P无线链路中发送的数据块通过所述USB有线链路发送给所述第二终端。
  6. 根据权利要求5所述的方法,其特征在于,所述在所述USB有线链路传输数据失败的情况下,将所述USB有线链路中发送的数据块通过所述P2P无线链路发送给所述第二终端,包括:
    在检测到所述USB有线链路中超出第一时间阈值没有成功发送数据块,或所述USB有线链路断开的情况下,将所述USB有线链路中发送的数据块取出,并将取出的数据块通过所述P2P无线链路发送给所述第二终端;
    或者,在所述P2P无线链路传输数据失败的情况下,将所述P2P无线链路中发送的数据块通过所述USB有线链路发送给所述第二终端,包括:
    在检测到所述P2P无线链路中超出第二时间阈值没有成功发送数据块,或所述P2P无 线链路断开的情况下,将所述P2P无线链路中发送的数据块取出,并将取出的数据块通过所述USB有线链路发送给所述第二终端。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述利用所述USB有线链路和所述P2P无线链路并行的向所述第二终端发送所述多个数据块,包括:
    接收所述第二终端利用所述USB有线链路发送的第一验证标识,以及所述第二终端通过所述P2P无线链路发送的第二验证标识;
    在所述第一验证标识和所述第二验证标识满足验证条件的情况下,利用所述USB有线链路和所述P2P无线链路并行的向所述第二终端发送所述多个数据块。
  8. 根据权利要求1-7任一项所述的方法,其特征在于,还包括:
    获取所述第一终端与所述第二终端在所述P2P无线链路传输中的角色;
    在所述第一终端向所述第二终端发送数据的能力小于所述第二终端向所述第一终端发送数据的能力的情况下,将所述第一终端与所述第二终端交换角色。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,还包括:
    停止所述USB有线链路之间的充电。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,还包括:
    在所述第一终端为电池供电设备的情况下,获取所述第一终端的设备温度;
    在所述第一终端的设备温度高于第一阈值的情况下,停止所述USB有线链路之间的充电。
  11. 根据权利要求1-10任一项所述的方法,其特征在于,还包括:
    检测到所述第一终端的电量小于电量阈值的情况下,设置充电方向为所述第二终端向所述第一终端充电。
  12. 根据权利要求1-11任一项所述的方法,其特征在于,还包括:
    在所述第一终端的设备温度高度第二阈值的情况下,降低所述第一终端的中央处理器CPU运行频率;其中,所述第二阈值高于所述第一终端未进行数据传输时的限制CPU运行频率所设置的温度。
  13. 根据权利要求1-12任一项所述的方法,其特征在于,所述基于所述分享操作,与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路,包括:
    基于所述分享操作,显示第一用户界面;所述第一用户界面中包括:一个或多个用户标识,以及各所述用户标识可用的P2P方式;所述用户标识为扫描得到的终端用户的标识,所述可用的P2P方式包括P2P有线和/或P2P无线;
    在所述第一用户界面中接收到对所述第二终端设备的用户标识的触发操作,且所述第二终端设备的用户标识可用的P2P方式为P2P有线和P2P无线的情况下,与所述第二终端建立通用串行总线USB有线链路和点对点P2P无线链路。
  14. 根据权利要求13所述的方法,其特征在于,在所述第一用户界面中接收到对所述第二终端设备的用户标识的触发操作,且所述第二终端设备的用户标识可用的P2P方式为P2P有线和P2P无线的情况下,与所述第二终端建立通用串行总线USB有线链路和点对点P2P无线链路,包括:
    在所述第一用户界面中接收到对所述第二终端设备的用户标识的触发操作;
    显示第二用户界面,所述第二用户界面包括:用于选择P2P无线传输的勾选控件、用 于选择P2P有线传输的勾选控件,以及用于选择P2P无线和P2P有线同时传输的勾选控件;
    在所述第二用户界面中接收对所述用于选择P2P无线和P2P有线同时传输的勾选控件的勾选操作,与所述第二终端建立通用串行总线USB有线链路和P2P无线链路。
  15. 根据权利要求1-14任一项所述的方法,其特征在于,还包括:
    显示第三用户界面,所述第三用户界面包括用于指示USB有线链路的控件和用于指示P2P无线链路的控件;
    在检测到对所述用于指示USB有线链路的控件的触发操作的情况下,断开或开启USB有线链路的传输;
    或者,在检测到对所述用于指示P2P无线链路的控件的触发操作的情况下,断开或开启P2P无线链路的传输。
  16. 一种数据传输装置,其特征在于,应用于第一终端,包括:处理模块、USB控制模块和发送模块;
    所述处理模块,用于检测分享操作;所述分享操作用于传输目标数据;
    所述处理模块,还用于基于所述分享操作,控制所述USB控制模块与第二终端建立通用串行总线USB有线链路和点对点P2P无线链路;
    所述处理模块,还用于将所述目标数据分为多个数据块;
    所述发送模块,还用于利用所述USB有线链路和所述P2P无线链路并行的向所述第二终端发送所述多个数据块;所述并行用于表示所述USB有线链路和所述P2P无线链路共同传输所述目标数据。
  17. 根据权利要求16所述的装置,其特征在于,所述处理模块,具体用于:
    响应于所述第一终端与所述第二终端之间的USB接口的有线连接操作,控制所述USB控制模块建立与所述第二终端之间的USB有线链路;以及利用所述USB有线链路建立与所述第二终端之间的P2P无线链路。
  18. 根据权利要求17所述的装置,其特征在于,还包括接收模块;
    所述发送模块,还用于利用所述USB有线链路向所述第二终端发送P2P无线链路建立请求;
    所述处理模块,具体用于在所述接收模块接收到来自所述第二终端的同意建立P2P无线链路的消息的情况下,建立与所述第二终端之间的P2P无线链路。
  19. 根据权利要求16-18任一项所述的装置,其特征在于,所述处理模块,具体用于:
    在第一缓存中设置与所述USB有线链路的带宽匹配的M个数据块;M为自然数;
    在第二缓存中设置与所述P2P无线链路的带宽匹配的N个数据块;N为自然数;
    在所述第一缓存或所述第二缓存中的数据块发出时,向所述第一缓存或所述第二缓存中补充设置所述多个数据块中未分配的数据块。
  20. 根据权利要求16-19任一项所述的装置,其特征在于,所述发送模块具体用于:
    在所述USB有线链路传输数据失败的情况下,将所述USB有线链路中发送的数据块通过所述P2P无线链路发送给所述第二终端;或者
    在所述P2P无线链路传输数据失败的情况下,将所述P2P无线链路中发送的数据块通过所述USB有线链路发送给所述第二终端。
  21. 根据权利要求20所述的装置,其特征在于,所述发送模块具体用于:
    在检测到所述USB有线链路中超出第一时间阈值没有成功发送数据块,或所述USB有线链路断开的情况下,将所述USB有线链路中发送的数据块取出,并将取出的数据块通过所述P2P无线链路发送给所述第二终端;或者,
    在检测到所述P2P无线链路中超出第二时间阈值没有成功发送数据块,或所述P2P无线链路断开的情况下,将所述P2P无线链路中发送的数据块取出,并将取出的数据块通过所述USB有线链路发送给所述第二终端。
  22. 根据权利要求16-21任一项所述的装置,其特征在于,还包括接收模块;
    所述接收模块,用于接收所述第二终端利用所述USB有线链路发送的第一验证标识,以及所述第二终端通过所述P2P无线链路发送的第二验证标识;
    所述发送模块,还用于在所述第一验证标识和所述第二验证标识满足验证条件的情况下,利用所述USB有线链路和所述P2P无线链路并行的向所述第二终端发送所述多个数据块。
  23. 根据权利要求16-22任一项所述的装置,其特征在于,所述处理模块,还用于:
    获取所述第一终端与所述第二终端在所述P2P无线链路传输中的角色;
    在所述第一终端向所述第二终端发送数据的能力小于所述第二终端向所述第一终端发送数据的能力的情况下,将所述第一终端与所述第二终端交换角色。
  24. 根据权利要求16-23任一项所述的装置,其特征在于,
    所述处理模块,还用于控制所述USB控制模块停止所述USB有线链路之间的充电。
  25. 根据权利要求16-24任一项所述的装置,其特征在于,
    所述处理模块,还用于检测到所述第一终端的设备温度高于第一阈值的情况下,控制所述USB控制模块停止所述USB有线链路之间的充电。
  26. 根据权利要求16-25任一项所述的装置,其特征在于,
    所述处理模块,还用于获取所述第一终端的电量与所述第二终端的电量;
    所述处理模块,还用于在所述第一终端的电量小于电量阈值的情况下,设置充电方向为所述第二终端向所述第一终端充电。
  27. 根据权利要求16-25任一项所述的装置,其特征在于,
    所述处理模块,还用于在所述第一终端的设备温度高度第二阈值的情况下,降低所述第一终端的中央处理器CPU运行频率;其中,所述第二阈值高于所述第一终端未进行数据传输时的限制CPU运行频率所设置的温度。
  28. 根据权利要求16-27任一项所述的装置,其特征在于,还包括显示模块;
    所述显示模块,用于基于所述分享操作,显示第一用户界面;所述第一用户界面中包括:一个或多个用户标识,以及各所述用户标识可用的P2P方式;所述用户标识为扫描得到的终端用户的标识,所述可用的P2P方式包括P2P有线和/或P2P无线;
    所述处理模块,还用于在所述第一用户界面中接收到对所述第二终端设备的用户标识的触发操作,且所述第二终端设备的用户标识可用的P2P方式为P2P有线和P2P无线的情况下,与所述第二终端建立通用串行总线USB有线链路和点对点P2P无线链路。
  29. 根据权利要求28所述的装置,其特征在于,
    所述显示模块,还用于在所述第一用户界面中接收到对所述第二终端设备的用户标识的触发操作;
    所述显示模块,还用于显示第二用户界面,所述第二用户界面包括:用于选择P2P无线传输的勾选控件、用于选择P2P有线传输的勾选控件,以及用于选择P2P无线和P2P有线同时传输的勾选控件;
    所述处理模块,还用于在所述第二用户界面中接收对所述用于选择P2P无线和P2P有线同时传输的勾选控件的勾选操作,与所述第二终端建立通用串行总线USB有线链路和P2P无线链路。
  30. 根据权利要求16-29任一项所述的装置,其特征在于,还包括显示模块;
    所述显示模块,用于显示第三用户界面,所述第三用户界面包括用于指示USB有线链路的控件和用于指示P2P无线链路的控件;
    所述处理模块,还用于在检测到对所述用于指示USB有线链路的控件的触发操作的情况下,断开或开启USB有线链路的传输;
    或者,所述处理模块,还用于在检测到对所述用于指示P2P无线链路的控件的触发操作的情况下,断开或开启P2P无线链路的传输。
  31. 一种电子设备,其特征在于,包括:一个或多个处理器、收发器、存储器和接口电路;所述一个或多个处理器、所述收发器、所述存储器和和所述接口电路通过一个或多个通信总线通信;所述接口电路用于与其它装置通信,一个或多个计算机程序被存储在所述存储器中,并被配置为被所述一个或多个处理器或所述收发器执行以使得所述电子设备执行如权利要求1-15任一项所述的方法。
  32. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求1-15任一项所述的方法。
  33. 一种程序产品,其特征在于,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,通信装置的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得通信装置实施如权利要求1-15任意一项所述的方法。
PCT/CN2021/078868 2020-03-12 2021-03-03 数据传输方法和装置 WO2021179970A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010170314.1 2020-03-12
CN202010170314.1A CN113473645A (zh) 2020-03-12 2020-03-12 数据传输方法和装置

Publications (1)

Publication Number Publication Date
WO2021179970A1 true WO2021179970A1 (zh) 2021-09-16

Family

ID=77671216

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/078868 WO2021179970A1 (zh) 2020-03-12 2021-03-03 数据传输方法和装置

Country Status (2)

Country Link
CN (1) CN113473645A (zh)
WO (1) WO2021179970A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114793349A (zh) * 2022-04-21 2022-07-26 中国联合网络通信集团有限公司 数据传输方法、装置、设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745451A (zh) * 2022-04-26 2022-07-12 Oppo广东移动通信有限公司 数据传输方法及装置、电子设备和计算机可读介质
CN117311609A (zh) * 2022-04-27 2023-12-29 荣耀终端有限公司 数据迁移方法、系统及电子设备
CN115379280B (zh) * 2022-10-19 2023-01-31 深圳沛喆微电子有限公司 一种信源通道互通传输方法、装置和智能相框

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388689A (zh) * 2008-10-28 2009-03-18 深圳华为通信技术有限公司 一种数据多承载并行传输方法及装置
US20110106909A1 (en) * 2009-10-30 2011-05-05 Cleversafe, Inc. Distributed storage network and method for communicating data across a plurality of parallel wireless data streams
CN103580966A (zh) * 2013-11-04 2014-02-12 惠州Tcl移动通信有限公司 一种无线链路和有线链路并行传输数据的方法及系统
WO2019218282A1 (zh) * 2018-05-16 2019-11-21 华为技术有限公司 一种数据传输方法及终端
WO2019225829A1 (ko) * 2018-05-23 2019-11-28 엘지전자 주식회사 Ma-usb에 기반한 p2p 통신을 위한 방법 및 이를 이용한 무선 장치
CN112306941A (zh) * 2019-07-26 2021-02-02 华为技术有限公司 一种传输方法、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108235363A (zh) * 2017-12-30 2018-06-29 广东欧珀移动通信有限公司 终端无线数据传输方法、装置、终端及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388689A (zh) * 2008-10-28 2009-03-18 深圳华为通信技术有限公司 一种数据多承载并行传输方法及装置
US20110106909A1 (en) * 2009-10-30 2011-05-05 Cleversafe, Inc. Distributed storage network and method for communicating data across a plurality of parallel wireless data streams
CN103580966A (zh) * 2013-11-04 2014-02-12 惠州Tcl移动通信有限公司 一种无线链路和有线链路并行传输数据的方法及系统
WO2019218282A1 (zh) * 2018-05-16 2019-11-21 华为技术有限公司 一种数据传输方法及终端
WO2019225829A1 (ko) * 2018-05-23 2019-11-28 엘지전자 주식회사 Ma-usb에 기반한 p2p 통신을 위한 방법 및 이를 이용한 무선 장치
CN112306941A (zh) * 2019-07-26 2021-02-02 华为技术有限公司 一种传输方法、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114793349A (zh) * 2022-04-21 2022-07-26 中国联合网络通信集团有限公司 数据传输方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113473645A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
WO2021179970A1 (zh) 数据传输方法和装置
WO2020147627A1 (zh) 链路选取方法及相关装置
US11696207B2 (en) Data transmission method, electronic device, and computer readable storage medium
JP5551193B2 (ja) エンハンスドワイヤレスusbプロトコル及びハブ
US7336602B2 (en) Apparatus and method for wireless/wired communications interface
JP6110858B2 (ja) ドッキングシステム及び汎用ネットワーク装置ドライバによる無線lan接続のハンドオーバ
TWI617919B (zh) 用於促進無線對接系統中的直接配對的設備和方法
EP2941854B1 (en) Authenticating a wireless dockee to a wireless docking service
KR100389922B1 (ko) 1000베이스-t 표준을 이용하는 기가비트 이더넷에서의고속 링크를 위한 자동-교섭 방법 및 이를 수행하기 위한장치
US11010321B2 (en) Ad-hoc sensing switched data circuit for connecting network hosts and peripherals
US9407497B2 (en) Communication terminal
WO2019218951A1 (zh) 一种传输文件的方法及终端
CN109862119A (zh) 存储容量共享方法、装置、业务服务器、用户终端和系统
US9832279B2 (en) Station, target apparatus, initiator apparatus, communication system, and communication method
US10635606B2 (en) Method and apparatus for maintaining continuity of on-going session over wired or wireless interface
EP3720178A1 (en) Method and apparatus for remapping qos flow, and computer storage medium
CN112398943A (zh) 信息互通方法、装置、存储介质及电子设备
WO2023179137A1 (zh) 设备通信方法及相关产品
TWI481243B (zh) 跨多媒體平台的服務品質協商方法
WO2023217024A1 (zh) 旁链路sl的通信方法、装置及终端
JP2009009210A (ja) 通信システム、通信装置及びその制御方法、並びにコンピュータ・プログラム
CN115604372A (zh) 热启动过程中保持协议报文不中断的方法及装置
CN113950027A (zh) 一种数据传输自带上网的方法以及系统
CN114765901A (zh) 多链路设备连接管理方法、装置、设备及存储介质
JP5181332B2 (ja) 通信装置、通信方法及び通信プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21767305

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21767305

Country of ref document: EP

Kind code of ref document: A1