一种上传网络数据的方法和装置的制造方法

文档序号:9670848阅读:384来源:国知局
一种上传网络数据的方法和装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别涉及一种上传网络数据的方法和装置。
【背景技术】
[0002]目前,大部分终端都具有接入网络的功能,当终端接入到网络时,终端可以向服务器上传网络数据。服务器保存该终端上传的网络数据,网络中的除该终端之外的其他终端可以从服务器下载该网络数据,从而实现网络数据的共享。例如,终端可以向服务器上传一段视频,服务器保存该视频,网络中的除该终端之外的其他终端可以从服务器下载该视频,从而实现视频的共享。
[0003]现有技术中提供了一种上传网络数据的方法,可以为:终端获取待上传的网络数据,如果当前接入的网络为Wifi (wireless fidelity,无线保真)网络时,终端将该待上传的网络数据封装为一个HTTP (Hypertext transfer protocol,超文本传输协议)请求,向服务器发送该HTTP请求;如果当前接入的网络为GPRS (General Packet Rad1 Service,通用分组无线业务)网络时,根据待上传的网络数据的大小,将网络数据切分为多个数据包,该多个数据包中的每个数据包的大小都不大于128KB ;将每个数据包封装为一个HTTP请求,得到多个HTTP请求,向服务器分别发送多个HTTP请求中的每个HTTP请求。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]如果当前接入的网络为公共场所的Wifi网络,而公共场所的Wifi网络接入的终端数目较多,网络带宽竞争激烈,直接将待上传的网络数据封装为一个HTTP请求,向服务器发送该HTTP请求时容易上传失败。并且,不同地点的不同时段GPRS网络的带宽波动性很大,例如,当前GPRS网络的带宽很大,还是以128KB固定大小的分包上传网络数据,没有充分利用网络带宽,从而导致上传效率低。

【发明内容】

