一种文件的传输方法和装置制造方法

文档序号:8000087阅读:154来源:国知局
一种文件的传输方法和装置制造方法
【专利摘要】本发明适用于信息处理领域,提供了一种文件的传输方法和装置,所述方法包括:检测移动终端连接的网络类型;根据所述网络类型以及在前传输的数据分片的传输情况确定在后的每个数据分片的大小,并按照确定的每个数据分片的大小对待传输文件进行分片传输。本发明可以根据移动终端连接的网络类型动态的调整文件传输过程中每个数据分片的大小,使文件传输可自适应于不同类型的网络,充分利用每种类型的网络资源来进行文件传输,提高文件传输的成功率和效率。
【专利说明】一种文件的传输方法和装置

【技术领域】
[0001]本发明属于信息处理领域,尤其涉及一种文件的传输方法和装置。

【背景技术】
[0002]随着智能操作系统在移动终端中的应用,移动终端可以为用户提供越来越多的功能应用,给用户的工作和生活带来了极大的便利。如通过移动终端进行文件传输的应用已越来越广泛。
[0003]现有技术在通过移动终端进行文件传输时,有两种方式,一种是不对待传输文件进行分片处理,将整个待传输文件封装到一个上层数据包中进行传输,这种方式在待传输文件较大时,文件传输失败率高,由此带来的传输代价以及重传代价都比较高。另一种是将待传输文件分为固定大小的数据分片,并将每个数据分片封装成一个上层数据包,以对待传输文件进行分片传输,这种方式虽然可以一定程度上提高文件传输的成功率,但固定大小的数据分片将造成带宽较大的网络的带宽资源,由此将降低文件传输速度和效率。


【发明内容】

[0004]本发明实施例提供一种文件的传输方法,旨在解决现有的文件传输方法存在的文件传输失败率高、网络资源利用不充分的问题。
[0005]一方面,提供一种文件的传输方法,所述方法包括:
[0006]检测移动终端连接的网络类型;
[0007]根据所述网络类型以及在前传输的数据分片的传输情况确定在后的每个数据分片的大小,并按照确定的每个数据分片的大小对待传输文件进行分片传输。
[0008]另一方面,提供一种文件的传输装置,所述装置包括:
[0009]检测单元,用于检测移动终端连接的网络类型;
[0010]分片传输单元,用于根据所述检测单元检测到的网络类型以及在前传输的数据分片的传输情况确定在后的每个数据分片的大小,并按照确定的每个数据分片的大小对待传输文件进行分片传输。
[0011]在本发明实施例中,通过根据移动终端连接的网络类型动态的调整文件传输过程中每个数据分片的大小,使文件传输可自适应不同类型的网络,充分利用每种类型的网络资源来进行文件传输,提高文件传输的成功率和效率。

【专利附图】

【附图说明】
[0012]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0013]图1是本发明实施例提供的文件的传输方法的实现流程图;
[0014]图2是本发明实施例提供的将第一数据分片的大小确定为第一初始值或者第二初始值的具体流程图;
[0015]图3是本发明另一实施例提供的将第一数据分片的大小确定为第一初始值或者第二初始值的具体流程图;
[0016]图4是本发明实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积的具体流程图;
[0017]图5是本发明另一实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积的具体流程图;
[0018]图6是本发明实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积的具体流程图;
[0019]图7是本发明另一实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积的具体流程图;
[0020]图8本发明另一实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积的具体流程图;
[0021]图9是本发明另一实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积的具体流程图;
[0022]图10是本发明实施例提供的文件的传输装置的结构框图。

