一种传输数据的方法、设备和系统

申请号 CN201410255687.3 申请日 2014-06-10 公开(公告)号 CN105281810A 公开(公告)日 2016-01-27
申请人 西安中兴新软件有限责任公司; 发明人 梁晓辉;
摘要 本 发明 实施例 公开了一种传输数据的方法、设备和系统,该方法可以包括:第一终端在将自身至少一个通信 接口 对应地与第二终端至少一个 通信接口 建立连接链路后,获取各连接链路的连接参数;第一终端根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;第一终端将待传输数据进行分 块 ,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端。
权利要求

1.一种传输数据的方法,其特征在于,所述方法包括:
第一终端在将自身至少一个通信接口对应地与第二终端至少一个通信接口建立连接链路后,获取各连接链路的连接参数;
所述第一终端根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;
所述第一终端将待传输数据进行分,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端。
2.根据权利要求1所述的方法,其特征在于,所述第一终端在将自身至少一个通信接口对应地与第二终端至少一个通信接口建立连接链路,包括:
所述第一终端生成第一密钥,并开启所述自身至少一个通信接口;
所述第一终端根据所述第一密钥和设定的算法为所述自身至少一个通信接口生成对应地第二密钥;
所述第一终端将所述第一密钥发送至所述第二终端,所述第一密钥用于所述第二终端根据所述第一密钥和所述设定的算法生成所述第二终端开启的至少一个通信接口对应的第二密钥;
所述第一终端根据所述第二密钥对应地将自身至少一个通信接口与所述第二终端开启的至少一个通信接口进行连接,建立所述自身至少一个通信接口对应的连接链路。
3.根据权利要求1所述的方法,其特征在于,所述第一终端将待传输数据进行分块,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端,包括:
所述第一终端将所述待传输数据均分为至少一个数据块;
所述第一终端按照设定的所述各连接链路的连接参数队列的顺序与数据块数量的对应关系将所述至少一个数据块分别通过所述各连接链路发送至所述第二终端。
4.根据权利要求1所述的方法,其特征在于,所述第一终端将待传输数据进行分块,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端,包括:
所述第一终端根据设定的所述连接参数队列的顺序与数据量比例的对应关系将所述待传输数据按照所述数据量比例划分为至少一个数据块,其中,所述至少一个数据块与所述连接参数队列中各连接链路的连接参数相对应;
所述第一终端将所述至少一个数据块对应地通过所述连接参数队列中各连接链路向所述第二终端发送。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一终端在将所述待传输数据进行分块时,获取各数据块的属性信息
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一终端在按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端的过程中,通过各连接链路发送与各连接链路对应地所述待传输数据的数据块的属性信息;其中,所述待传输数据的数据块的属性信息包括所述待传输数据的数据块的标识和校验信息,所述待传输数据的数据块的校验信息用于所述第二终端在接收所述待传输数据的数据块之后,对所述数据块进行校验。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第一终端当接收到所述第二终端所发送的校验失败的数据块标识后,检测所述连接参数队列中第一连接链路的发送状态;
当所述第一连接链路的发送状态为所述第一连接链路的数据块发送完毕时,所述第一终端通过所述第一连接链路向所述第二终端发送所述校验失败的数据块;
当所述第一连接链路的发送状态为正在发送所述第一连接链路的数据块时,所述第一终端通过所述校验失败的数据块对应的连接链路向所述第二终端发送所述校验失败的数据块。
8.一种传输数据的方法,其特征在于,所述方法包括:
第二终端将自身至少一个通信接口对应地与第一终端至少一个通信接口建立连接链路后,通过各连接链路接收所述第一终端发送的待传输数据的数据块;
所述第二终端将所有待传输数据的数据块进行合并,得到所述待传输数据。
9.根据权利要求8所述的方法,其特征在于,所述第二终端将自身至少一个通信接口对应地与第一终端至少一个通信接口建立连接链路,包括:
所述第二终端接收所述第一终端发送的第一密钥;
所述第二终端开启自身至少一个通信接口,并根据所述第一密钥和设定的算法生成所述第二终端开启的至少一个通信接口对应的第二密钥;
所述第二终端根据所述第二密钥对应地将自身至少一个通信接口与所述第一终端至少一个通信接口进行连接,建立所述自身至少一个通信接口对应的连接链路。
10.根据权利要求8所述的方法,其特征在于,所述第二终端通过各连接链路接收第一终端发送的待传输数据的数据块的同时,所述方法还包括:
所述第二终端通过各连接链路接收第一终端发送的待传输数据的数据块的属性信息,所述待传输数据的数据块的属性信息包括所述待传输数据的数据块的标识和校验信息;
所述第二终端根据所述待传输数据的数据块的校验信息对已接收的数据块进行校验;
当所述第二终端确定已接收的数据块校验失败时,向所述第一终端发送校验失败的数据块标识,所述校验失败的数据块标识用于所述第一终端向所述第二终端重新发送所述校验失败的数据块;
所述第二终端接收由所述第一终端重新发送的校验失败的数据块。
11.根据权利要求10所述的方法,其特征在于,所述第二终端将所有待传输数据的数据块进行合并,得到所述待传输数据,包括:
所述第二终端根据所有待传输数据的数据块标识按照设定的顺序进行合并,得到所述待传输数据。
12.一种终端,其特征在于,所述终端包括:链路建立单元、获取单元、排列单元、分块单元和发送单元,其中,
所述链路建立单元,用于在将所述终端至少一个通信接口对应地与对端至少一个通信接口建立连接链路;
所述获取单元,用于在所述链路建立单元建立连接链路之后,获取各连接链路的连接参数;
所述排列单元,用于根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;
所述分块单元,用于将待传输数据进行分块;
所述发送单元,用于按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述对端。
13.根据权利要求12所述的终端,其特征在于,所述链路建立单元包括:生成子单元、开启子单元、发送子单元和连接子单元,其中,
所述生成子单元,用于生成第一密钥;
所述开启子单元,用于开启所述终端至少一个通信接口;
所述生成子单元,还用于根据所述第一密钥和设定的算法为所述终端至少一个通信接口生成对应地第二密钥;
所述发送子单元,用于将所述第一密钥发送至所述对端,所述第一密钥用于所述对端根据所述第一密钥和所述设定的算法生成所述对端开启的至少一个通信接口对应的第二密钥;
所述连接子单元,用于根据所述第二密钥对应地将所述终端至少一个通信接口与所述对端开启的至少一个通信接口进行连接,建立所述终端至少一个通信接口对应的连接链路。
14.根据权利要求12所述的终端,其特征在于,所述分块单元用于,将所述待传输数据均分为至少一个数据块;
相应地,所述发送单元用于,按照设定的所述各连接链路的连接参数队列的顺序与数据块数量的对应关系将所述至少一个数据块分别通过所述各连接链路发送至所述对端。
15.根据权利要求12所述的终端,其特征在于,所述分块单元用于,根据设定的所述连接参数队列的顺序与数据量比例的对应关系将所述待传输数据按照所述数据量比例划分为至少一个数据块,其中所述至少一个数据块与所述连接参数队列中各连接链路的连接参数相对应;
相应地,所述发送单元用于,将所述至少一个数据块对应地通过所述连接参数队列中各连接链路向所述对端发送。
16.根据权利要求12所述的终端,其特征在于,所述获取单元,还用于在所述分块单元将所述待传输数据进行分块时,获取各数据块的属性信息。
17.根据权利要求16所述的终端,其特征在于,所述发送单元,还用于通过各连接链路发送与各连接链路对应地所述待传输数据的数据块的属性信息;其中,所述待传输数据的数据块的属性信息包括所述待传输数据的数据块的标识和校验信息,所述待传输数据的数据块的校验信息用于所述对端在接收所述待传输数据的数据块之后,对所述数据块进行校验。
18.根据权利要求17所述的终端,其特征在于,所述终端还包括接收单元和检测单元,其中,
所述接收单元,用于接收到所述对端所发送的校验失败的数据块标识;
所述检测单元,用于当所述接收单元接收到所述对端所发送的校验失败的数据块标识时,检测所述连接参数队列中第一连接链路的发送状态;
所述发送单元,还用于所述第一连接链路的发送状态为所述第一连接链路的数据块发送完毕时,通过所述第一连接链路向所述对端发送所述校验失败的数据块;
以及当所述第一连接链路的发送状态为正在发送所述第一连接链路的数据块时,通过所述校验失败的数据块对应的连接链路向所述对端发送所述校验失败的数据块。
19.一种终端,其特征在于,所述终端包括链路建立单元、接收单元和合并单元,其中,所述链路建立单元,用于将所述终端至少一个通信接口对应地与对端至少一个通信接口建立连接链路;
所述接收单元,用于通过各连接链路接收第一终端发送的待传输数据的数据块;
所述合并单元,用于将所有待传输数据的数据块进行合并,得到所述待传输数据。
20.根据权利要求19所述的终端,其特征在于,所述链路建立单元包括:接收子单元、开启子单元、生成子单元和连接子单元,其中,
所述接收子单元,用于接收所述对端发送的第一密钥;
所述开启子单元,用于开启所述终端至少一个通信接口;
所述生成子单元,用于根据所述第一密钥和设定的算法生成所述终端开启的至少一个通信接口对应的第二密钥;
所述连接子单元,用于根据所述第二密钥对应地将所述终端至少一个通信接口与所述对端至少一个通信接口进行连接,建立所述终端至少一个通信接口对应的连接链路。
21.根据权利要求19所述的终端,其特征在于,所述接收单元,还用于通过各连接链路接收第一终端发送的待传输数据的数据块的属性信息,所述待传输数据的数据块的属性信息包括所述待传输数据的数据块的标识和校验信息;
所述终端还包括校验单元和发送单元,其中,所述校验单元,用于根据所述待传输数据的数据块的校验信息对已接收的数据块进行校验;
所述发送单元,用于当所述校验单元确定已接收的数据块校验失败时,向所述对端发送校验失败的数据块标识,所述校验失败的数据块标识用于所述对端向所述终端重新发送所述校验失败的数据块;
所述接收单元,还用于接收由所述对端重新发送的校验失败的数据块。
22.根据权利要求21所述的终端,其特征在于,所述合并单元用于,根据所有待传输数据的数据块标识按照设定的顺序进行合并,得到所述待传输数据。
23.一种传输数据的系统,其特征在于,所述系统包括第一终端和第二终端,其中,所述第一终端,用于在将自身至少一个通信接口对应地与所述第二终端至少一个通信接口建立连接链路后,获取各连接链路的连接参数;
以及根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;
以及将待传输数据进行分块,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端;
所述第二终端,用于将自身至少一个通信接口对应地与所述第一终端至少一个通信接口建立连接链路后,通过各连接链路接收所述第一终端发送的待传输数据的数据块;
以及将所有待传输数据的数据块进行合并,得到所述待传输数据。