[0006]为了使解决现有技术的问题,本发明提供了一种上传网络数据的方法和装置。技术方案如下:
[0007]—方面,本发明提供了一种上传网络数据的方法,所述方法包括:
[0008]获取待上传的网络数据和终端接入的网络的当前上传速率;
[0009]根据所述当前上传速率,确定上传所述待上传的网络数据的数据包大小;
[0010]根据所述确定的数据包大小,向服务器上传所述待上传的网络数据。
[0011]另一方面,本发明提供了一种上传网络数据的装置,所述装置包括:
[0012]第一获取模块,用于获取待上传的网络数据和终端接入的网络的当前上传速率;
[0013]确定模块,用于根据所述当前上传速率,确定上传所述待上传的网络数据的数据包大小;
[0014]第一上传模块,用于根据所述确定的数据包大小,向服务器上传所述待上传的网络数据。
[0015]在本发明实施例中,根据当前上传速率,确定上传待上传的网络数据的数据包大小;根据确定的数据包大小,向服务器上传待上传的网络数据,从而能够根据当前网络状况确定上传分包大小,提高了上传网络数据的成功率和效率。
【附图说明】
[0016]图1是本发明实施例1提供的一种上传网络数据的方法流程图;
[0017]图2是本发明实施例2提供的一种上传网络数据的方法流程图;
[0018]图3是本发明实施例3提供的一种上传网络数据的装置结构示意图;
[0019]图4是本发明实施例4提供的一种终端的结构示意图。
【具体实施方式】
[0020]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0021]实施例1
[0022]本发明实施例提供了一种上传网络数据的方法,该方法的执行主体可以为终端,参见图1,其中,该方法包括:
[0023]步骤101:获取待上传的网络数据和终端接入的网络的当前上传速率;
[0024]步骤102:根据当前上传速率,确定上传待上传的网络数据的数据包大小;
[0025]步骤103:根据确定的数据包大小,向服务器上传待上传的网络数据。
[0026]在本发明实施例中,根据当前上传速率,确定上传待上传的网络数据的数据包大小;根据确定的数据包大小,向服务器上传待上传的网络数据,从而能够根据当前网络状况确定上传分包大小,提高了上传网络数据的成功率和效率。
[0027]实施例2
[0028]本发明实施例提供了一种上传网络数据的方法,该方法的执行主体可以为终端,参见图2,其中,该方法包括:
[0029]步骤201:获取待上传的网络数据和终端接入的网络的当前上传速率;
[0030]当用户想要向服务器上传网络数据时,终端获取待上传的网络数据,该网络数据可以为视频、图片或者首乐等。
[0031]在本发明实施例中,根据终端接入的网络的当前上传速率确定上传网络数据的数据包大小,因此,终端首先通过以下步骤(1)至(4)获取终端接入的网络的当前上传速率,包括:
[0032](1):从预设的数据包大小中选择最小的数据包大小;
[0033]终端事先预设多个数据包大小,在向服务器上传网络数据时,由于不知道终端接入的网络的当前上传速率,为了保证能够成功上传网络数据,在本步骤中从预设的数据包大小中选择最小的数据包大小。
[0034]例如,终端事先预设多个数据包大小分别为32KB、64KB、128KB、512KB和1024KB。终端从预设多个数据包大小中选择最小的数据包为32KB。
[0035](2):从待上传的网络数据中获取数据大小不超过最小的数据包大小的网络数据;
[0036]如果待上传的网络数据的大小不小于最小的数据包大小时,在本步骤中,从待上传的网络数据中获取数据大小等于最小的数据包大小的网络数据;如果待上传的网络数据的大小小于最小的数据包大小时,在本步骤中,直接获取待上传的网络数据。
[0037]例如,用户想向服务器上传一段视频,该视频的大小为1024KB,在本步骤中,从该视频中获取数据大小为32KB的视频。
[0038](3):向服务器上传数据大小不超过最小的数据包大小的网络数据,获取上传时间;
[0039]终端将数据大小不超过最小的数据包大小的网络数据封装为一个HTTP请求,向服务器发送该HTTP请求,记录发送时间;服务器接收终端发送的该HTTP请求,向终端返回成功响应,该成功响应用于指示该HTTP请求上传成功;终端接收服务器返回的成功响应,记录接收时间;根据发送时间和接收时间,计算上传时间。
[0040]例如,终端将32KB的视频封装为一个HTTP请求,向服务器发送该HTTP请求,记录发送时间为10:00:05am ;服务器接收终端发送的该HTTP请求,向终端返回成功响应,终端接收服务器发送的成功响应,记录接收时间为10:00:07am。根据发送时间10:00:05am和接收时间10:00:07am,计算上传时间为2s。
[0041](4):根据最小的数据包大小和上传时间,计算终端接入的网络的当前上传速率。
[0042]具体地,计算最小的数据包大小和上传时间的比值,将该比值作为终端接入的网络的当前上传速率。
[0043]例如,最小的数据包大小为32KB,上传时间为2S,则终端接入的网络的当前上传速率为16KB/S。
[0044]步骤202:根据当前上传速率,确定上传待上传的网络数据的数据包大小;
[0045]步骤202可以通过以下步骤(1)和(2)实现,包括:
[0046](1):根据当前上传速率,确定当前上传速率所在的上传速率范围;
[0047]在本步骤之前,终端事先设置多个上传速率范围,根据当前上传速率和设置的多个上传速率范围,确定当前上传速率所在的上传速率范围。
[0048]例如,终端事先设置五个上传速率范围,第一上传速率范围为:上传速率〈4KB/S ;第二上传速率范围为:4KB/S = <上传速率〈15KB/S ;第三上传速率范围为:15KB/S =〈上传速率〈120KB/S ;第四上传速率范围为:120KB/S =〈上传速率〈250KB/S ;第五上传速率范围为:上传速率> =250KB/S。终端接入的网络的当前上传速率为16KB/S,确定当前上传速率所在的上传速率范围为第三上传速率范围。
[0049]进一步地,终端将上传速率在第一上传速率范围的网络确定为非常差的网络,将上传速率在第二上传速率范围的网络确定为2G(2rd Generat1n,第二代移动通信)的网络,将上传速率在第三上传速率范围的网络确定为3G(3rd Generat1n,第三代移动通信)的网络;将上传速率在第四上传速率范围的网络确定为4G(4d Generat1n,第四代移动通信)的网络,将上传速率在第五上传速率范围的网络确定为Wifi网络。
[0050](2):根据确定的上传速率范围,从上传速率范围和预设的数据包大小的对应关系中获取上传待上传的网络数据的数据包大小。
[0051]在本步骤之前,终端存储上传速率范围和预设的数据大小的对应关系;在本步骤中,根据确定的上传速率范围,从上传速率范围和预设的数据包大小的对应关系中获取上传待上传的网络数据的数据包大小。
[0052]例如,终端规定的第一上传速率范围对应的数据包大小为32KB ;第二上传速率范围对应
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1