【具体实施方式】
[0023]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024]在本发明实施例中,通过根据移动终端连接的网络类型以及动态的调整文件传输过程中每个数据分片的大小,该数据分片方法可自适应不同类型的网络,充分利用每种类型的网络资源来进行文件传输,提高文件传输的成功率和效率。
[0025]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0026]实施例一
[0027]图1示出了本发明实施例提供的文件的传输方法的实现流程,详述如下:
[0028]S1I,检测移动终端连接的网络类型。
[0029]其中移动终端可连接的网络类型包括但不限于W1-Fi网络,移动网络等。其中移动网络包括但不限于第二代移动通信网络(Second Generat1n, 2G)、通用分组无线网络(General Packet Rad1 Service, GPRS)、第三代移动通信网络(Third-generat1n, 3G)
坐寸ο
[0030]在移动终端需要进行文件传输时,检测移动终端当前所连接的网络的类型。
[0031]S102,根据网络类型以及在前传输的数据分片的传输情况确定在后的每个数据分片的大小,并按照确定的每个数据分片的大小对待传输文件进行分片传输。其中在前传输的数据分片是指在当前待传输的数据分片之前已经传输的数据分片。该在前传输的数据分片可以为在当前待传输的数据分片之前已经传输的所有数据分片或者部分数据分片。其中在前传输的数据分片的传输情况包括但不限于在前传输的数据分片的大小和传输速度。
[0032]其中,根据网络类型以及在前传输的数据分片的传输情况确定在后的每个数据分片的大小,并按照确定的每个数据分片的大小对待传输文件进行分片传输的具体过程如下:
[0033]Al,当网络类型为W1-Fi网络时,将第一数据分片的大小确定为第一初始值,当网络类型为其他网络时,将第一数据分片的大小确定为第二初始值。
[0034]其中第一初始值是指W1-Fi初始分片大小。该W1-Fi初始分片大小是根据W1-Fi网络的数据传输能力配置的数据分片的初始大小。第二初始值是指根据无线广域网(Wireless Wide Area Network, WWAN)初始分片大小。该WffAN初始分片大小是根据其他网络的数据传输能力配置的数据分片的初始大小。本实施例通过根据移动终端连接的网络类型的不同,设置不同大小的第一数据分片,从而使得数据分片可以更好的适用于不同网络类型。
[0035]其中将第一数据分片的大小确定为第一初始值或者第二初始值的具体过程如图2、3所示,在此不再赘述。
[0036]A2,根据确定的第一数据分片的大小从待传输文件中获取第一数据分片并传输。
[0037]具体的,从待传输文件中获取确定的第一数据分片的大小的第一数据分片,并传输该第一数据分片。
[0038]A3,当网络类型为W1-Fi网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积,当网络类型为其他网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积。
[0039]其中第一增长倍数是指W1-Fi网络中后一数据分片在前一数据分片的基础上可增长的倍数,该第一增长倍数为大于I的正数。
[0040]第二增长倍数为快启动增长倍数或者慢启动增长倍数。其中快启动增长倍数是指当移动终端连接至其他网络、且文件传输状态处于快启动状态时,后一数据分片在前一数据分片的基础上可增长的倍数,该快启动增长倍数为大于I的正数。慢启动增长倍数是指当移动终端连接至其他网络、且文件传输状态处于慢启动状态时,后一数据分片在前一数据分片的基础上可增长的倍数,该慢启动增长倍数为大于I的正数,且慢启动增长倍数小于快启动增长倍数。
[0041]当移动终端连接至其他网络时,为了更好的利用其他网络的带宽,同时提高文件传输的成功率、文件传输的速度和效率,在本实施例中,将文件传输状态分为快启动状态、稳定状态、慢启动状态。其中快启动状态、稳定状态以及慢启动状态是相对的。具体的,快启动状态是指数据分片的大小快速上升的阶段。稳定状态是指数据分片的大小保持稳定的阶段。慢启动状态是指数据分片的大小慢速上升的阶段。在准备进行文件传输(如接收到文件传输请求等)时,一般将文件传输的初始状态设置为快启动状态。
[0042]其中当网络类型为W1-Fi网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积的具体过程如图4、5所示,在此不再赘述。
[0043]当网络类型为其他网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积的具体过程如图6至9所示,在此不再赘述。
[0044]A4,根据确定的第N数据分片的大小从待传输文件中获取第N数据分片并传输。其中N为大于或者等于2的自然数。
[0045]具体的,在确定第二数据分片的大小后,按照确定的第二数据分片的大小从待传输文件中获取第二数据分片并传输,在确定第三数据分片的大小后,按照确定的第三数据分片的大小从待传输文件中获取第三数据分片并传输,以此类推,直到将待传输文件传输完毕。
[0046]在本实施例中,由于W1-Fi网络和移动网络存在较大的区别,如W1-Fi网络和移动网络的网络带宽相差较大,W1-Fi网络和移动网络的计费方式也不相同,W1-Fi网络和移动网络的信号稳定性也差别较大,因此,本发明实施例是通过根据移动终端连接的网络类型动态的调整文件传输过程中每个数据分片的大小,从而可以更充分的利用网络资源进行文件传输,提高文件传输的成功率和效率。
[0047]实施例二
[0048]图2示出了本发明实施例提供的将第一数据分片的大小确定为第一初始值或者第二初始值的具体过程,详述如下:
[0049]S201,判断移动终端连接的网络类型是否为W1-Fi网络,如果是,跳转至S202,否贝丨J,跳转至S203。
[0050]S202,将第一数据分片的大小S1确定为第一初始值。
[0051]S203,将第一数据分片的大小S1确定为第二初始值。
[0052]S204,判断待传输文件的总大小是否小于小数据传输阈值,如果是,跳转至S205,否则第一数据分片的大小S1确定过程结束。
[0053]S205,在网络类型为W1-Fi网络时,将第一数据分片的大小调整为第一初始值与小数据增长倍数的乘积,在网络类型为其他网络时,将第一数据分片的大小调整为第二初始值与小数据增长倍数的乘积。
[0054]在本实施例中,当待传输文件的总大小较小,如小于小数据传输阈值时,可以通过将第一数据分片的大小设置的较大,从而增大每个数据分片的大小,以更好的利用网络资源来加快数据的传输速度和效率,提高文件传输的成功率。
[0055]实施例三
[0056]图3示出了本发明另一实施例提供的将第一数据分片的大小确定为第一初始值或者第二初始值的具体过程,详述如下:
[0057]S301,判断移动终端连接的网络类型是否为W1-Fi网络,如果是,跳转至S302,否贝丨J,跳转至S303。
[0058]S302,将第一数据分片的大小S1确定为第一初始值。
[0059]S303,将第一数据分片的大小S1确定为第二初始值。
[0060]S304,判断待传输文件的总大小是否小于小数据传输阈值,如果是,跳转至S305,否则,跳转至S306。
[0061]S305,在网络类型为W1-Fi网络时,将第一数据分片的大小调整为第一初始值与小数据增长倍数的乘积,在网络类型为其他网络时,将第一数据分片的大小调整为第二初始值与小数据增长倍数的乘积,并继续执行S306。
[0062]S306,判断待传输文件的剩余大小是否小于第一数据分片的大小的一半(SPS/2),如果是,跳转至S307,否则第一数据分片的大小S1确定过程结束。
[0063]S307,将第一数据分片的大小S1进一步调整为待传输文件的总大小,第一数据分片的大小S1确定过程结束。
[0064]实施例四
[0065]图4示出了本发明实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积的具体过程,详述如下:
[0066]S401,根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小Sim和传输速度Vim、以及第N-2数据分片的大小SN_2和传输速度VN_2,获取第N数据分片的归一化斜率 slope。
[0067]第N数据分片的归一化斜率反映了在传输第N数据分片前网络的通畅情况,通过第一数据分片的大小和传输速度、第N-1数据分片的大小Sh和传输速度VN_p以及第N-2数据分片的大小SN_2和传输速度VN_2,来获取第N数据分片的归一化斜率slope,从而可以根据第一数据分片、第N-1数据分片和第N-2数据分片的传输情况预测第N数据分片的大小。
[0068]其中根据第一数据分片的大小和传输速度、第N-1数据分片的大小Sim和传输速度VN_1、以及第N-2数据分片的大小SN_2和传输速度VN_2,获取第N数据分片的归一化斜率slope的具体过程如下:
[0069]slope= [ (Vn^1-VN_2) /V1] / [ (SN_「SN_2) /S1]
[0070]在本实施例中,在获取第二数据分片(此时N为2)的归一化斜率时,由于第N_2(此时N为O)数据分片不存在,因此,可以为第二数据分片预设一第一初始归一化斜率。
[0071]S402,判断第N数据分片的归一化斜率slope是否大于第一斜率阈值,如果是,跳转至S403,否则,跳转至S404。
[0072]该第一斜率阈值表示在W1-Fi网络中可在前一分片的基础上增大数据分片的最小斜率值,当第N数据分片的归一化斜率小于该第一斜率阈值时,表示当前W1-Fi网络的畅通情况不好,增加第N数据分片的大小可能导致网络资源紧张、数据分片传输失败。
[0073]在本实施例中,在为第二数据分片预设第一初始归一化斜率时,一般将第一初始归一化斜率设置为大于第一斜率阈值,使确定的第二数据分片为第一数据分片与第一增长倍数的乘积,从而使得第二数据分片的大小在第一数据分片的大小的基础上增大第一增长倍数。
[0074]S403,将第N数据分片的大小确定为第N-1数据分片的大小与第一增长倍数的乘积。
[0075]S404,将第N数据分片的大小确定为第N_1数据分片的大小。
[0076]在本实施例中,通过根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小SN_i和传输速度VN_1、以及第N-2数据分片的大小SN_2和传输速度VN_2,来获取第N数据分片的归一化斜率slope,从而使确定的第N数据分片的大小可以充分利用网络资源,提高第N数据分片的传输成功率和效率。
[0077]实施例五
[0078]图5示出了本发明另一实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积的具体过程,详述如下:
[0079]S501,根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小S1^1和传输速度Vim、以及第N-2数据分片的大小SN_2和传输速度VN_2,获取第N数据分片的归一化斜率slope。其具体过程同上,在此不再赘述。
[0080]S502,判断第N数据分片的归一化斜率slope是否大于第一斜率阈值,如果是,跳转至S503,否则,跳转至S504。
[0081]S503,将第N数据分片的大小确定为第N-1数据分片的大小与第一增长倍数的乘积,并跳转至S505。
[0082]S504,将第N数据分片的大小确定为第N_1数据分片的大小,并跳转至S505。
[0083]S505,判断待传输文件的剩余大小是否小于第N数据分片的大小的一半(即Sn/2),如果是,跳转至S506,否则第N数据分片的大小Sn确定过程结束。
[0084]S506,将第N数据分片的大小SjM整为待传输文件的剩余大小,第N数据分片的大小Sn确定过程结束。
[0085]在本实施例中,当待传输文件的剩余大小小于Sn/2,则将待传输文件的剩余大小作为一个数据分片进行传输,从而减少了数据分片的数量,一定程度上节省了文件传输耗费的资源。
[0086]实施例六
[0087]图6示出了本发明实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积的具体过程,详述如下:
[0088]S601,获取文件传输状态,并判断文件传输状态是否为稳定状态,如果是,跳转至S610,否则,跳转至S602。
[0089]S602,根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小Sim和传输速度Vim、以及第N-2数据分片的大小SN_2和传输速度VN_2,获取第N数据分片的归一化斜率 slope。
[0090]其中根据第一数据分片的大小和传输速度、第N-1数据分片的大小Sim和传输速度VN_1、以及第N-2数据分片的大小SN_2和传输速度\-2,获取第N数据分片的归一化斜率slope的具体过程如下:
[0091 ] slope= [ (VN-「VN-2) /V1] / [ (SN_「SN_2) /S1]
[0092]在本实施例中,在获取第二数据分片(此时N为2)的归一化斜率时,由于第N_2(此时N为0)数据分片不存在,因此,可以为第二数据分片预设一第二初始归一化斜率。该第二初始归一化斜率与前述的第一初始归一化斜率可以相同或者不同,一般情况下,该第二初始归一化斜率与前述的第一初始归一化斜率相同或者不同。
[0093]S603,判断文件传输状态是否为快启动状态,如果是,跳转至S604,否则,跳转至S607。
[0094]S604,判断第N数据分片的归一化斜率slope是否大于第二斜率阈值,如果是,跳转至S605,否则,跳转至S606。
[0095]该第二斜率阈值表示在其他网络中文件传输状态为快启动状态时,可在前一分片的基础上增大数据分片的最小斜率值,当第N数据分片的归一化斜率小于该第二斜率阈值时,表示当前其他网络的畅通情况不好,增加第N数据分片的大小可能导致网络资源紧张、数据分片传输失败。其中第二斜率阈值与第一斜率阈值可以相同或者不同。
[0096]在本实施例中,在为第二数据分片预设第二初始归一化斜率时,一般将第二初始归一化斜率设置为大于第二斜率阈值,使确定的第二数据分片为第一数据分片与第二增长倍数的乘积,从而使得第二数据分片的大小在第一数据分片的大小的基础上增大第二增长倍数。
[0097]S605,将第N数据分片的大小Sn确定为第N_1数据分片的大小与快启动增长倍数的乘积,第N数据分片的大小确定过程结束。
[0098]S606,将第N数据分片的大小Sn确定为第N_1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为慢启动状态,第N数据分片的大小确定过程结束。
[0099]S607,判断第N数据分片的归一化斜率slope是否大于第三斜率阈值,如果是,跳转至S608,否则,跳转至S609。
[0100]该第三斜率阈值表示在其他网络中文件传输状态为慢启动状态时,可在前一分片的基础上增大数据分片的最小斜率值,当第N数据分片的归一化斜率小于该第三斜率阈值时,表示当前其他网络的畅通情况不好,增加第N数据分片的大小可能导致网络资源紧张、数据分片传输失败。其中第三斜率阈值、第二斜率阈值、第一斜率阈值三者可以相同或者不同。
[0101]在本实施例中,在为第二数据分片预设第二初始归一化斜率时,一般将第二初始归一化斜率设置为大于第二斜率阈值同时大于第三斜率阈值,使确定的第二数据分片为第一数据分片与第二增长倍数的乘积,从而使得第二数据分片的大小在第一数据分片的大小的基础上增大第二增长倍数。
[0102]S608,将第N数据分片的大小Sn确定为第N_1数据分片的大小与慢启动增长倍数的乘积,第N数据分片的大小确定过程结束。
[0103]S609,将第N数据分片的大小Sn确定为第N_1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为稳定状态,第N数据分片的大小确定过程结束。
[0104]S610,将第N数据分片的大小确定为第N-1数据分片的大小。
[0105]在本实施例中,当移动终端连接的网络为除W1-Fi网络以外的其他网络时,通过根据文件传输状态来动态调整数据分片的大小,从而当移动终端连接的网络为除W1-Fi网络以外的其他网络,如移动网络时,可以充分利用该网络的带宽实现文件传输,以利用最少的资源提高文件传输的成功率。
[0106]实施例七
[0107]图7示出了本发明另一实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积的具体过程,其中S701至S709分别与图6中的S601至S609相同,不同之处在于:
[0108]S710,获取第N-1数据分片的传输速度与第N-2数据分片的传输速度之间的浮动值,并判断该浮动值是否超过浮动阈值,如果是,跳转至S711,否则,跳转至S712。
[0109]其中第N-1数据分片的传输速度与第N-2数据分片的传输速度之间的浮动值代表了移动终端连接的除W1-Fi网络以外的其他网络的稳定状态。当该浮动值较大时,表示移动终端连接的网络有较大的波动,否则表示移动终端连接的网络相对较稳定。
[0110]S711,将第N数据分片的大小确定为第一数据分片的大小,同时将文件传输状态调整为快启动状态。
[0111]S712,将第N数据分片的大小确定为第N-1数据分片的大小。
[0112]在本实施例中,当第N-1数据分片的传输速度与第N-2数据分片的传输速度之间的浮动值超过浮动阈值时,表示移动终端连接的网络有较大的波动,此时,通过将第N数据分片的大小重新设置为第一数据分片的大小,使得后续的数据分片重新从第一数据分片开始保持不变或者增长,从而可以随着网络的波动来调整数据分片的大小,使得该数据传输方法的自适应性更强。
[0113]实施例八
[0114]图8示出了本发明另一实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积的具体过程,其中S801至S809分别与图6中的S601至S609相同,不同之处在于:
[0115]S810,获取第N-1数据分片的传输速度与第N-2数据分片的传输速度之间的浮动值,并判断该浮动值是否超过浮动阈值,如果是,跳转至S811,否则,跳转至S813。
[0116]S811,将波动次数加1,并判断波动次数是否达到波动次数阈值,如果是,跳转至S812,否则,跳转至S813。
[0117]S812,将第N数据分片的大小确定为第一数据分片的大小,同时将文件传输状态调整为快启动状态,第N数据分片的大小确定过程结束。
[0118]S813,将第N数据分片的大小确定为第N-1数据分片的大小,第N数据分片的大小确定过程结束。
[0119]在本实施例中,当第N-1数据分片的传输速度与第N-2数据分片的传输速度的浮动值连续预设次超过浮动阈值时,将第N数据分片的大小重新设置为第一数据分片的大小,从而使得对网络状态的判断更为准确和客观,进一步增强了该数据传输方法的网络自适应性。
[0120]实施例九
[0121]图9示出了本发明另一实施例提供的将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积的具体过程,详述如下:
[0122]S901,判断文件传输状态是否为稳定状态,如果是,跳转至S910,否则,跳转至S902。
[0123]S902,根据第一数据分片的大小S1和传输速度V1、第N_1数据分片的大小S1^1和传输速度Vim、以及第N-2数据分片的大小SN_2和传输速度VN_2,获取第N数据分片的归一化斜率 slope。
[0124]S903,判断文件传输状态是否为快启动状态,如果是,跳转至S904,否则,跳转至S907。
[0125]S904,判断第N数据分片的归一化斜率slope是否大于第二斜率阈值,如果是,跳转至S905,否则,跳转至S906。
[0126]S905,将第N数据分片的大小Sn确定为第N_1数据分片的大小与快启动增长倍数的乘积,并跳转至S914。
[0127]S906,将第N数据分片的大小Sn确定为第N_1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为慢启动状态,并跳转至S914。
[0128]S907,判断第N数据分片的归一化斜率slope是否大于第三斜率阈值,如果是,跳转至S908,否则,跳转至S909。
[0129]S908,将第N数据分片的大小Sn确定为第N_1数据分片的大小与慢启动增长倍数的乘积,并跳转至S914。
[0130]S909,将第N数据分片的大小Sn确定为第N_1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为稳定状态,并跳转至S914。
[0131]S910,获取第N-1数据分片的传输速度与第N-2数据分片的传输速度之间的浮动值,并判断该浮动值是否超过浮动阈值,如果是,跳转至S911,否则,跳转至S913。
[0132]S911,将波动次数加1,并判断波动次数是否达到波动次数阈值,如果是,跳转至S912,否则,跳转至S913。
[0133]S912,将第N数据分片的大小确定为第一数据分片的大小,同时将文件传输状态调整为快启动状态,并跳转至S914。
[0134]S913,将第N数据分片的大小确定为第N-1数据分片的大小,并跳转至S914。
[0135]S914,判断待传输文件的剩余大小是否小于第N数据分片的大小的一半(即Sn/2),如果是,跳转至S915,否则第N数据分片的大小Sn确定过程结束。
[0136]S915,将第N数据分片的大小SjM整为待传输文件的剩余大小,第N数据分片的大小Sn确定过程结束。
[0137]实施例十
[0138]在本实施例中,为了进一步提高该文件传输方法自适应性,该方法还包括:
[0139]接收阈值修改请求,根据该阈值修改请求对第一初始值、第二初始值、第一增长倍数、第二增长倍数、小数据传输阈值、小数据增长倍数、第一初始归一化斜率、第二初始归一化斜率、第一斜率阈值、第二斜率阈值、第三斜率阈值、浮动阈值、波动次数阈值中的一个或者多个进行修改。
[0140]实施例H
[0141]图10示出了本发明实施例提供的文件的传输装置的结构,为了便于说明仅示出了与本发明实施例相关的部分。
[0142]该文件的传输装置可以用于便携式设备,例如移动终端、平板电脑、IPAD等,也可以用于计算机设备,可以是运行于这些设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些设备中或者运行于这些设备的应用系统中,其中该文件的传输装置包括检测单元I和分片传输单元2,其中:
[0143]检测单元I用于检测移动终端连接的网络类型。
[0144]其中移动终端可连接的网络类型包括但不限于W1-Fi网络,移动网络等。其中移动网络包括但不限于第二代移动通信网络(Second Generat1n, 2G)、通用分组无线网络(General Packet Rad1 Service, GPRS)、第三代移动通信网络(Third-generat1n, 3G)
坐寸ο
[0145]分片传输单元2用于根据所述检测单元检测到的网络类型以及在前传输的数据分片的传输情况确定在后的每个数据分片的大小,并按照确定的每个数据分片的大小对待传输文件进行分片传输。
[0146]其中在前传输的数据分片是指在当前待传输的数据分片之前已经传输的数据分片。该在前传输的数据分片可以为在当前待传输的数据分片之前已经传输的所有数据分片或者部分数据分片。其中在前传输的数据分片的传输情况包括但不限于在前传输的数据分片的大小和传输速度。
[0147]优选的,该分片传输单元2包括第一分片确定模块21、第一分片传输模块22、第N分片确定模块23和第N分片传输模块24。其中:
[0148]第一分片确定模块21用于在所述网络类型为W1-Fi网络时,将第一数据分片的大小确定为第一初始值,在所述网络类型为其他网络时,将第一数据分片的大小确定为第二初始值。
[0149]第一分片传输模块22用于根据所述第一分片确定模块21确定的第一数据分片的大小从待传输文件中获取第一数据分片并传输。
[0150]第N分片确定模块23用于在所述网络类型为W1-Fi网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积,在所述网络类型为其他网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积。
[0151]第N分片传输模块24用于根据确定的第N数据分片的大小从待传输文件中获取第N数据分片并传输。
[0152]优选的,该分片传输单元2还包括第一调整模块25,用于判断待传输文件的总大小是否小于小数据传输阈值,如果是,在所述网络类型为W1-Fi网络时,将第一数据分片的大小调整为第一初始值与小数据增长倍数的乘积,在所述网络类型为其他网络时,将第一数据分片的大小调整为第二初始值与小数据增长倍数的乘积。
[0153]优选的,该分片传输单元2还包括第二调整模块26,用于判断待传输文件的剩余大小是否小于调整后的第一数据分片的大小的一半,如果是,将所述第一数据分片的大小进一步调整为待传输文件的总大小。
[0154]优选的,该第N分片确定模块23具体包括第一斜率确定组件231和W1-Fi分片确定组件232。其中:
[0155]第一斜率确定组件231用于根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小SN_i和传输速度VN_1、以及第N-2数据分片的大小SN_2和传输速度VN_2,获取第N数据分片的归一化斜率slope。
[0156]其中根据第一数据分片的大小和传输速度、第N-1数据分片的大小Sim和传输速度VN_1、以及第N-2数据分片的大小SN_2和传输速度\_2,获取第N数据分片的归一化斜率slope的具体过程如下:
[0157]slope= [ (Vn^1-VN_2) /V1] / [ (SN_「SN_2) /S1]
[0158]在本实施例中,在获取第二数据分片(此时N为2)的归一化斜率时,由于第N_2(此时N为O)数据分片不存在,因此,可以为第二数据分片预设一第一初始归一化斜率。
[0159]W1-Fi分片确定组件232用于判断所述第一斜率确定组件231获取的第N数据分片的归一化斜率slope是否大于第一斜率阈值,如果是,将第N数据分片的大小确定为第N-1数据分片的大小与第一增长倍数的乘积,否则,将第N数据分片的大小确定为第N-1数据分片的大小。
[0160]优选的,该第N分片确定模块23还包括第一调整组件233,用于判断待传输文件的剩余大小是否小于所述第N数据分片的大小的一半,如果是,将所述第N数据分片的大小调整为待传输文件的剩余大小。
[0161]优选的,该第N分片确定模块23还包括第二斜率确定组件234和快启动分片确定组件235。其中:
[0162]第二斜率确定组件234,用于获取文件传输状态,当所述文件传输状态为快启动状态或者慢启动状态时,根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小Sn^1和传输速度νΝ_ρ以及第N-2数据分片的大小SN_2和传输速度VN_2,获取第N数据分片的归一化斜率slope。
[0163]快启动分片确定组件235,用于在所述文件传输状态为快启动状态时,如果所述第N数据分片的归一化斜率slope大于第二斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小与快启动增长倍数的乘积,如果所述第N数据分片的归一化斜率slope小于或者等于第二斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为慢启动状态。
[0164]优选的,该第N分片确定模块23还包括慢启动分片确定组件236,用于在所述文件传输状态为慢启动状态时,如果所述第N数据分片的归一化斜率slope大于第三斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小与慢启动增长倍数的乘积,如果所述第N数据分片的归一化斜率slope小于或者等于第三斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为稳定状态。
[0165]优选的,该第N分片确定模块23还包括稳定分片确定组件237,用于在所述文件传输状态为稳定状态时,将第N数据分片的大小确定为第N-1数据分片的大小。
[0166]优选的,该稳定分片确定组件237具体用于获取第N-1数据分片的传输速度与第N-2数据分片的传输速度之间的浮动值,并判断所述浮动值是否超过浮动阈值;当所述浮动值超过浮动阈值时,将第N数据分片的大小确定为第一数据分片的大小,同时将文件传输状态调整为快启动状态;当所述浮动值未超过浮动阈值时,执行所述将第N数据分片的大小确定为第N-1数据分片的大小。
[0167]优选的,该稳定分片确定组件237具体还用于在所述浮动值超过浮动阈值时,将波动次数加1,在波动次数达到波动次数阈值时,将第N数据分片的大小确定为第一数据分片的大小,同时将文件传输状态调整为快启动状态。
[0168]优选的,该第N分片确定模块23还包括第二调整组件238,用于判断待传输文件的剩余大小是否小于所述第N数据分片的大小的一半,如果是,将所述第N数据分片的大小调整为待传输文件的剩余大小。
[0169]值得注意的是,上述系统,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0170]本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘、光盘等,该程序用来执行如下步骤:
[0171]在本实施例中,通过根据移动终端连接的网络类型以及动态的调整文件传输过程中每个数据分片的大小,该数据分片方法可自适应不同类型的网络,充分利用每种类型的网络资源来进行文件传输,提高文件传输的成功率和效率。在待传输文件的总大小较小时,通过将第一数据分片的大小设置的较大,从而增大每个数据分片的大小,以更好的利用网络资源来加快数据的传输速度和效率,提高文件传输的成功率。在待传输文件的剩余大小小于S1A或者小于SN/2,则将待传输文件的剩余大小作为一个数据分片进行传输,从而减少了数据分片的数量,一定程度上节省了文件传输耗费的资源。当移动终端连接的网络为除W1-Fi网络以外的其他网络时,通过根据文件传输状态来动态调整数据分片的大小,从而当移动终端连接的网络为除W1-Fi网络以外的其他网络,如移动网络时,可以充分利用该网络的带宽实现文件传输,以利用最少的资源提高文件传输的成功率。
[0172]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种文件的传输方法,其特征在于,所述方法包括: 检测移动终端连接的网络类型; 根据所述网络类型以及在前传输的数据分片的传输情况确定在后的每个数据分片的大小,并按照确定的每个数据分片的大小对待传输文件进行分片传输。
2.如权利要求1所述的方法,其特征在于,所述根据所述网络类型以及在前传输的数据分片的传输情况确定在后的确定每个数据分片的大小,并按照确定的每个数据分片的大小对待传输文件进行分片传输,具体包括: 当所述网络类型为W1-Fi网络时,将第一数据分片的大小确定为第一初始值,当所述网络类型为其他网络时,将第一数据分片的大小确定为第二初始值; 根据确定的第一数据分片的大小从待传输文件中获取第一数据分片并传输; 当所述网络类型为W1-Fi网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积,当所述网络类型为其他网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积; 根据确定的第N数据分片的大小从待传输文件中获取第N数据分片并传输。
3.如权利要求2所述的方法,其特征在于,在所述网络类型为W1-Fi网络时,将第一数据分片的大小确定为第一初始值,当网络类型为其他网络时,将第一数据分片的大小确定为第二初始值之后,所述方法还包括: 判断待传输文件的总大小是否小于小数据传输阈值,如果是,在所述网络类型为W1-Fi网络时,将所述第一数据分片的大小调整为第一初始值与小数据增长倍数的乘积,在所述网络类型为其他网络时,将所述第一数据分片的大小调整为第二初始值与小数据增长倍数的乘积。
4.如权利要求3所述的方法,其特征在于,在所述第一数据分片的大小调整后,所述方法还包括: 判断待传输文件的剩余大小是否小于调整后的第一数据分片的大小的一半,如果是,将所述第一数据分片的大小进一步调整为待传输文件的总大小。
5.如权利要求2所述的方法,其特征在于,所述将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积,具体包括: 根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小Sp1和传输速度VN_1、以及第N-2数据分片的大小SN_2和传输速度\_2,获取第N数据分片的归一化斜率slope ; 判断第N数据分片的归一化斜率slope是否大于第一斜率阈值,如果是,将第N数据分片的大小确定为第N-1数据分片的大小与第一增长倍数的乘积,否则,将第N数据分片的大小确定为第N-1数据分片的大小。
6.如权利要求5所述的方法,其特征在于,在确定所述第N数据分片的大小后,所述方法还包括: 判断待传输文件的剩余大小是否小于所述第N数据分片的大小的一半,如果是,将所述第N数据分片的大小调整为待传输文件的剩余大小。
7.如权利要求2所述的方法,其特征在于,所述当所述网络类型为其他网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积,具体包括: 获取文件传输状态,当所述文件传输状态为快启动状态或者慢启动状态时,根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小Sim和传输速度Vim、以及第N-2数据分片的大小SN_2和传输速度VN_2,获取第N数据分片的归一化斜率slope ; 当所述文件传输状态为快启动状态时,如果所述第N数据分片的归一化斜率slope大于第二斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小与快启动增长倍数的乘积,如果所述第N数据分片的归一化斜率slope小于或者等于第二斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为慢启动状态。
8.如权利要求7所述的方法,其特征在于,所述方法还包括: 当所述文件传输状态为慢启动状态时,如果所述第N数据分片的归一化斜率slope大于第三斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小与慢启动增长倍数的乘积,如果所述第N数据分片的归一化斜率slope小于或者等于第三斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为稳定状态。
9.如权利要求2所述的方法,其特征在于,所述当所述网络类型为其他网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积,具体包括: 当所述文件传输状态为稳定状态时,将第N数据分片的大小确定为第N-1数据分片的大小。
10.如权利要求9所述的方法,其特征在于,在所述将第N数据分片的大小确定为第N-1数据分片的大小之前,所述方法还包括: 获取第N-1数据分片的传输速度与第N-2数据分片的传输速度之间的浮动值,并判断所述浮动值是否超过浮动阈值; 当所述浮动值超过浮动阈值时,将第N数据分片的大小确定为第一数据分片的大小,同时将文件传输状态调整为快启动状态; 当所述浮动值未超过浮动阈值时,执行所述将第N数据分片的大小确定为第N-1数据分片的大小。
11.如权利要求10所述的方法,其特征在于,所述方法还包括: 当所述浮动值超过浮动阈值时,将波动次数加1,在波动次数达到波动次数阈值时,执行所述将第N数据分片的大小确定为第一数据分片的大小,同时将文件传输状态调整为快启动状态。
12.如权利要求7至11任一项所述的方法,其特征在于,在确定所述第N数据分片的大小后,所述方法还包括: 判断待传输文件的剩余大小是否小于所述第N数据分片的大小的一半,如果是,将所述第N数据分片的大小调整为待传输文件的剩余大小。
13.一种文件的传输装置,其特征在于,所述装置包括: 检测单元,用于检测移动终端连接的网络类型; 分片传输单元,用于根据所述检测单元检测到的网络类型以及在前传输的数据分片的传输情况确定在后的每个数据分片的大小,并按照确定的每个数据分片的大小对待传输文件进行分片传输。
14.如权利要求13所述的装置,其特征在于,所述分片传输单元包括: 第一分片确定模块,用于在所述网络类型为W1-Fi网络时,将第一数据分片的大小确定为第一初始值,在所述网络类型为其他网络时,将第一数据分片的大小确定为第二初始值; 第一分片传输模块,用于根据所述第一分片确定模块确定的第一数据分片的大小从待传输文件中获取第一数据分片并传输; 第N分片确定模块,用于在所述网络类型为W1-Fi网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第一增长倍数的乘积,在所述网络类型为其他网络时,将第N数据分片的大小确定为第N-1数据分片的大小或者第N-1数据分片的大小与第二增长倍数的乘积; 第N分片传输模块,用于根据确定的第N数据分片的大小从待传输文件中获取第N数据分片并传输。
15.如权利要求14所述的装置,其特征在于,所述分片传输单元还包括: 第一调整模块,用于判断待传输文件的总大小是否小于小数据传输阈值,如果是,在所述网络类型为W1-Fi网络时,将第一数据分片的大小调整为第一初始值与小数据增长倍数的乘积,在所述网络类型为其他网络时,将第一数据分片的大小调整为第二初始值与小数据增长倍数的乘积。
16.如权利要求15所述的装置,其特征在于,所述分片传输单元还包括: 第二调整模块,用于判断待传输文件的剩余大小是否小于调整后的第一数据分片的大小的一半,如果是,将所述第一数据分片的大小进一步调整为待传输文件的总大小。
17.如权利要求14所述的装置,其特征在于,所述第N分片确定模块具体包括: 第一斜率确定组件,用于根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小Sim和传输速度Vim、以及第N-2数据分片的大小SN_2和传输速度VN_2,获取第N数据分片的归一化斜率slope ; W1-Fi分片确定组件,用于判断所述第一斜率确定组件获取的第N数据分片的归一化斜率slope是否大于第一斜率阈值,如果是,将第N数据分片的大小确定为第N-1数据分片的大小与第一增长倍数的乘积,否则,将第N数据分片的大小确定为第N-1数据分片的大小。
18.如权利要求17所述的装置,其特征在于,所述第N分片确定模块还包括: 第一调整组件,用于判断待传输文件的剩余大小是否小于所述第N数据分片的大小的一半,如果是,将所述第N数据分片的大小调整为待传输文件的剩余大小。
19.如权利要求14所述的装置,其特征在于,所述第N分片确定模块还包括: 第二斜率确定组件,用于获取文件传输状态,当所述文件传输状态为快启动状态或者慢启动状态时,根据第一数据分片的大小S1和传输速度V1、第N-1数据分片的大小Sim和传输速度Vim、以及第N-2数据分片的大小SN_2和传输速度\_2,获取第N数据分片的归一化斜率 slope ; 快启动分片确定组件,用于在所述文件传输状态为快启动状态时,如果所述第N数据分片的归一化斜率slope大于第二斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小与快启动增长倍数的乘积,如果所述第N数据分片的归一化斜率slope小于或者等于第二斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为慢启动状态。
20.如权利要求19所述的装置,其特征在于,所述第N分片确定模块还包括: 慢启动分片确定组件,用于在所述文件传输状态为慢启动状态时,如果所述第N数据分片的归一化斜率slope大于第三斜率阈值,将第N数据分片的大小Sn确定为第N-1数据分片的大小与慢启动增长倍数的乘积,如果所述第N数据分片的归一化斜率slope小于或者等于第三斜率阈值,将第N数据分片的大小3,确定为第N-1数据分片的大小,并在第N数据分片的大小连续预设次为第N-1数据分片的大小时,将文件传输状态调整为稳定状态。
21.如权利要求14所述的装置,其特征在于,所述第N分片确定模块还包括: 稳定分片确定组件,用于在所述文件传输状态为稳定状态时,将第N数据分片的大小确定为第N-1数据分片的大小。
22.如权利要求21所述的装置,其特征在于, 所述稳定分片确定组件具体用于获取第N-1数据分片的传输速度与第N-2数据分片的传输速度之间的浮动值,并判断所述浮动值是否超过浮动阈值; 当所述浮动值超过浮动阈值时,将第N数据分片的大小确定为第一数据分片的大小,同时将文件传输状态调整为快启动状态; 当所述浮动值未超过浮动阈值时,执行所述将第N数据分片的大小确定为第N-1数据分片的大小。
23.如权利要求22所述的装置,其特征在于, 所述稳定分片确定组件具体还用于在所述浮动值超过浮动阈值时,将波动次数加1,在波动次数达到波动次数阈值时,将第N数据分片的大小确定为第一数据分片的大小,同时将文件传输状态调整为快启动状态。
24.如权利要求19至23任一项所述的装置,其特征在于,所述第N分片确定模块还包括: 第二调整组件,用于判断待传输文件的剩余大小是否小于所述第N数据分片的大小的一半,如果是,将所述第N数据分片的大小调整为待传输文件的剩余大小。
【文档编号】H04W28/16GK104185216SQ201310204309
【公开日】2014年12月3日 申请日期:2013年5月28日 优先权日:2013年5月28日
【发明者】廖海珍, 廖志 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1