说明书全文

一种传输数据的方法、设备和系统

技术领域

[0001] 本发明涉及移动通信技术,尤其涉及一种传输数据的方法、设备和系统。

背景技术

[0002] 近距离数据传输技术越来越多地应用在终端中,使得终端之间在距离较近的时候不通过移动通信网络进行数据传输,从而节省了用户的流量花销。
[0003] 目前,常用的近距离通信技术包括:无线相容性认证直连(Wi-Fi Direct,Wireless Fidelity Direct)技术、蓝牙(BT,BlueTooth)技术、近场通信(NFC,Near Field Communication)技术等等,这些近距离通信技术都可以融合一个终端当中,但是用户只能从这些近距离通信技术中选择一个进行数据传输。

发明内容

[0004] 本发明实施例期望提供一种传输数据的方法、设备和系统,使得用户能够通过多种近距离通信技术来进行数据传输,从而加快了终端传输数据的速度。
[0005] 本发明的技术方案是这样实现的:
[0006] 第一方面,本发明实施例提供了一种传输数据的方法,所述方法包括:
[0007] 第一终端在将自身至少一个通信接口对应地与第二终端至少一个通信接口建立连接链路后,获取各连接链路的连接参数;
[0008] 所述第一终端根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;
[0009] 所述第一终端将待传输数据进行分,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端。
[0010] 根据第一种可能的实现方式,结合第一方面,所述第一终端在将自身至少一个通信接口对应地与第二终端至少一个通信接口建立连接链路,包括:
[0011] 所述第一终端生成第一密钥,并开启所述自身至少一个通信接口;
[0012] 所述第一终端根据所述第一密钥和设定的算法为所述自身至少一个通信接口生成对应地第二密钥;
[0013] 所述第一终端将所述第一密钥发送至所述第二终端,所述第一密钥用于所述第二终端根据所述第一密钥和所述设定的算法生成所述第二终端开启的至少一个通信接口对应的第二密钥;
[0014] 所述第一终端根据所述第二密钥对应地将自身至少一个通信接口与所述第二终端开启的至少一个通信接口进行连接,建立所述自身至少一个通信接口对应的连接链路。
[0015] 根据第二种可能的实现方式,结合第一方面,所述第一终端将待传输数据进行分块,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端,包括:
[0016] 所述第一终端将所述待传输数据均分为至少一个数据块;
[0017] 所述第一终端按照设定的所述各连接链路的连接参数队列的顺序与数据块数量的对应关系将所述至少一个数据块分别通过所述各连接链路发送至所述第二终端。
[0018] 根据第三种可能的实现方式,结合第一方面,所述第一终端将待传输数据进行分块,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端,包括:
[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] 以及根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;
[0080] 以及将待传输数据进行分块,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端;
[0081] 所述第二终端,用于将自身至少一个通信接口对应地与所述第一终端至少一个通信接口建立连接链路后,通过各连接链路接收所述第一终端发送的待传输数据的数据块;
[0082] 以及将所有待传输数据的数据块进行合并,得到所述待传输数据。
[0083] 本发明实施例提供了一种传输数据的方法、设备和系统,通过第一终端将至少一个通信接口与第二终端对应的至少一个通信接口进行连接后,通过至少一个连接链路将分块的待传输数据进行传输,使得用户能够通过多种近距离通信技术来进行数据传输,从而加快了终端传输数据的速度。附图说明
[0084] 图1为本发明实施例提供的一种应用场景示意图;
[0085] 图2为本发明实施例提供的一种传输数据的方法流程示意图;
[0086] 图3为本发明实施例提供的一种建立连接链路的流程示意图;
[0087] 图4为本发明实施例提供的一种发送待传输数据的流程示意图;
[0088] 图5为本发明实施例提供的另一种发送待传输数据的流程示意图;
[0089] 图6为本发明实施例提供的一种重新发送校验失败数据块的流程示意图;
[0090] 图7为本发明实施例提供的另一种传输数据的方法流程示意图;
[0091] 图8为本发明实施例提供的另一种建立连接链路的流程示意图;
[0092] 图9为本发明实施例提供的一种重新接收检验失败数据块的流程示意图;
[0093] 图10为本发明实施例提供的一种传输数据的方法详细流程示意图;
[0094] 图11为本发明实施例提供的一种重新发送校验失败数据块的详细流程示意图;
[0095] 图12为本发明实施例提供的一种终端的结构示意图;
[0096] 图13为本发明实施例提供的另一种终端的结构示意图;
[0097] 图14为本发明实施例提供的又一种终端的结构示意图;
[0098] 图15为本发明实施例提供的再一种终端的结构示意图;
[0099] 图16为本发明实施例提供的一种传输数据的系统结构示意图。

