发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种移动终端适应性传输数据的方法,所述方法包括:
1)第一终端获取第二终端的网络状况信息,以确定所支持的在双方终端间进行数据传输的多种通信方式;
2)所述第一终端选择上述多种通信方式中的一种通信方式与所述第二终端建立连接;
3)在传输数据的过程中,根据当前传输速率及其他各种通信方式的当前网络带宽切换所采用的通信方式。
优选地,根据所述方法,其中终端的所述网络状况信息包括以下一项或多项:所述终端的IP地址、网络探测端口、蓝牙MAC地址、所连接的WiFi名、所连接的远程服务器的IP地址。
优选地,根据所述方法,其中步骤3)包括:
3-11)在传输文件的过程中,周期性地探测当前传输速率;
3-12)若当前传输速率小于设定的阈值,则由所述第一终端请求获取所述第二终端最新的网络状况信息;
3-13)所述第一终端根据所获得的所述第二终端最新的网络状况信息,与所述第二终端建立连接;
3-14)对文件进行续传或重传。
优选地,根据所述方法,其中步骤3-13)包括:
所述第一终端根据所述第二终端最新的网络状况信息,向所述第二终端发送消息探测带宽,以选择带宽最大的一种通信方式与所述第二终端建立连接。
优选地,根据所述方法,其中步骤3)包括:
3-21)在传输中断时,尝试切换至其他通信方式,直到成功建立连接;
3-22)对文件进行续传或重传。
优选地,根据所述方法,其中步骤3)包括:
3-31)在传输中断时,由所述第一终端根据所述第二终端的身份标识,向指定设备请求获取所述第二终端的网络状况信息,所述指定设备用于存储终端的网络状况信息;
3-32)所述第一终端根据所获得的所述第二终端最新的网络状况信息,与所述第二终端建立连接;
3-33)对文件进行续传或重传。
优选地,根据所述方法,其中步骤3-32)包括:
所述第一终端根据所述第二终端最新的网络状况信息,向所述第二终端发送消息探测带宽,以选择带宽最大的一种通信方式与所述第二终端建立连接。
优选地,根据所述方法,其中步骤1)包括:
1-11)所述第一终端根据所述第二终端的网络状况信息,确定所述第二终端所支持的通信方式;
1-12)根据所述第二终端以及所述第一终端所分别支持的通信方式,确定所支持的在双方终端间进行文件传输的各种通信方式。
优选地,根据所述方法,其中步骤2)包括:
2-11)所述第一终端根据所述第二终端的网络状况信息,向所述第二终端发送消息探测在所述各种通信方式下的带宽;
2-12)由所述第一终端选择带宽最大的一种通信方式,与所述第二终端建立连接以进行文件传输。
优选地,根据所述方法,其中步骤2)包括:
2-21)根据设置的优先级,尝试通过优先级最高的通信方式建立连接;
2-22)在连接失败时,选择优先级较低的通信方式建立连接,直至连接成功。
优选地,根据所述方法,其中步骤1)包括:
通过二维码的方式将所述第二终端的网络状况信息传输至所述第一终端。
优选地,根据所述方法,其中步骤1)包括:
所述第一终端根据所述第二终端的身份标识,向指定设备请求获取所述第二终端的网络状况信息,所述指定设备用于存储终端的网络状况信息。
优选地,根据所述方法,其中步骤3)还包括:
监视双方终端的网络状况,在至少一方终端的网络状况信息发生改变时,判断是否需要调整所采用的通信方式。
并且,本发明还提供了一种移动终端适应性传输文件的装置,包括:
用于第一终端获取第二终端的网络状况信息,以确定所支持的在双方终端间进行数据传输的多种通信方式的模块;
用于所述第一终端选择上述多种通信方式中的一种通信方式与所述第二终端建立连接的模块;
用于在传输数据的过程中,根据当前传输速率及其他各种通信方式切换所采用的通信方式的模块。
与现有技术相比,本发明的优点在于:
本发明通过向一方终端发送另一方终端的网络状况信息,来确定所支持的在双方终端间进行文件传输的各种通信方式,并且能够在文件传输过程中,适应于不断变化的环境、通信状况,自动地调整用于传输文件的通信方式。并且,在本发明的一些实施例中,利用二维码的方式来传输所述网络状况信息,使得收发双方的终端用户不必互加好友便可方便、快捷地进行文件传输。在本发明利用诸如指定服务器的设备来存储终端的网络状况信息的实施例中,仅需分享一方终端的身份标识,便可分享该终端的网络状况信息,即便发生传输中断的现象,也可以从该指定服务器处获取终端最后更新的网络状况信息,自动地调整用于传输文件的通信方式。
具体实施方式
下面结合附图和具体实施方式对本发明作详细说明。
在移动通讯中,发送方终端和接收方终端的位置会随着使用者的移动、周围环境的变化而产生各种不确定性,使得存在前一时刻最优的通信方式并非是下一时刻最优的通信方式的状况;甚至出现当采用在前一时刻传输速率最快的通信方式时,发生通信中断的现象。可见采用固定不变的通信方式进行文件传输,难以获得最佳的传输效果。
针对上述问题,本发明提出了一种移动终端适应性传输文件的方法,以在传输文件的过程中,适应于通信状况的变化,来调整所采用的通信方式。通过本发明的技术方案使得在进行文件传输时能够自动地适应于通信条件来调整所采用的通信方式。在进行文件传输时,可以从所支持的各种通信方式中,择优选取进行通信的方式,例如选取传输速率最快的方式进行文件的传输;当由于通信环境的变化而造成通信受阻时,例如传输速率下降、丢包率上升时,可以根据需要再切换至通信效果更好的通信方式进行文件传输。
根据本发明的方法大体上包括:接收方终端获取发送方终端的网络状况信息,以确定传输文件所支持的各种通信方式;选择一种通信方式使得在所述接收方终端与所述接收方终端之间建立连接;在传输文件的过程中,根据传输速率调整所采用的通信方式。其中,所述终端的网络状况信息包括用于确定该终端所支持的通信方式的信息、以及用于传输文件的一些其他信息,例如所述终端的IP地址、网络探测端口、蓝牙MAC地址、所连接的WiFi名、所连接的远程服务器的IP地址等。
参考图1,根据本发明的一个实施例,针对移动终端进行适应性的文件传输方法,包括:
S1:由发送方终端获取其自身的网络状况信息,所述网络状况信息包括以下一项或多项:
i)所述发送方终端是否支持通过互联网的远程服务器进行通讯;
例如,判断所述终端能否采用2G、3G、4G等方式连接至互联网,通过向所述远程服务器发送探测包并检测是否收到针对该探测包的回传响应的方式,判断所述终端是否连接至互联网的远程服务器;若其已连接,则根据所述回传响应的内容确定该终端所连接的远程服务器的IP地址;
ii)所述发送方终端是否支持通过WiFi进行通讯;
例如,通过调用所述发送方终端中WiFi模块的接口来获取该终端的WiFi连接状态,若其已连接至WiFi或已自建WiFi热点,则确定其所连接的WiFi的名称;
iii)所述发送方终端是否支持通过蓝牙进行通讯;
例如,通过调用发送方终端中蓝牙模块的接口来获取该终端的蓝牙开启状态,如其已开启蓝牙,则确定其蓝牙的MAC地址。
S2:根据发送方终端的网络状况信息,生成二维码,提供至接收方终端:
根据本发明的一个实施例,采用任意现有技术生成包含所述发送方终端的网络状况信息的二维码。图2示出了所述二维码的内容一个示例,参考图2,可以在二维码中增加诸如所述终端是否可连接至互联网、是否可连接至公有WiFi、是否自建WiFi热点、是否开启蓝牙的标记,例如在二维码中采用预先约定各个字段含义的二进制代码来描述上述信息:
利用第1-32位表示该终端设备的IP地址;
利用第33-65位表示终端所连接远程服务器的IP地址,当该32位未被设置时则表示所述终端无法连接至互联网;
利用第66-104位表示终端所连接蓝牙的MAC地址,当该48位未被设置时则表示所述终端未开启蓝牙;
由于WiFi名称的长度往往是不确定的,因此,可以从第105位开始利用预先约定的分隔符来区分可连接的WiFi名称,利用在两个分隔符之间的位数来存储WiFi名称;并且,还可以利用预先约定的分隔符来区分所述WiFi为公有WiFi或者自建WiFi热点等,例如利用三位的分隔符“100”表示随后的内容为公有WiFi名,利用“101”表示随后的内容为自己WiFi热点的WiFi名;
类似地,还可以增加其他预先约定的分隔符来区分出待传输文件的文件名称、路径、大小等,并将所述信息以二进制代码的形式增加到二维码中。
对于已经接入互联网、或者已连接WiFi、或者已开启蓝牙的情况,还可以在二维码中增加所述终端所接入互联网的远程服务器的IP地址、所连接的WiFi名、该终端的IP地址和网络探测端口、该终端蓝牙的MAC地址等信息,以便于在随后的步骤中由接收方终端根据上述信息探测各种通信方式的带宽。
并且,除上述信息之外,还可以在二维码中增加与进行文件传输相关的其他信息,例如待传输文件的基本信息,如图2所示。
根据上述实施例,接收方终端可以在随后的步骤中,通过二维码获取发送方终端的网络状况信息。
根据本发明的另一个实施例,在所述发送方终端可以通过2G、3G、4G或WiFi的方式接入互联网的情况下,将所述发送方终端的网络状况信息上传至指定设备,例如指定服务器,并生成包含所述指定服务器的IP地址以及所述发送方终端的身份标识的二维码。
根据上述实施例,接收方终端可以在随后的步骤中,通过二维码获取发送方终端的身份标识,向二维码中的远程服务器发出请求,以获取该发送方终端的网络状况信息。
在上述两个实施例中,采用二维码的方式来分享发送方终端的网络状况信息,使得发送方终端和接收方终端的使用者不必互加好友,便可以方便、快捷地建立连接关系。发送方终端可以采用任意方式,将二维码提供给接收方终端,例如可以由发送方终端将二维码的图片以彩信、聊天消息、邮件等方式提供给接收方终端,接收方终端可将收到的二维码图片存储至相册中,在使用时,利用摄像头拍摄、扫描、或直接从二维码图片中进行读取的方式来获得二维码中所包含的信息。由此,使得接收方终端可以根据二维码中的内容,获取发送方终端的网络状况信息,以在随后的文件传输过程中自适应地调整文件传输路径。
然而应当理解,本发明还可以采用其他方式使得接收方终端能够获取包含发送方终端的网络状况信息的二维码,例如在双方终端距离较近时通过红外、蓝牙、声波等方式传输所述二维码。
S3:接收方终端利用二维码获得发送方终端的网络状况信息,并且根据其自身的网络状况信息,确定传输文件可采用的各种通信方式:
类似地,接收方终端可以采用与前文中相似的方式确定其所支持的通信方式:例如,是否支持通过互联网的远程服务器进行通讯、是否支持通过WiFi进行通讯、是否支持通过蓝牙进行通讯。结合通过二维码所获得的发送方终端所支持的通信方式,可以确定能够采用哪些通信方式来传输文件。例如,
若发送方终端和接收方终端均可连入同一名称的WiFi时,则支持利用局域网的通信方式;
若发送方终端和接收方终端均可通过远程服务器的方式接入互联网,则支持双方均采用诸如2G、3G、4G等通信方式;
若发送方终端和接收方终端中有一方可通过WiFi连入互联网,并且另一方也可通过2G、3G、4G等方式接入互联网,则支持一方连接WiFi、另一方连接2G、3G、4G等以通过互联网进行通信;
若发送方终端和接收方终端均有可开启的蓝牙,则支持通过蓝牙进行通信。
S4:在确定所支持的各种通信方式后,可以根据需要选择一种通信方式在发送方终端和接收发终端之间建立连接:
根据本发明的一个实施例,由接收方终端根据从二维码中获取的发送方终端的网络状况信息,向发送方终端发送探测消息,以检测各种通信方式下的网络带宽。网络带宽决定了进行通信时的数据传输速率,因而可以根据检测结果,选择带宽最大的通信方式建立连接。例如,
在双方终端均可连入同一名称的WiFi时,由接收方终端向发送方终端IP地址的网络探测端口发送探测消息,检测采用WiFi连接时的网络带宽;
在双方终端均可通过互联网进行网络通信时,由接收方终端通过2G、3G、4G等方式向发送方终端IP地址的网络探测端口发送探测消息,检测双方均通过互联网进行网络通信时的网络带宽;
在支持一方终端连接WiFi、另一方终端连接WiFi或诸如2G、3G、4G以通过互联网进行通信的情况下,由接收方终端向发送方终端IP地址的网络探测端口发送探测消息,检测在通过上述方式连接时的网络带宽;
在双方终端均开启蓝牙的情况下,由接收方终端向发送方终端的蓝牙MAC地址发送探测消息,判断可否成功地关联双方的蓝牙并检测通过蓝牙进行连接的网络带宽。
上述实施例通过选择带宽最大的方式进行连接,以达到优化文件传输的速率、加快传输文件的过程的效果。
考虑到对于不同的用户而言,存在对通信方式的偏好,例如采用公有WiFi的方式进行连接并不产生额外的费用,而利用2G、3G、4G的方式往往会产生流量的使用费,对此,本发明还提供了另一种实施方式。
根据本发明的另一个实施例,针对不同的连接方式设置优先级,例如连接WiFi>蓝牙连接>互联网连接。所述优先级,可以是预定的,也可以由用户根据偏好进行设置。图3示出了采用优先级进行连接的一个示例。参考图3,在建立连接时,可以选择优先级最高的通信方式进行连接,若连接失败,则尝试采用优先级较低的通信方式进行连接,直至连接成功。
如前文所述,对于移动通讯而言,通信的网络环境不是一成不变的,在建立连接时所选取的通信方式极有可能无法一直保持高质量的通信效果。因而,在随后的步骤中,需要适应于通信状况的变化,调整所采用的通信方式。
S5:在双方终端建立连接后,对文件传输的速率进行监视:
根据本发明的一个实施例,当出现数据传输速率过低(例如低于设定的阈值)或传输中断(即传输速率接近0)的情况,则认为需要调整所采用的通信方式。例如,可以周期性地探测当前传输速率,并判断当前传输速率是否低于所设定的阈值。
由于文件传输往往是一个连续的过程,因此对于上述通信状况不佳的情况,需要根据文件传输的速率判断是需要重传还是续传。本发明中可以利用任意现有技术根据文件传输速率判断需要重传还是续传。
S6:根据文件传输的速率,切换所采用的通信方式:
根据本发明的一个实施例,在传输速率低于设定的阈值时,或者接收方或发送方终端的网络状况发生了变化时,接收方终端可以根据双方最新的网络状况信息,重新探测各种通信方式的带宽。根据探测的结果,选择带宽最大的一种通信方式,与所述发送方终端建立连接,并对文件进行续传或重传。通过定时监测发送方终端的网络状况信息,能够及时地选择最优的通信方式进行传输。
对于在之前的步骤中将发送方终端的网络状况信息发送至指定服务器的情况(例如每间隔一段时间,上传最新的网络状况信息),在传输中断时或每间隔一段时间,还可以由接收方终端向该指定服务器发出请求,以获取最后更新的发送方终端的网络状况信息。并根据更新后的信息,重新选择通信方式以对文件进行续传或重传。
并且,本发明还可以将上述两种切换方式结合起来。例如,在双方终端均能连接至指定服务器时,定期向该指定服务器上传其最新的网络状况信息。当传输速率低于设定的阈值或中断或每间隔一段时间接收方终端向发送方终端发送获取其最新网络状况信息的请求,若超过一设定的时间长度后仍未获得响应,则由接收方终端向指定服务器发送请求以获取最后更新的发送方终端的网络状况信息。
对于传输中断的情况,在本发明中还可以采用更简单的切换方式。
根据本发明的另一个实施例,在传输中断时,尝试切换至其他通信方式。在成功建立连接后,对文件进行续传或重传。
通过本发明的上述步骤S1-S6,可以快速、便捷地通过分享网络状况信息,来确定双方终端所支持的各种通信方式,以建立连接,当传输速率过低或传输中断时或者出现了更优的通信方式时,可以自动地在各种通信方式中进行选择性地切换,以适应于通信状况的变化。
本发明还提供了一种与上述方法相对应的装置。
图4示出了根据本发明的一个实施例的装置模块示意图。该装置包括:文件选择模块400、网络检测模块401、二维码生成模块402、二维码显示模块403、二维码获取模块404、二维码解析模块405、连接路径选取模块406、连接建立模块407及文件传输模块408。其中,
文件选择模块400用于选中待传输的文件;
网络检测模块401用于检测终端设备的网络情况,获取网络连接状态以及连接属性;
二维码生成模块402用于根据终端设备的网络状态、连接属性以及待传输文件的信息生成二维码;
二维码显示模块403用于把生成的二维码显示在终端设备的屏幕上;
二维码获取模块404用于拍摄二维码,或者从终端设备的相册中获取二维码;
二维码解析模块405用于解析获取到的二维码,获得其中包含的终端设备的网络状态、连接属性以及待传输文件的信息;
连接路径选取模块406用于根据二维码中包含的发送方网络状态、连接属性,以及接收方终端设备的网络情况,择优选择合适的传输路径;
连接建立模块407用于在终端设备之间建立连接;
文件传输模块408用于在终端设备之间传输文件。
基于上述实施例可以看出,本发明能够在文件传输过程中,适应于不断变化的环境、通信状况,自动地调整用于传输文件的通信方式。并且,通过利用二维码的方式来传输所述网络状况信息,使得收发双方的终端用户能够方便、快捷地进行文件传输。还可以通过监视双方终端的网络状况信息,在出现更优的连接方式时,自动地调整用于传输文件的通信方式。
最后所应说明的是,以上仅用以说明本发明的技术方案而非限制。例如,在前述实施例中由接收方终端获取发送方终端的网络状况信息,应当理解本发明还可以由发送方终端获取接收方终端的网络状况信息以确定所支持的在双方终端间进行文件传输的各种通信方式,并继而适应于通信状况选择恰当的通信方式。又例如,本发明在上述实施例中以传输文件为例详细介绍了根据本发明的方法,然而应当理解还可以利用本发明的方法在移动终端间传输诸如视频流的流数据。
尽管对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。