具体实施方式

[0100] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0101] 参见图1,其示出了本发明实施例提供的一种应用场景,在该场景中,包括至少两个终端,分别进行数据的发送和接收,相应的,在本发明实施例中,进行数据发送的终端称之为第一终端,而进行数据接收的终端称之为第二终端。
[0102] 列举而非限定的,图1中示出的两个终端可以包括手机、平板电脑电子书阅读器、个人数字助理(PDA,Personal Digital Assistant)、销售终端(POS,Point of Sales)、车载电脑、动态影像专家压缩标准音频层面3播放器(MP3,Moving Picture Experts Group Audio Layer III)、动态影像专家压缩标准音频层面4(MP4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、台式计算机等等。在本发明实施例的技术方案中,以终端为手机为例进行说明;可以理解地,其他类型的终端也能够适用于本发明实施例的技术方案。
[0103] 基于图1所示的场景,参见图2,其示出了本发明实施例提供的一种传输数据的方法流程,应用于第一终端侧,该方法可以包括:
[0104] S201:第一终端在将自身至少一个通信接口对应地与第二终端至少一个通信接口建立连接链路后,获取各连接链路的连接参数;
[0105] 需要说明的是,在本实施例及后续实施例中所提到和涉及到的通信接口均为近距离通信技术相关的通信接口,如,Wi-Fi Direct、蓝牙和NFC等近距离通信技术的通信接口。
[0106] 示例性地,参见图3,第一终端与第二终端建立连接链路的具体过程可以包括:
[0107] S2011:第一终端生成第一密钥,并开启自身至少一个通信接口;
[0108] 具体地,第一密钥的作用是作为生成第二密钥的种子密钥,具体生成第一密钥的过程可以是随机或固定产生的任意一串字符,或者是将第一终端相关的标志性信息作为第一密钥等等,具体的产生过程为本领域技术人员的惯用技术手段,在此不再赘述;
[0109] 第一终端在生成第一密钥之后,可以通过通信接口固定的板侧命令或指令开启自身至少一个通信接口,例如,第一终端可以开启自身的Wi-Fi Direct、蓝牙和NFC通信接口。
[0110] S2012:第一终端根据所述第一密钥和设定的算法为所述自身至少一个通信接口生成对应地第二密钥;
[0111] 具体地,第一终端可以以第一密钥为种子密钥,再根据预先设定的算法得到各通信接口对应的第二密钥,本实施例优选地,各通信接口对应的第二密钥的生成过程可以是:在第一密钥的基础上增加固定长度的序列,并结合各通信接口的接口名称生成各通信接口对应的第二密钥,例如,第一密钥为A,固定长度序列为BCD,Wi-Fi Direct、蓝牙和NFC通信接口的接口名称分别为a、b、c,由此,可以得到Wi-Fi Direct接口的第二密钥为ABCDa,蓝牙接口的第二密钥为ABCDb,NFC通信接口的第二密钥为ABCDc。
[0112] S2013:第一终端将所述第一密钥发送至所述第二终端;
[0113] 可选地,第一终端可以将第一密钥写入固定格式的短信息中,并将该短信息发送至第二终端,使得第二终端能够根据固定的格式从短信中抽取第一密钥;
[0114] 可选地,第一终端可以将第一密钥向用户显示,然后通过用户在第二终端输入第一密钥来实现将第一密钥发送至第二终端的过程;
[0115] 可选地,第一终端可以直接向第二终端推送包括了第一密钥的推送消息,使得第二终端直接从推送消息中获取第一密钥。
[0116] 需要说明的是,具体的发送方式不仅以上三种,任何能够使得第二终端接收到第一密钥的方法均可以是S2023的实现方式。
[0117] 还需要说明的是,第二终端在接收到第一密钥后,可以开启第二终端自身至少一个通信接口,并且根据第一密钥和S2022中相同的算法来得到第二终端各通信接口对应的第二密钥,可以理解的,此时,第二终端各通信接口对应的第二密钥与第一终端相应的各通信接口的第二密钥是相同的,从而可以使得第二终端各通信接口能够与第一终端相应的各通信接口通过第二密钥相连接。
[0118] S2014:第一终端根据所述第二密钥对应地将自身至少一个通信接口与所述第二终端开启的至少一个通信接口进行连接,建立所述自身至少一个通信接口对应的连接链路;
[0119] 具体地,由于第二终端各通信接口的第二密钥和第一终端对应地各通信接口的第二密钥相同,因此,第一终端根据所述第二密钥对应地将自身至少一个通信接口与所述第二终端开启的至少一个通信接口进行连接,并建立所述自身至少一个通信接口对应的连接链路;
[0120] 详细地,第一终端可以通过板侧的接口命令将各通信接口开启,并通过第二密钥与第二终端相对应的各通信接口进行连接,从而可以实现第一终端和第二终端的各通信接口的自动连接。
[0121] 例如,第一终端的Wi-Fi Direct接口可以根据第二密钥为ABCDa与第二终端的Wi-Fi Direct接口进行连接,第一终端的蓝牙接口可以根据第二密钥为ABCDb与第二终端的蓝牙接口进行连接,第一终端的NFC通信接口可以根据第二密钥为ABCDc与第二终端的NFC通信接口进行连接,并建立以上三个连接对应的连接链路,例如Wi-Fi Direct连接链路、蓝牙连接链路和NFC通信连接链路。
[0122] 进一步地,在建立连接的过程中,还可以获取各连接链路的连接参数,具体地,连接参数可以包括各连接链路的信号强度、各连接链路的传输速率和各连接链路支持的距离长度等,作用是为S202提供连接参数排列的依据。
[0123] S202:所述第一终端根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;
[0124] 示例性的,进行排列的准则可以是将能够体现各连接链路数据传输能的连接参数由高到低进行排列,比如可以按照各连接链路的传输速率由大到小进行排列,当出现传输速率相同的连接链路时,可以再根据连接链路的信号强度或者连接链路支持的距离长度进行排列,从而可以得到按照固定顺序进行排列的连接参数队列,可以理解的,连接参数队列中的各连接参数均对应于各连接链路。具体的排列过程可以选用冒泡排序法、快速排序法等已有的排序技术,在此不再赘述。
[0125] 在本实施例中,将Wi-Fi Direct连接链路、蓝牙连接链路和NFC通信连接链路的连接参数按照传输速率进行排列后,可以得到连接参数队列为Wi-FiDirect连接链路的传输速率、蓝牙连接链路的传输速率和NFC通信连接链路的传输速率。
[0126] S203:所述第一终端将待传输数据进行分块,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述第二终端;
[0127] 示例性地,S203的主要作用是结合S202得到的连接参数队列所体现出来的各连接链路的数据传输能力,使得各连接链路能够并行的对待传输数据进行发送,从而达到快速发送数据的效果;
[0128] S203的基本思想为“能者多劳”,即连接参数队列顺序靠前的连接参数所对应的连接链路由于数据传输能力高,因此可以多发送待传输数据;而连接参数队列顺序靠后的连接参数所对应的连接链路由于数据传输能力低,因此少发送待传输数据;从而能够结合数据传输能力来对连接链路所要传输的数据进行分配,从而可以进一步地提升发送数据的速度。
[0129] 基于上述的基本思想,为了达到上述主要作用,在本实施例中,S203可以按照以下方式实现。
[0130] 可选地,参见图4,S203具体可以包括:
[0131] S2031A:第一终端将所述待传输数据均分为至少一个数据块;
[0132] 具体地,第一终端可以按照固定大小将待传输数据划分为多个数据块;
[0133] 优选地,第一终端在划分过程中可以生成各数据块的属性信息,可以包括数据块标识和数据块校验信息,其中,数据块的标识可以用于当所有数据块发送至第二终端后,使得第二终端能够根据数据块标识将所有数据块合并为原待传输的数据;数据块的校验信息则可以用于第二终端在接收完数据块之后,对接收的数据块进行校验,以确定数据块在发送过程中是否出现传输错误。
[0134] S2032A:第一终端按照设定的所述各连接链路的连接参数队列的顺序与数据块数量的对应关系将所述至少一个数据块分别通过所述各连接链路发送至所述第二终端;
[0135] 具体地,所述各连接链路的连接参数队列的顺序与数据块数量的对应关系可以是结合连接参数队列的顺序按照固定的比例将数据块分配到各连接链路,例如,连接参数队列依次为Wi-Fi Direct连接链路的传输速率、蓝牙连接链路的传输速率和NFC通信连接链路的传输速率。因此Wi-Fi Direct连接链路、蓝牙连接链路和NFC通信连接链路按照5:3:2的比例分配数据块,并且各连接链路将自身所分配的数据块向第二终端相应的通信接口进行发送;
[0136] 优选地,各连接链路在发送数据块的过程中,还可以发送数据块的属性信息,从而能够便于第二终端将所有数据块合并为待传输的数据以及对接收的数据块进行校验。
[0137] 可选地,参见图5,S203具体可以包括:
[0138] S2031B:第一终端根据设定的所述连接参数队列的顺序与数据量比例的对应关系将待传输数据按照所述数据量比例划分为至少一个数据块;
[0139] 具体地,第一终端可以按照所述设定的所述连接参数队列的顺序与数据量比例的对应关系将待传输数据划分为多个数据块,此时,数据块的数量通常会与连接参数队列所对应的连接链路数量相同,例如,连接参数队列依次为Wi-FiDirect连接链路的传输速率、蓝牙连接链路的传输速率和NFC通信连接链路的传输速率。因此,可以将待传输数据按照数据量大小为5:3:2的数据量比例划分为3个数据块,其中,数据量比例为5的数据块对应Wi-Fi Direct连接链路、数据量比例为3的数据块对应蓝牙连接链路以及数据量比例为2的数据块对应NFC通信连接链路。
[0140] 优选地,第一终端在划分过程中可以生成各数据块的属性信息,可以包括数据块标识和数据块校验信息,其中,数据块的标识可以用于当所有数据块发送至第二终端后,使得第二终端能够根据数据块标识将所有数据块合并为原待传输的数据;数据块的校验信息则是可以用于第二终端在接收完数据块之后,对接收的数据块进行校验,以确定数据块在发送过程中是否出现传输错误。
[0141] S2032B:第一终端将所述至少一个数据块对应地通过所述连接参数队列中各连接链路向所述第二终端发送;
[0142] 具体地,在本实施例中,在得到数据块之后,可以按照数据量比例为5的数据块对应Wi-Fi Direct连接链路、数据量比例为3的数据块对应蓝牙连接链路以及数据量比例为2的数据块对应NFC通信连接链路将各数据块发送至第二终端对应的通信接口。
[0143] 优选地,各连接链路在发送数据块的过程中,还可以发送数据块的属性信息,从而能够便于第二终端将所有数据块合并为待传输的数据以及对接收的数据块进行校验。
[0144] 进一步地,参见图6,当第二终端在接收数据块的过程中通过对数据块的校验发现数据块错误而导致校验失败时,本实施例还可以包括:
[0145] S204:第一终端接收第二终端发送的校验失败的数据块标识;
[0146] S205:第一终端检测连接参数队列中第一连接链路的发送状态;
[0147] 具体地,所述第一连接链路优选为连接参数在所述连接参数队列中排在第一的连接链路,这是因为该连接链路的数据传输能力在所有连接链路中是最高的。例如,本实施例中,第一连接链路可以是Wi-Fi Direct连接链路。
[0148] 第一终端可以检测第一连接链路的发送状态,该状态可以包括:第一连接链路处于正在发送所述第一连接链路的数据块的状态和第一连接链路处于所述第一连接链路的数据块发送完毕状态,根据这两种状态,第一终端可以对所述校验失败的数据块作出如下选择:
[0149] S206:当所述第一连接链路的发送状态为所述第一连接链路的数据块发送完毕时,所述第一终端通过所述第一连接链路向所述第二终端发送所述校验失败的数据块;
[0150] 例如,当Wi-Fi Direct连接链路将自身需要发送的数据块发送完毕后,处于可用状态,因此,第一终端可以通过Wi-Fi Direct连接链路将所述校验失败的数据块发送至第二终端。
[0151] S207:当所述第一连接链路的发送状态为正在发送所述第一连接链路的数据块时,所述第一终端通过所述校验失败的数据块对应的连接链路向所述第二终端发送所述校验失败的数据块;
[0152] 例如,当Wi-Fi Direct连接链路正在发送自身需要发送的数据块时,处于不可用状态,因此,第一终端可以通过所述校验失败的数据块所对应的连接链路重新向第二终端进行发送。
[0153] 本实施例提供了一种传输数据的方法,通过第一终端将至少一个通信接口与第二终端对应的至少一个通信接口进行连接后,通过至少一个连接链路将分块的待传输数据进行传输,使得用户能够通过多种近距离通信技术来进行数据传输,从而加快了终端传输数据的速度。
[0154] 参见图7,其示出了本发明实施例提供的另一种传输数据的方法流程,应用于第二终端侧,该方法可以包括:
[0155] S701:第二终端将自身至少一个通信接口对应地与第一终端至少一个通信接口建立连接链路;
[0156] 示例性地,参见图8,S701的具体过程可以包括:
[0157] S7011:第二终端接收所述第一终端发送的第一密钥;
[0158] 具体地,第一密钥的作用是作为生成第二密钥的种子密钥;
[0159] 可选地,第二终端可以接收第一终端发送的将第一密钥写入固定格式的短信息;
[0160] 可选地,第二终端可以接收用户在通过第一终端将第一密钥显示后输入的第一密钥;
[0161] 可选地,第二终端可以接收由第一终端直接推送的包括了第一密钥的推送消息,并直接从所述推送消息中获取第一密钥。
[0162] S7012:第二终端开启自身至少一个通信接口,并根据所述第一密钥和设定的算法生成所述第二终端开启的至少一个通信接口对应的第二密钥;
[0163] 示例性地,当第二终端接收到第一密钥之后,可以通过通信接口固定的板侧命令或指令开启自身至少一个通信接口,例如,第二终端可以开启自身的Wi-Fi Direct、蓝牙和NFC通信接口。
[0164] 示例性地,第二终端在开启完自身至少一个通信接口之后,可以以第一密钥为种子密钥,然后根据预先设定的与第一终端相同的算法得到各通信接口对应的第二密钥,具体第二密钥的获取过程参见前述实施例所述,在此不再赘述。
[0165] 在本实施例中,例如,第二终端可以得到Wi-Fi Direct接口的第二密钥为ABCDa,蓝牙接口的第二密钥为ABCDb,NFC通信接口的第二密钥为ABCDc,值得注意的是,由于预设的算法与第一终端相同,因此,第二终端各通信接口的第二密钥和第一终端各通信接口的第二密钥是相同的。
[0166] S7013:第二终端根据所述第二密钥对应地将自身至少一个通信接口与所述第一终端至少一个通信接口进行连接,建立所述自身至少一个通信接口对应的连接链路;
[0167] 具体地,当第二终端各通信接口的第二密钥和第一终端各通信接口的第二密钥相同,因此,第二终端根据所述第二密钥对应地将自身至少一个通信接口与所述第一终端开启的至少一个通信接口进行连接,并建立所述自身至少一个通信接口对应的连接链路;
[0168] 详细地,第二终端可以通过板侧的接口命令将各通信接口开启,并通过第二密钥与第一终端相对应的各通信接口进行连接,从而可以实现第二终端和第一终端的各通信接口的自动连接。
[0169] 例如,第二终端的Wi-Fi Direct接口可以根据第二密钥为ABCDa与第一终端的Wi-Fi Direct接口进行连接,第二终端的蓝牙接口可以根据第二密钥为ABCDb与第一终端的蓝牙接口进行连接,第二终端的NFC通信接口可以根据第二密钥为ABCDc与第一终端的NFC通信接口进行连接,并建立以上三个连接对应的连接链路,例如Wi-Fi Direct连接链路、蓝牙连接链路和NFC通信连接链路。
[0170] S702:第二终端通过各连接链路接收第一终端发送的待传输数据的数据块;
[0171] 具体地,传输过程前述实施例已有描述,在此不再赘述。
[0172] 示例性的,如图9所述,第二终端通过各连接链路接收第一终端发送的待传输数据的数据块的同时,还可以包括S901至S904:
[0173] S901:第二终端还通过各连接链路接收第一终端发送的待传输数据的数据块的属性信息;
[0174] 具体地,所述待传输数据的数据块的属性信息包括所述待传输数据的数据块的标识和校验信息;其中,数据块的标识可以用于第二终端能够根据数据块标识将所有数据块合并为原待传输的数据;数据块的校验信息则可以用于第二终端在接收完数据块之后,对接收的数据块进行校验,以确定数据块在发送过程中是否出现传输错误。
[0175] S902:第二终端根据所述待传输数据的数据块的校验信息对已接收的数据块进行校验;
[0176] 具体地,校验消息可以包括数据块的大小、数据块的校验码等多种方式;
[0177] 对应地,当校验消息为数据块的大小时,第二终端可以在数据块接收完毕时,将接收到的数据大小与校验消息中数据块的大小进行比较:两者相同时,则校验成功,两者不同时,则校验失败。
[0178] 当校验消息为数据块的校验码时,第二终端可以在数据块接收完毕后,根据校验码对应的算法对数据块进行校验,并将校验结果与校验消息中数据块的校验码进行比较:两者相同时,则校验成功,两者不同时,则校验失败。
[0179] S903:当所述第二终端确定已接收的数据块校验失败时,向所述第一终端发送校验失败的数据块标识;
[0180] 具体地,所述校验失败的数据块标识用于所述第一终端向所述第二终端重新发送所述校验失败的数据块;从而使得第一终端重新发送校验失败的数据块。
[0181] S904:第二终端接收由所述第一终端重新发送的校验失败的数据块。
[0182] 需要说明的是,S901至S904提供了一种传输数据过程中发生错误时的解决方法,从而保证了数据传输的可靠性。
[0183] S703:第二终端将所有待传输数据的数据块进行合并,得到所述待传输数据;
[0184] 示例性地,第二终端可以根据所有待传输数据的数据块标识按照设定的顺序进行合并,得到所述待传输数据。
[0185] 本实施例提供了一种传输数据的方法,通过第二终端将至少一个通信接口与第一终端对应的至少一个通信接口进行连接后,通过至少一个连接链路将分块的待传输数据进行传输,使得用户能够通过多种近距离通信技术来进行数据传输,从而加快了终端传输数据的速度。
[0186] 参见图10,其示出了本发明实施例提供的一种传输数据的方法详细流程,该流程中,第一终端为数据发送方,第二终端为数据接收方,该流程可以包括:
[0187] S1001:第一终端生成第一密钥,并开启自身的Wi-Fi Direct、蓝牙和NFC通信接口;
[0188] 示例性地,第一密钥的作用是作为生成第二密钥的种子密钥,具体生成第一密钥的过程可以是随机或固定产生的任意一串字符,或者是将第一终端相关的标志性信息作为第一密钥等等,具体的产生过程为本领域技术人员的惯用技术手段,在此不再赘述;
[0189] 第一终端在生成第一密钥之后,可以通过通信接口固定的板侧命令或指令开启自身的Wi-Fi Direct、蓝牙和NFC通信接口。
[0190] S1002:第一终端根据所述第一密钥和设定的算法分别为所述自身的Wi-FiDirect、蓝牙和NFC通信接口生成对应地第二密钥;
[0191] 具体地,第一终端可以以第一密钥为种子密钥,再根据预先设定的算法得到各通信接口对应的第二密钥,本实施例优选地,各通信接口对应的第二密钥的生成过程可以是:在第一密钥的基础上增加固定长度的序列,并结合各通信接口的接口名称生成各通信接口对应的第二密钥,例如,第一密钥为A,固定长度序列为BCD,Wi-Fi Direct、蓝牙和NFC通信接口的接口名称分别为a、b、c,由此,可以得到Wi-Fi Direct接口的第二密钥为ABCDa,蓝牙接口的第二密钥为ABCDb,NFC通信接口的第二密钥为ABCDc。
[0192] S1003:第一终端将所述第一密钥发送至所述第二终端;
[0193] 可选地,第一终端可以将第一密钥写入固定格式的短信息中,并将该短信息发送至第二终端,使得第二终端能够根据固定的格式从短信中抽取第一密钥;
[0194] 可选地,第一终端可以将第一密钥向用户显示,然后通过用户在第二终端输入第一密钥来实现将第一密钥发送至第二终端的过程;
[0195] 可选地,第一终端可以直接向第二终端推送包括了第一密钥的推送消息,使得第二终端直接从推送消息中获取第一密钥。
[0196] 需要说明的是,具体的发送方式不仅以上三种,任何能够使得第二终端接收到第一密钥的方法均可以是S2023的实现方式。
[0197] 还需要说明的是,S1002和S1003在具体实现过程中并没有严格的先后顺序,两者可以同时实现,也可以首先实现S1003再实现S1002,本实施例对此不作具体限定。
[0198] S1004:第二终端在接收到第一密钥后,开启自身的Wi-Fi Direct、蓝牙和NFC通信接口,并根据所述第一密钥和预先设定的与第一终端相同的算法分别生成所述第二终端开启的Wi-Fi Direct、蓝牙和NFC通信接口对应的第二密钥;
[0199] 具体地,第二终端可以得到Wi-Fi Direct接口的第二密钥为ABCDa,蓝牙接口的第二密钥为ABCDb,NFC通信接口的第二密钥为ABCDc,值得注意的是,由于预设的算法与第一终端相同,因此,第二终端各通信接口的第二密钥和第一终端各通信接口的第二密钥是相同的。
[0200] S1005:第一终端根据所述第二密钥对应地将自身开启的通信接口与第二终端开启的通信接口进行连接,建立第一终端与第二终端的Wi-Fi Direct、蓝牙和NFC通信接口的连接链路;
[0201] 详细地,第一终端可以通过板侧的接口命令将各通信接口开启,并通过第二密钥与第二终端相对应的各通信接口进行连接,从而可以实现第一终端和第二终端的各通信接口的自动连接。
[0202] 进一步地,在建立连接的过程中,还可以获取各连接链路的连接参数,具体地,连接参数可以包括各连接链路的信号强度、各连接链路的传输速率和各连接链路支持的距离长度等,
[0203] S1006:第一终端根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;
[0204] 示例性的,进行排列的准则可以是将能够体现各连接链路数据传输能力的连接参数由高到低进行排列,比如第一终端可以按照各连接链路的传输速率由大到小进行排列,当出现传输速率相同的连接链路时,第一终端可以再根据连接链路的信号强度或者连接链路支持的距离长度进行排列,从而可以得到按照固定顺序进行排列的连接参数队列,可以理解的,连接参数队列中的各连接参数均对应于各连接链路。具体的排列过程可以选用冒泡排序法、快速排序法等已有的排序技术,在此不再赘述。
[0205] 在本实施例中,第一终端将Wi-Fi Direct连接链路、蓝牙连接链路和NFC通信连接链路的连接参数按照传输速率进行排列后,可以得到连接参数队列为Wi-Fi Direct连接链路的传输速率、蓝牙连接链路的传输速率和NFC通信连接链路的传输速率。
[0206] S1007:第一终端将待传输数据进行分块,并在分块过程中生成各数据块的属性信息;
[0207] 示例性地,各数据块的属性信息,可以包括数据块标识和数据块校验信息,其中,数据块的标识可以用于当所有数据块发送至第二终端后,使得第二终端能够根据数据块标识将所有数据块合并为原待传输的数据;数据块的校验信息则可以用于第二终端在接收完数据块之后,对接收的数据块进行校验,以确定数据块在发送过程中是否出现传输错误。
[0208] 可选地,S1007的实现过程可以包括:
[0209] S1007A:第一终端将所述待传输数据均分为至少一个数据块;
[0210] 或者,S1007B:第一终端根据设定的所述连接参数队列的顺序与数据量比例的对应关系将待传输数据按照所述数据量比例划分为至少一个数据块;例如,第一终端可以按照所述设定的所述连接参数队列的顺序与数据量比例的对应关系将待传输数据划分为多个数据块,此时,数据块的数量通常会与连接参数队列所对应的连接链路数量相同,例如,连接参数队列依次为Wi-Fi Direct连接链路的传输速率、蓝牙连接链路的传输速率和NFC通信连接链路的传输速率。因此,可以将待传输数据按照数据量大小为5:3:2的数据量比例划分为3个数据块,其中,数据量比例为5的数据块对应Wi-Fi Direct连接链路、数据量比例为3的数据块对应蓝牙连接链路以及数据量比例为2的数据块对应NFC通信连接链路。
[0211] S1008:第一终端按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块及属性信息对应地通过各连接链路发送至所述第二终端;
[0212] 示例性地,对应于S1007不同的具体实现过程,S1008的具体实现过程可以包括第一实现方式或第二实现方式:
[0213] 对应于S1007A,第一实现方式包括:
[0214] 第一终端按照设定的所述各连接链路的连接参数队列的顺序与数据块数量的对应关系将所述至少一个数据块及属性信息分别通过所述各连接链路发送至所述第二终端;
[0215] 具体地,所述各连接链路的连接参数队列的顺序与数据块数量的对应关系可以是结合连接参数队列的顺序按照固定的比例将数据块分配到各连接链路,例如,连接参数队列依次为Wi-Fi Direct连接链路的传输速率、蓝牙连接链路的传输速率和NFC通信连接链路的传输速率。因此Wi-Fi Direct连接链路、蓝牙连接链路和NFC通信连接链路按照5:3:2的比例分配数据块,并且各连接链路将自身所分配的数据块向第二终端相应的通信接口进行发送;
[0216] 对应于S1007B,第二实现方式可以包括:
[0217] 第一终端将所述至少一个数据块及属性信息对应地通过所述连接参数队列中各连接链路向所述第二终端发送;
[0218] 具体地,在本实施例中,在得到数据块之后,可以按照数据量比例为5的数据块对应Wi-Fi Direct连接链路、数据量比例为3的数据块对应蓝牙连接链路以及数据量比例为2的数据块对应NFC通信连接链路将各数据块发送至第二终端对应的通信接口。
[0219] 在S1007和S1008的实现过程当中,参见图11,还可以包括S1101至S1105:
[0220] S1101:第二终端在接收数据块时可以根据属性信息对接收的数据块进行校验;
[0221] 具体地,校验消息可以包括数据块的大小、数据块的校验码等多种方式;
[0222] 对应地,当校验消息为数据块的大小时,第二终端可以在数据块接收完毕时,将接收到的数据大小与校验消息中数据块的大小进行比较:两者相同时,则校验成功,两者不同时,则校验失败。
[0223] 当校验消息为数据块的校验码时,第二终端可以在数据块接收完毕后,根据校验码对应的算法对数据块进行校验,并将校验结果与校验消息中数据块的校验码进行比较:两者相同时,则校验成功,两者不同时,则校验失败。
[0224] S1102:当所述第二终端确定已接收的数据块校验失败时,向所述第一终端发送校验失败的数据块标识;
[0225] 具体地,所述校验失败的数据块标识用于所述第一终端向所述第二终端重新发送所述校验失败的数据块;从而使得第一终端重新发送校验失败的数据块。
[0226] S1103:第一终端检测连接参数队列中第一连接链路的发送状态;
[0227] 具体地,所述第一连接链路优选为连接参数在所述连接参数队列中排在第一的连接链路,这是因为该连接链路的数据传输能力在所有连接链路中是最高的。例如,本实施例中,第一连接链路可以是Wi-Fi Direct连接链路。
[0228] 需要说明的是,第一终端检测的第一连接链路的发送状态可以包括:第一连接链路处于正在发送所述第一连接链路的数据块的状态和第一连接链路处于所述第一连接链路的数据块发送完毕状态,根据这两种状态,第一终端可以对所述校验失败的数据块作出如下选择:
[0229] S1104:当所述第一连接链路的发送状态为所述第一连接链路的数据块发送完毕时,所述第一终端通过所述第一连接链路向所述第二终端发送所述校验失败的数据块;
[0230] 例如,当Wi-Fi Direct连接链路将自身需要发送的数据块发送完毕后,处于可用状态,因此,第一终端可以通过Wi-Fi Direct连接链路将所述校验失败的数据块发送至第二终端。
[0231] S1105:当所述第一连接链路的发送状态为正在发送所述第一连接链路的数据块时,所述第一终端通过所述校验失败的数据块对应的连接链路向所述第二终端发送所述校验失败的数据块;
[0232] 例如,当Wi-Fi Direct连接链路正在发送自身需要发送的数据块时,处于不可用状态,因此,第一终端可以通过所述校验失败的数据块所对应的连接链路重新向第二终端进行发送。
[0233] 需要说明的是,S1101至S1106提供了一种传输数据过程中发生错误时的解决方法,从而保证了数据传输的可靠性。
[0234] S1009:第二终端将所有待传输数据的数据块进行合并,得到所述待传输数据;
[0235] 示例性地,第二终端可以根据所有待传输数据的数据块标识按照设定的顺序进行合并,得到所述待传输数据。
[0236] 本实施例提供了一种传输数据的方法的详细流程,通过第一终端将至少一个通信接口与第二终端对应的至少一个通信接口进行连接后,通过至少一个连接链路将分块的待传输数据进行传输,使得用户能够通过多种近距离通信技术来进行数据传输,从而加快了终端传输数据的速度。
[0237] 参见图12,其示出了本发明实施例提供的一种终端120的结构,可以理解地,所述终端120为进行数据发送的第一终端,相应的,本实施中,接收数据的第二终端则为终端120的对端,所述终端120可以包括:链路建立单元1201、获取单元1202、排列单元1203、分块单元1204和发送单元1205,其中,
[0238] 所述链路建立单元1201,用于在将所述终端至少一个通信接口对应地与对端至少一个通信接口建立连接链路;
[0239] 所述获取单元1202,用于在所述链路建立单元1201建立连接链路之后,获取各连接链路的连接参数;
[0240] 所述排列单元1203,用于根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;
[0241] 所述分块单元1204,用于将待传输数据进行分块;
[0242] 所述发送单元1205,用于按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至所述对端。
[0243] 示例性的,参见图13,所述链路建立单元1201可以具体地包括:生成子单元12011、开启子单元12012、发送子单元12013和连接子单元12014,其中,[0244] 所述生成子单元12011,用于生成第一密钥;
[0245] 具体地,第一密钥的作用是作为生成第二密钥的种子密钥,生成子单元12011具体生成第一密钥的过程可以是生成子单元12011随机或固定产生的任意一串字符,或者是生成子单元12011将第一终端相关的标志性信息作为第一密钥等等,具体的产生过程为本领域技术人员的惯用技术手段,在此不再赘述;
[0246] 所述开启子单元12012,用于开启所述终端120至少一个通信接口;
[0247] 具体地,在生成子单元12011生成第一密钥之后,开启子单元12012可以通过通信接口固定的板侧命令或指令开启终端120至少一个通信接口,例如,开启子单元12012可以开启终端120的Wi-Fi Direct、蓝牙和NFC通信接口
[0248] 所述生成子单元12011,还用于根据所述第一密钥和设定的算法为所述终端至少一个通信接口生成对应地第二密钥;
[0249] 具体地,生成子单元12011还可以以第一密钥为种子密钥,再根据预先设定的算法得到各通信接口对应的第二密钥,本实施例优选地,生成子单元12011为终端120各通信接口生成对应的第二密钥的过程可以是:在第一密钥的基础上增加固定长度的序列,并结合各通信接口的接口名称生成各通信接口对应的第二密钥,例如,第一密钥为A,固定长度序列为BCD,Wi-Fi Direct、蓝牙和NFC通信接口的接口名称分别为a、b、c,由此,生成子单元12011可以得到Wi-Fi Direct接口的第二密钥为ABCDa,蓝牙接口的第二密钥为ABCDb,NFC通信接口的第二密钥为ABCDc;
[0250] 所述发送子单元12013,用于将所述第一密钥发送至所述对端,所述第一密钥用于所述对端根据所述第一密钥和所述设定的算法生成所述对端开启的至少一个通信接口对应的第二密钥;
[0251] 可选地,发送子单元12013可以将第一密钥写入固定格式的短信息中,并将该短信息发送至对端,使得对端能够根据固定的格式从短信中抽取第一密钥;
[0252] 可选地,发送子单元12013可以将第一密钥向用户显示,然后通过用户在对端输入第一密钥来实现将第一密钥发送至对端的过程;
[0253] 可选地,发送子单元12013可以直接向对端推送包括了第一密钥的推送消息,使得对端直接从推送消息中获取第一密钥。
[0254] 需要说明的是,发送子单元12013具体发送第二密钥的方式不仅以上三种,本实施例不做具体限定。
[0255] 所述连接子单元12014,用于根据所述第二密钥对应地将所述终端120至少一个通信接口与所述对端开启的至少一个通信接口进行连接,建立所述终端120至少一个通信接口对应的连接链路。
[0256] 具体地,由于对端各通信接口的第二密钥和终端120对应地各通信接口的第二密钥相同,因此,连接子单元12014根据所述第二密钥对应地将终端120至少一个通信接口与对端开启的至少一个通信接口进行连接,并建立所述终端120至少一个通信接口对应的连接链路;
[0257] 详细地,连接子单元12014可以通过板侧的接口命令将终端120各通信接口开启,并通过第二密钥与对端相对应的各通信接口进行连接,从而可以实现终端120和对端的各通信接口的自动连接。
[0258] 进一步地,获取单元1202所获取的各连接链路的连接参数可以包括各连接链路的信号强度、各连接链路的传输速率和各连接链路支持的距离长度等,用于作为排列单元1203进行连接参数排列的依据。
[0259] 示例性的,排列单元1203进行排列的准则可以是将能够体现各连接链路数据传输能力的连接参数由高到低进行排列,比如,排列单元1203可以按照各连接链路的传输速率由大到小进行排列,当出现传输速率相同的连接链路时,可以再根据连接链路的信号强度或者连接链路支持的距离长度进行排列,从而可以得到按照固定顺序进行排列的连接参数队列,可以理解的,连接参数队列中的各连接参数均对应于各连接链路。具体的排列过程可以选用冒泡排序法、快速排序法等已有的排序技术,在此不再赘述。
[0260] 在本实施例中,排列单元1203将Wi-Fi Direct连接链路、蓝牙连接链路和NFC通信连接链路的连接参数按照传输速率进行排列后,可以得到连接参数队列为Wi-Fi Direct连接链路的传输速率、蓝牙连接链路的传输速率和NFC通信连接链路的传输速率。
[0261] 示例性地,所述分块单元1204用于,将所述待传输数据均分为至少一个数据块;
[0262] 具体地,分块单元1204可以按照固定大小将待传输数据划分为多个数据块;
[0263] 优选地,分块单元1204在划分过程中,获取单元1202可以生成各数据块的属性信息,可以包括数据块标识和数据块校验信息,其中,数据块的标识可以用于当所有数据块发送至对端后,使得对端能够根据数据块标识将所有数据块合并为原待传输的数据;数据块的校验信息则可以用于对端在接收完数据块之后,对接收的数据块进行校验,以确定数据块在发送过程中是否出现传输错误。
[0264] 相应地,所述发送单元1205用于,按照设定的所述各连接链路的连接参数队列的顺序与数据块数量的对应关系将所述至少一个数据块分别通过所述各连接链路发送至所述对端;
[0265] 具体地,所述各连接链路的连接参数队列的顺序与数据块数量的对应关系可以是结合连接参数队列的顺序按照固定的比例将数据块分配到各连接链路,例如,连接参数队列依次为Wi-Fi Direct连接链路的传输速率、蓝牙连接链路的传输速率和NFC通信连接链路的传输速率。因此Wi-Fi Direct连接链路、蓝牙连接链路和NFC通信连接链路按照5:3:2的比例分配数据块,并且发送单元1205通过各连接链路将所分配的数据块向对端相应的通信接口进行发送;
[0266] 优选地,发送单元1205通过各连接链路发送数据块的过程中,还可以发送数据块的属性信息,从而能够便于对端将所有数据块合并为待传输的数据以及对接收的数据块进行校验。
[0267] 示例性地,所述分块单元1204用于,根据设定的所述连接参数队列的顺序与数据量比例的对应关系将所述待传输数据按照所述数据量比例划分为至少一个数据块,其中所述至少一个数据块与所述连接参数队列中各连接链路的连接参数相对应;
[0268] 具体地,分块单元1204可以按照所述设定的所述连接参数队列的顺序与数据量比例的对应关系将待传输数据划分为多个数据块,此时,数据块的数量通常会与连接参数队列所对应的连接链路数量相同,例如,连接参数队列依次为Wi-Fi Direct连接链路的传输速率、蓝牙连接链路的传输速率和NFC通信连接链路的传输速率。因此,可以将待传输数据按照数据量大小为5:3:2的数据量比例划分为3个数据块,其中,数据量比例为5的数据块对应Wi-Fi Direct连接链路、数据量比例为3的数据块对应蓝牙连接链路以及数据量比例为2的数据块对应NFC通信连接链路。
[0269] 优选地,分块单元1204在划分过程中,获取单元1202可以生成各数据块的属性信息,可以包括数据块标识和数据块校验信息,其中,数据块的标识可以用于当所有数据块发送至对端后,使得对端能够根据数据块标识将所有数据块合并为原待传输的数据;数据块的校验信息则是可以用于对端在接收完数据块之后,对接收的数据块进行校验,以确定数据块在发送过程中是否出现传输错误。
[0270] 相应的,所述发送单元1205用于,将所述至少一个数据块对应地通过所述连接参数队列中各连接链路向所述对端发送;
[0271] 具体地,在本实施例中,在分块单元1204得到数据块之后,发送单元1205可以按照数据量比例为5的数据块对应Wi-Fi Direct连接链路、数据量比例为3的数据块对应蓝牙连接链路以及数据量比例为2的数据块对应NFC通信连接链路将各数据块发送至对端对应的通信接口。
[0272] 优选地,发送单元1205通过各连接链路发送数据块的过程中,还可以发送数据块的属性信息,从而能够便于对端将所有数据块合并为待传输的数据以及对接收的数据块进行校验。
[0273] 示例性地,参见图13,终端120还可以包括接收单元1206和检测单元1207,其中,[0274] 接收单元1206,用于接收到所述对端所发送的校验失败的数据块标识;
[0275] 检测单元1207,用于当所述接收单元1206接收到所述对端所发送的校验失败的数据块标识时,检测所述连接参数队列中第一连接链路的发送状态;
[0276] 具体地,所述第一连接链路优选为连接参数在所述连接参数队列中排在第一的连接链路,这是因为该连接链路的数据传输能力在所有连接链路中是最高的。例如,本实施例中,第一连接链路可以是Wi-Fi Direct连接链路。
[0277] 发送单元1205,还用于所述第一连接链路的发送状态为所述第一连接链路的数据块发送完毕时,通过所述第一连接链路向所述对端发送所述校验失败的数据块;
[0278] 以及当所述第一连接链路的发送状态为正在发送所述第一连接链路的数据块时,通过所述校验失败的数据块对应的连接链路向所述对端发送所述校验失败的数据块。
[0279] 例如,当Wi-Fi Direct连接链路将自身需要发送的数据块发送完毕后,处于可用状态,因此,发送单元1205可以通过Wi-Fi Direct连接链路将所述校验失败的数据块发送至对端;
[0280] 当Wi-Fi Direct连接链路正在发送自身需要发送的数据块时,处于不可用状态,因此,发送单元1205可以通过所述校验失败的数据块所对应的连接链路重新向对端进行发送。
[0281] 本实施例提供了一种终端120,通过终端120将至少一个通信接口与对端对应的至少一个通信接口进行连接后,通过至少一个连接链路将分块的待传输数据进行传输,使得用户能够通过多种近距离通信技术来进行数据传输,从而加快了终端传输数据的速度。
[0282] 参见图14,其示出了本发明实施例提供的一种终端140的结构,可以理解地,所述终端140为接收数据的第二终端,相应的,本实施中,发送数据的第一终端则为终端140的对端,终端140可以包括链路建立单元1401、接收单元1402和合并单元1403,其中,[0283] 所述链路建立单元1401,用于将所述终端至少一个通信接口对应地与对端至少一个通信接口建立连接链路;
[0284] 所述接收单元1402,用于通过各连接链路接收第一终端发送的待传输数据的数据块;
[0285] 所述合并单元1403,用于将所有待传输数据的数据块进行合并,得到所述待传输数据。
[0286] 示例性地,参见图15,链路建立单元1401可以包括:接收子单元14011、开启子单元14012、生成子单元14013和连接子单元14014,其中,
[0287] 所述接收子单元14011,用于接收所述对端发送的第一密钥;
[0288] 所述开启子单元14012,用于开启所述终端140至少一个通信接口;
[0289] 所述生成子单元14013,用于根据所述第一密钥和设定的算法生成所述终端140开启的至少一个通信接口对应的第二密钥;
[0290] 所述连接子单元14014,用于根据所述第二密钥对应地将所述终端140至少一个通信接口与所述对端至少一个通信接口进行连接,建立所述终端140至少一个通信接口对应的连接链路。
[0291] 示例性地,接收单元1402,还用于通过各连接链路接收第一终端发送的待传输数据的数据块的属性信息;
[0292] 具体地,所述待传输数据的数据块的属性信息包括所述待传输数据的数据块的标识和校验信息。
[0293] 参见图15,终端140还可以包括校验单元1404和发送单元1405,其中,[0294] 所述校验单元1404,用于根据所述待传输数据的数据块的校验信息对已接收的数据块进行校验;
[0295] 所述发送单元1405,用于当所述校验单元1404确定已接收的数据块校验失败时,向所述对端发送校验失败的数据块标识;
[0296] 具体地,所述校验失败的数据块标识用于所述对端向所述终端重新发送所述校验失败的数据块;
[0297] 所述接收单元1402,还用于接收由对端重新发送的校验失败的数据块。
[0298] 示例性地,合并单元1403可以根据所有待传输数据的数据块标识按照设定的顺序进行合并,得到所述待传输数据。
[0299] 本实施例提供了一种终端140,通过终端140将至少一个通信接口与对端对应的至少一个通信接口进行连接后,通过至少一个连接链路接收对端发送的分块的待传输数据,使得用户能够通过多种近距离通信技术来进行数据传输,从而加快了终端传输数据的速度。
[0300] 参见图16,其示出了本发明实施例提供的一种传输数据的系统,所述系统包括第一终端120和第二终端140,其中,第一终端120,用于在将自身至少一个通信接口对应地与第二终端140至少一个通信接口建立连接链路后,获取各连接链路的连接参数;
[0301] 以及根据所述各连接链路的连接参数进行排列,得到各连接链路的连接参数队列;
[0302] 以及将待传输数据进行分块,并按照所述各连接链路的连接参数队列的顺序将所述待传输数据的数据块对应地通过各连接链路发送至第二终端140;
[0303] 所述第二终端140,用于将自身至少一个通信接口对应地与第一终端120至少一个通信接口建立连接链路后,通过各连接链路接收第一终端120发送的待传输数据的数据块;
[0304] 以及将所有待传输数据的数据块进行合并,得到待传输数据。
[0305] 本实施例提供了一种传输数据的系统,通过第一终端120将至少一个通信接口与第二终端140对应的至少一个通信接口进行连接后,通过至少一个连接链路将分块的待传输数据进行传输,使得用户能够通过多种近距离通信技术来进行数据传输,从而加快了终端传输数据的速度。
[0306] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0307] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0308] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0309] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0310] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
QQ群二维码
意见反馈